O042、Live Migrate 操作


参考https://www.cnblogs.com/CloudMan6/p/5554549.html   Migrate 操作会先将Instance停掉,也就是所谓的 冷迁移 。而 Live Migrate 是热迁移,也就在线迁移,Instance不会停机,   Live Migrate 分两种:       1、源和目标节点没有共享存储,Instance 在迁移的时候需要将其镜像文件从源节点传到目标节点,这叫做Block Migrate (块迁移)     2、源和目标节点使用共享存储,Instance的镜像文件不需要迁移,只需要将 Instance 的状态迁移到目标节点   源和目标节点需要满足一些条件才能支持 Live Migrate :       1、源和目标节点的CPU类型要一致     2、源和目标节点的Libvirt版本要一致     3、源和目标节点能互相识别对方的主机名称,比如可以在 /etc/hosts 中加入对方的条目     4、在源和目标节点的 /etc/nova/nova.conf 中指明在线迁移时使用 TCP 协议   [libvirt] live_migration_uri = qemu+tcp://stack@%s/system cpu_mode = none virt_type = kvm       5、Instance 使用config Driver 保存其metadata。在block Migrate过程中,该config driver 也需要迁移到目标节点。由于目前libvirt 只支持 vfat 类型的config driver,所以必须在 /etc/nova/nova.conf 中指明 launch instance 时创建 config driver   [DEFAULT] config_driver_format = vfat       6、源和目标节点的Libvirt TCP 远程监听服务得打开,需要在下面两个配置文件中做一点配置   /etc/default/libvirt-bin       start_libvirtd="yes"     libvirtd_opts="-d -l"     /etc/libvirt/libvirtd.conf       listen_tls = 0     listen_tcp = 1     unix_sock_group = "libvirtd"     unix_sock_ro_perms = "0777"     unix_sock_rw_perms = "0770"     auth_unix_ro = "none"     auth_unix_rw = "none"     auth_tcp = "none"   然后重启libvirtd 服务  service libvirt-bin restart   下面是非共享存储操作流程   Web UI 操作     迁移的时候如果使用的不是共享存储,需要勾选 Block Migrate 还有一个 Disk Over Commit 选项,nova在检查目标接地那磁盘空间是否够用时,按磁盘文件定义的大小计算,否则按照磁盘文件的实际大小计算。   在nova-compute上       1、目标节点执行迁移前的准备工作,首先将instance 的数据迁移过来,主要包括镜像文件、虚拟网络等资源,日志见 n-cpu.log     2、源节点启动迁移操作,暂停instance     3、在目标节点上Resume instance     4、在源节点上执行迁移的后处理工作,删除instance     5、在目标节点上执行迁移的后处理工作,创建XML,在Hypervisor中定义instance ,使之下次能够正常启动   在整个迁移过程中,长ping instance,可以发现也就是一个包的延时大了一些,可以在迁移过程中instance不会停机。     下面是共享存储迁移流程   有很多方式可以实现共享存储,比如可以将 instance 的镜像文件放在NFS上,或者使用NAS服务器,或者分布式文件系统。   我们可以使用NFS方案进行实验,将NFS路径挂载到 /opt/stack/data/nova/instances 目录   共享存储的迁移过程和 Block Migrate 基本上一样,只是几个环境有点区别:       1、向 nova-api 提交请求的时候,不能勾选 Block Migrate     2、因为源和目标节点都能直接访问instance 的镜像,所以目标节点在准备阶段不需要传输镜像文件,源节点在迁移后的处理阶段也不需要删除instance的目录     3、只有instance 的状态需要从源节点传输到目标节点,整个迁移速度要快很多    

相关