虚机热迁移流程

openstack热迁移

热迁移(Live Migration,又叫动态迁移、实时迁移),即虚拟机保存/恢复(Save/Restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。

迁移前准备

1.设置计算节点间可以通过主机名无密码互相访问

2.设置计算节点间的nova uid和gid保持一致:

id nova

usermod -u xxx nova

groupmod -g xxx nova

usermod  -u qemu

usermod -u libvirt

注意,修改uid和gid后,所属文件的权限也得跟着更改,大致有以下文件

  917  chown -R root:nova nova-dist.conf
  923  chown -R nova:root /nova
  924  chown -R nova:root nova
  945  chown -R root:nova api-paste.ini
  946  chown -R root:nova nova.conf
  947  chown -R root:nova nova.conf.rpmnew
  948  chown -R root:nova nova.conf.rpmnewpolicy.json
  949  chown -R root:nova rpmnewpolicy.json
  950  chown -R root:nova policy.json
  951  chown -R root:nova release
  952  chown -R root:root release
  953  chown -R root:nova rootwrap.conf
  964  chown -R root:libvirt libvirt-admin-sock
  965  chown -R root:libvirt libvirt-sock
  966  chown -R root:libvirt libvirt-sock-ro

3.各计算节点的内核版本需要保持一致

4.配置共享存储,否则只能使用块迁移

迁移配置

1.修改nova.conf

Vim /etc/nova/nova.conf

[vnc]

server_listen = 0.0.0.0

[libvirt]

live_migration_uri = qemu+tcp://%s/system

live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE

重启nova-compute

2.修改libvirtd.conf

vim /etc/libvirt/libvirtd.conf

 listen_addr = "0.0.0.0"
 tcp_port = "16509"

auth_tcp = "none"

vim  /etc/sysconfig/libvirtd

LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf

LIBVIRTD_ARGS="--listen"

重启libvirtd

测试libvirt连通性

virsh -c qemu+tcp://服务器IP/system

迁移

1.查看所有虚机

nova list

2.查看需要迁移的虚机

nova show

3.查看可用的计算节点

nova service list

4.迁移

nova live-migration --force <vm_id> <dest_host_name>

5.查看迁移状态

nova migration-list
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐