ocata 冷迁移和热迁移

ocata版openstack的虚拟机冷热迁移,其实主要是在原先基础上,添加nova用户虚拟机间的互信,修改libvirt配置使之支持热迁移。

冷迁移
云主机冷迁移,即:将一台云主机从一个计算节点上,迁移到另外一个计算节点上。但是迁移到另外的计算节点时的这段时间虚拟机实例是处于宕机状态的。在此情况下,实例需要重启才能工作。因为环境原因,所以我们需要准备两个计算节点。
冷迁移需要启动nova账户,并配置ssh 免密码认证。
相信你的集群中每个主机已经做了互信,可以将集群主机的互信文件拷贝到nova用户下。

  - name: 冷迁移,配置nova互信
    shell: usermod -s /bin/bash nova;
           mkdir /var/lib/nova/.ssh;
           chmod 700 /var/lib/nova/.ssh;
           \cp /root/.ssh/* /var/lib/nova/.ssh/;
           chmod 600 /var/lib/nova/.ssh/config;
           chmod 600 /var/lib/nova/.ssh/id_rsa;
           chmod 600 /var/lib/nova/.ssh/authorized_keys;
           chown -R nova:nova /var/lib/nova/.ssh;

热迁移
热迁移(Live Migration,又叫动态迁移、实时迁移),即虚拟机保存/恢复(Save/Restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
实例几乎没有宕机时间。用于当实例需要在迁移时保持运行。在线迁移有下面几种类型
1.有共享存储
2.没有共享存储(块在线迁移,卷在线迁移)
本次做最简单的块在线迁移,安装好openstack基础服务(keystone,glance,nova,neutron,dashboard)。
检查你的各个服务状态,并测试能否正常创建启动云主机。一切准备就绪。

  - name: 热迁移,配置libvirt
    shell: crudini --set /etc/nova/nova.conf libvirt live_migration_flag "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED";
           COMPUTE_IP=`ifconfig eth0 | grep inet | awk '{print$2}'`;
           echo -e "listen_tls = 0\nlisten_tcp = 1\ntcp_port = 16509\nlisten_addr = $COMPUTE_IP\nauth_tcp = none" >> /etc/libvirt/libvirtd.conf;
           echo -e "LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf\nLIBVIRTD_ARGS="--listen"" >> /etc/sysconfig/libvirtd;
           systemctl restart libvirtd.service

好了。冷热迁移都可以正常使用了。
如果想了解的更加详细,可以参考https://www.cnblogs.com/pinganzi/p/6556446.html

你可能感兴趣的:(openstack,ocata,compute,openstack,bug,解决方案)