«

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:在源物理主机上删除虚拟机。

上面四步正常完成后,虚拟机就成功的从源物理主机成功地迁移到了目的物理主机了。

还没收到回复