VMware 实时迁移

https://blueprints.launchpad.net/nova/+spec/vmware-live-migration

这是为 VMware 驱动程序添加实时迁移支持的提案。当使用 VMware 驱动程序时,每个 nova-compute 管理一个 vCenter 集群。为了本提案的目的,我们假设所有 nova-computes 都管理同一 vCenter 服务器下的集群。如果尝试跨不同的 vCenter 服务器进行迁移,将生成错误消息,并且不会发生迁移。

问题描述

当使用 VMware 驱动程序时,不支持实时迁移。

用例

作为操作员,我希望能够在同一 vCenter 服务器中,将实例从一个计算集群(nova-compute 主机)实时迁移到另一个计算集群(nova-compute 主机)。

提议的变更

将虚拟机迁移到另一个集群/数据存储只需调用 RelocateVM_Task() vSphere API。源计算主机需要知道目标计算主机的集群名称和数据存储正则表达式。如果实例位于两个集群之间共享的数据存储上,它将保留在那里。否则,我们将选择与目标主机的 datastore_regex 匹配的数据存储并将实例迁移到那里。将进行一次预实时迁移检查,以验证源计算节点和目标计算节点是否都对应于同一 vCenter 服务器中的集群。

将引入一个新的对象(VMwareLiveMigrateData),它将携带目标计算主机的 host IP、集群名称和数据存储正则表达式。所有这些都从 nova 配置(CONF.vmware.host_ip、CONF.vmware.cluster_name 和 CONF.vmware.datastore_regex)中获取。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

升级影响

实现

https://review.openstack.org/#/c/270116/

负责人

主要负责人

rgerganov

工作项

  • 添加 VMwareLiveMigrateData 对象

  • 实现预实时迁移检查

  • 实现选择目标 ESX 主机和数据存储的方法

  • 确保实时迁移的 CI 覆盖

  • 更新支持矩阵

依赖项

测试

VMware CI 将配置两个 nova-computes 并将从 tempest 执行实时迁移测试。

文档影响

应更新功能支持矩阵,以指示 VMware 驱动程序支持实时迁移。

参考资料

http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.VirtualMachine.html#relocate

历史

修订版

发布名称

描述

Newton

引入

Ocata

重新提出

Pike

重新提出

Queens

重新提出

Rocky

重新提出

Stein

重新提出