nova boot, reboot, suspend 工作流


nova boot 的工作流

  1. 为虚拟机分配网络,由nova.compute.manager处理。
  2. 创建磁盘文件并映射块设备,在这个过程中,首先从glance服务下载对应的image到instance_dir/_base, 将下载下来的镜像转换成RAW格式。创建磁盘文件instance_dir/uuid/{disk, disk.local, disk.swap}。
  3. 生成libvirt xml文件,拷贝一份/var/lib/nova/instance/uuid/libvirt.xml。
  4. 建立与磁盘卷的连接(这个主要用于boot-from-volume这种方式),具体执行什么样的操作取决于所使用volume的driver,iSCSI是通过tgt或者iscsiadm来建立连接,RBD主要由qemu处理。
  5. 建立必要的network stack,如创建bridges,为虚拟机创建安全组等。
  6. 通过libvirt用生成的xml文件定义一台虚拟机,等价于virsh define /var/lib/instance/uuid/libvirt.xml。
  7. 启动实例,virsh start uuid。

hard reboot 的工作流

  1. destroy the domain 执行libvirt操作virsh destroy instance-id,执行当前操作不会损坏虚拟机的任何数据, 仅做kill -9 qemu-system-x86_64进程。
  2. 重新建立与磁盘卷的连接。
  3. 为虚拟机重新生成libvirt XML文件。
  4. 检查并且重新下载丢失的备份文件(instance_dir/_base)。
  5. 重新创建网桥,Vlan接口。
  6. 重新生成iptables规则并作用于虚拟机。

suspend 的工作流

  1. 相当于执行virsh managed-save操作,行为类似于hiberate操作。
  2. 保存内存里面的数据到磁盘。
  3. 恢复虚拟机,virsh resume instance-id。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值