OpenStack
文章平均质量分 86
tina_sprunt
云前端
展开
-
openstack虚拟机热迁移优化如何治本?
楼主经过把 openstack 各个版本的热迁移代码花式折腾之后发现,对于提高迁移成功率,openstack 本身能做的真的不多,本质上还是因为 openstack 是个上层建筑,受到底层的内存拷贝机制以及网络的限制。但是既然任务是优化那也只好想办法了。参考文档:QEMU Multifd迁移原理云原生&虚拟化峰会电信云qemu live migration优化Qemu 热迁移特性——Multifdqemu对虚拟机的内存管理前言看这个之前需要了解openstack、libvirt、qe原创 2021-09-13 14:59:02 · 1582 阅读 · 0 评论 -
openstack冷迁移/Resize源码分析(二)
执行冷迁移/Resize还在同一个py文件,因为当前文件就是nova/compute/manager.py @wrap_exception() @reverts_task_state @wrap_instance_event(prefix='compute') @wrap_instance_fault def resize_instance(self, context, instance, image, migrati原创 2021-07-21 10:13:46 · 661 阅读 · 2 评论 -
openstack 源码阅读技巧2021(持续更新中……)
不要问楼主为什么同样的一篇博客不选更新选重发,问就是CSDN不支持老博客从富文本编辑转到markdown,害!写在开始之前共性问题:怎么读openstack代码这件事,是个持续性问题,毕竟官方半年就出一个新版本。有一些共性的小技巧放在前面说一说()1.从一个特性入手是比较合适的看代码的方式日志可以针对人群本文是为新手准备的,大佬请直接跳过,很多大佬觉得默认知道的事情,实际上对于新手来说比较致命,因为就卡在那些大佬认为简单不愿意写但是很容易混淆或者跟丢的地方1.日志路径 /var/log/原创 2021-07-20 17:59:05 · 772 阅读 · 1 评论 -
openstack冷迁移/Resize源码分析(一)
这篇还在难产中(目前才整理了一半了),回滚那一部分想弄得更细致一点,不出问题的时候万事大吉,出了问题回滚就是救命稻草,所以这部分得特别了解才不虚原创 2021-07-08 17:16:41 · 537 阅读 · 0 评论 -
openstack中的rpc远程调用
nova中rpc调用非常多,用pycharm点点点跟函数的时候遇到rpc就会点不下去了,不解决直接就看不下去了那种多法什么是 RPC在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-原创 2021-07-08 17:08:59 · 362 阅读 · 0 评论 -
openstack虚拟机热迁移优化(victoria版)(附源码分析以及日志分析)
优化目标提高热迁移成功率热迁移认知热迁移是转移内存(或存储)的过程。源主机不断把虚拟机的内存转移到目的主机,直到源主机仅仅省一部分可以一次转移完成的内存未被转移,此时把源主机上的虚拟机暂停,转移掉最后这一部分。其实热迁移并不是业务不中断,只是在迁移的最后时刻,虚拟机会有有短暂挂起,快速完成最后一次内存复制。Hypervisor中挂起虚拟机本质就是改变VCPU的调度,暂时不给虚拟机可用的物理CPU时间片。这个时间大概在50毫秒,对用户业务来说几乎是不感知的热迁移原理分析热迁移步骤Stage 1:原创 2021-06-17 17:32:02 · 2069 阅读 · 3 评论 -
关于是怎么从 openstack 源码阅读跳跃到 python 装饰器的
写在前面:这件奇奇怪怪的事情的一切都从一个函数起,每一个openstack小白必然都经历过这一记锤,虚拟机的创建流程代码串读,没错开局函数就是ta读openstack代码的时候,真切的感受到这python水平还差得远,基础的python教程练完直接看openstack代码,有一种上一秒1+1,下一秒就傅里叶变换的感觉。打基础的功夫还是不能省,反正急也急不去。好了,吐槽完了,先梳理出所涉及的几个基本概念:1.函数中可以定义函数def hi(name="yasoob"): print("now原创 2021-06-02 16:24:23 · 192 阅读 · 3 评论 -
OpenStack学习五 (Neutron)
Neutron笔记一、neutron概述neutron提供以下支持二层交换,支持多种虚拟机交换机三层路由,实现实例的跨网段通信负载均衡,分发负载到多个实例防火墙neutron相关概念neutron支持多种network(隔离的二层广播域),包括local、flat、VLAN、VxLAN、GRElocal,全隔离,local网络中实例只能和同一节点同一网络的其他实例通信falt,部分隔离,只能同网络,但是可以跨节点vlan,同一vlan以内可以通信,不同vlan之间通信需要通过原创 2020-08-20 15:49:00 · 1394 阅读 · 1 评论 -
openstack创建虚拟机源码分析三(Glance下载镜像)
控制节点上可以查看glance的服务glance-registry,负责处理image的metadata...原创 2020-02-24 21:04:46 · 1334 阅读 · 2 评论 -
openstack虚拟机创建快照源码分析超详细(Queen版本)
这是openStack请求应答模型(源自could man)一.nova-api接收到外部请求,并处理转发请求代码路径 :nova-stable-queens ——> nova ——> compute——> api.py然后 snapshot 函数开始接收请求,并进行处理(函数很长,分步解释)1.准备处理请求 #创建快照 def...原创 2020-01-09 09:15:20 · 1687 阅读 · 1 评论 -
openstack怎么查看日志(小白适用实操版2019)
首先从最简单的开始,新建一个虚拟机(Launch Instance)并查看其日志1.在网页上登录搭建好的openstack虚机(名称为op1)的dashboard界面2.远程SSH登录op1的命令行界面Xshell输入ssh 192.168.xx.xxssh 后面是你的服务器域名(需要登录一个控制节点,一个计算节点,因为创建虚机的日志有些在控制节点上,有的在计...原创 2019-12-10 17:49:07 · 7148 阅读 · 0 评论 -
openStack学习(detach时删除计算节点上对应的SCSI设备,删除的是什么?)
iSCSI initiator在nova-conpute上,是最终使用存储设备的客户端iSCSI target在cinder-volume上面,是提供存储设备volume的服务端(实际上真正提供存储的是LV逻辑卷,但是逻辑卷需要由cinder去用磁盘创建成卷,并且初始化volume连接也就是建立iSCSI initiator与iSCSI target对应连接,nova-conpute才能用...原创 2019-12-09 17:17:25 · 207 阅读 · 0 评论 -
OpenStack关于driver机制的分析(扎心了,大家都只讲通过driver机制就能支持多种back-end,却不说为什么)
OpenStack关于driver机制的分析Driver相当于统一的接口转换器,cinder和nova都有。不同的back-end只要实现了自己对应的driver就可以被openstack识别使用。举个栗子:openStack相当于两孔插座,不同厂商的back-end却五花八门可能是三孔、四孔、任意孔,于是就使用driver插口转换器,将两孔转换为对应孔的接口(不同厂商用不同的driv...原创 2019-12-09 16:32:30 · 625 阅读 · 0 评论 -
OpenStack学习笔记(四)Cinder组件
Cinder主要架构与nova类似,cinder也采用的是松散的架构理念,由cinder-api统一管理外部对cinder的调用,cinder-scheduler负责调度合适的节点去构建volume存储。volume-provider通过driver负责具体的存储空间,然后cinder内部依旧通过消息队列queue沟通,解耦各子服务支持异步调用。cinder-shedule...原创 2019-12-05 18:00:42 · 1597 阅读 · 0 评论