OpenStack-虚拟机热迁移流程
指尖二进制 • 1 年前 • 836 次点击 • OPENSTACK
[TOC]
热迁移步骤:
一、迁移前的条件检查:
动态迁移要成功执行,一些条件必须满足,所以在执行迁移前必须做一些条件检查。
1:权限检查,执行迁移的用户是否有足够的权限执行动态迁移。
2:参数检查,传递给 API 的参数是否足够和正确,如是否指定了 block-migrate 参数。
3:检查目标物理主机是否存在。
4:检查被迁移的虚拟机是否是 running 状态。
5:检查源和目的物理主机上的 nova-compute service 是否正常运行。
6:检查目的物理主机和源物理主机是否是同一台机器。
7:检查目的物理主机是否有足够的内存(memory)。
8:检查目的和源物理主机器 hypervisor 和 hypervisor 的版本是否相同。
9:检查cpu指令集是否一致。
二、迁移前的预处理
在真正执行迁移前,做一些准备工作:
1:在目的物理主机上获得和准备虚拟机挂载的块设备(volume)。
2:在目的物理主机上设置虚拟机的网络(networks)。
3:目的物理主机上设置虚拟机的防火墙(fireware)。
三、迁移过程
条件满足并且做完了预处理工作后,就可以执行动态迁移了。主要步骤如下:
1:调用 libvirt python 接口 migrateToURI,来把源主机迁移到目的主机。
2:以一定的时间间隔(0.5)循环调用 wait_for_live_migration 方法,来检测虚拟机迁移 的状态,一直到虚拟机成功迁移为止。
四、迁移后的处理
当虚拟机迁移完成后,要做一些善后工作:
1:在源物理主机上 detach volume。
2:在源物理主机上释放 security group ingress rule。
3:在目的物理主机上更新数据库里虚拟机的状态。
4:在源物理主机上删除虚拟机。
上面四步正常完成后,虚拟机就成功的从源物理主机成功地迁移到了目的物理主机了。