Openstack云平台性能优化·热迁移

热迁移(Live Migration)也称动态迁移、实时迁移。其过程是:首先保存实例的所有运行状态,然后快速地恢复,甚至恢复到新的计算节点,并且在整个过程中,用户是无感的。

要使用热迁移的最基本条件是实例存放在共享存储中,且所有计算节点都能访问共享存储,否则只能采用块迁移,符合该基本条件后,再检查如下关键条件:

  • 所有计算节点的nova用户的uid和gid是否相同
  • 所有计算节点的nova和libvirt的参数配置是否正确
  • 所有计算节点的openstack-nova-compute服务是否正常运行
  • 所有计算节点是否能相互访问
  • 待迁移的虚拟机的运行状态是否正常
  • 目标宿主机的资源是否充足

配置

修改所有计算节点上的nova配置/etc/nova/nova.conf,并重启compute服务:

[libvirt]
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"

修改所有计算节点的libvirt配置/etc/libvirt/libvirtd.conf,并重启libvirtd服务:

listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "172.16.101.34" #本机IP
auth_tcp = "none"

修改配置/etc/sysconfig/libvirtd

LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen"

检查免密登录是否正常,在各计算节点上访问其他计算节点:

virsh -c qemu+tcp://node34/system

迁移

在控制节点通过如下步骤对实例进行热迁移:

#查看所有实例
nova list
#查看实例详情
nova show <实例ID>
#查看可用的计算节点
nova-manage service
#查看目标节点资源
nova-manage service describe_resource <目标节点>
#热迁移实例至新计算节点
nova live-migration <实例ID> <目标节点>

也可以在Dashboard中对实例进行热迁移操作。

重要说明

以上方案仅实现了计划内热迁移,如果计算节点意外宕机,且该节点不在集群内,则实例无法自动漂移至新节点。

还请各位高手指点如何实现自动迁移!

原创文章禁止转载:技术学堂 » Openstack云平台性能优化·热迁移

精彩评论

8+2=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏