2020 年 12 月 17 日发行的vCenter Server 7.0 Update 1c版本(内部版本号17327517)集成了跨vCenter Server的VMotion功能。使用此功能,在 vSphere Client 中可以使用高级跨 vCenter vMotion 功能管理跨不同 vCenter SingleSign-On 域中的 vCenter Server 系统的工作负载批量迁移。高级跨 vCenter vMotion 不依赖于 vCenter 增强型链接模式或混合链接模式,并且适用于内部部署环境和云环境。高级跨 vCenter vMotion 可以从 VMware Cloud Foundation3 迁移到 VMware Cloud Foundation 4,后者包括 vSphere 和 Tanzu Kubernetes Grid,并为虚拟机和容器提供统一的平台,从而允许运营商从 vCenter Server 置备 Kubernetes 集群。此功能还能简化从 6.x 或更高版本的任何 vCenter Server 实例进行的工作负载迁移,从而平衡过渡到最新版本的 vCenter Server。
1 在 vCenter Server 实例之间进行迁移的要求如果系统满足特定要求,则可以跨 vCenter Server 实例进行迁移。跨 vCenter Server 实例进行迁移时系统必须满足的要求如下。
(1)源和目标 vCenterServer 实例及 ESXi 主机必须为 6.0 或更高版本。
(2)跨 vCenter Server 和长距离 vMotion 功能要求具有 EnterprisePlus 许可证。
(3)两个 vCenterServer 实例必须彼此同步时间,以便进行正确的 vCenter Single Sign-On 令牌认证。
(4)对于仅迁移计算资源的情况,两个 vCenter Server 实例必须连接到共享虚拟机存储。
2 在 vCenter Server 实例之间的 vMotion 期间的网络兼容性检查在 vCenter Server 实例之间迁移虚拟机会将虚拟机移至新网络。迁移过程将执行检查以验证源网络和目标网络是否相似。
vCenter Server 执行网络兼容性检查以防止出现以下配置问题:
(1)目标主机上的 MAC 地址兼容性
(2)从 DistributedSwitch 到标准交换机的 vMotion
(3)不同版本的 Distributed Switch 之间的 vMotion
(4)到内部网络(例如没有物理网卡的网络)的 vMotion
(5)向未正常运行的 Distributed Switch 执行 vMotion
vCenter Server 不会就以下问题执行检查和向您发送通知:
(1)如果源和目标 Distributed Switch 没有位于同一广播域,虚拟机将在迁移后断开网络连接。
(2)如果源和目标 Distributed Switch 未配置相同的服务,虚拟机可能会在迁移后断开网络连接。
在 vCenter Server 实例之间移动虚拟机时,环境将特别处理 MAC 地址迁移以避免网络中出现地址重复和数据丢失。
在包含多个 vCenter Server 实例的环境中,迁移某台虚拟机时,其 MAC 地址会传输到目标 vCenter Server。源 vCenter Server 会将这些 MAC 地址添加到拒绝列表中,以便不会将这些地址分配给新创建的虚拟机。
在2个vCenter Server之间迁移虚拟机的时候,如果虚拟机处于开机运行状态(未关机),在执行在线热迁移时,目标vCenter Server上的目标ESXi主机CPU的EVC应该不低于(高于或等于)源vCenterServer 源ESXi主机上CPU的EVC。如果目标ESXi主机CPU的EVC低于源虚拟机当前使用的EVC时,只能关闭虚拟机执行冷迁移。
跳vCenter Server迁移虚拟机其他注意事项如下。
l 需要加密 vMotion 的虚拟机不能将 vMotion 用于 vSphere 6.5 GA 之前的目标 vCenter 版本。
l 使用在 vSphere 6.5 中引入的 vSphere HA 重新启动优先级属性的虚拟机无法对 vSphere 6.5 GA 之前的目标 vCenter 版本使用 vMotion 和冷重新放置
l 跨 vCenter Server 执行 vMotion 和克隆 vSphere 6.7 及更高版本的虚拟机时不支持 vSphere 加密。
l 在 vSphere 7.0 上,通过 API 执行相关操作时支持 vSphere 加密。
l 第三方交换机不支持跨 vCenter Server vMotion。
在vCenter Server之间迁移虚拟机的网络端口要求如下。
l TCP的8000端口,TCP与UDP的902端口,用于 ESXi 之间的 vMotion 和 NFC
l TCP的443端口,用于两个 vCenter Server 之间
l TCP的443端口,用于 vCenterServer 与 ESXi Server 之间(要将 ESXi 主机添加到 vCenter Server,必须满足此要求)
下面通过具体的实验进行介绍。
3 从另一个vCenter Server导入虚拟机在vCenter Server 7.0 U1C版本中,可以连接到其他版本的vCenter Server例如6.0、6.5、6.7、7.0及ESXi,将远程vCenter Server清单中的虚拟机迁移到当前vCenter Server环境中,也可以从当前vCenter Server 7.0 U1C所管理的ESXi中,选择要迁移的虚拟机,将其迁移到其他版本(例如6.0、6.5、6.7、7.0)vCenter Server所管理的ESXi主机中。本节先介绍从其他vCenter Server迁移虚拟机的内容。
在当前的实验环境中有2台vCenterServer ,其中第一台vCenter Server版本号7.0U1C ,有4台ESXi主机,这台vCenter Server的IP地址是172.18.96.20,4台ESXi主机的IP地址依次是172.18.96.41、172.18.96.42、172.18.96.43、172.18.96.44。另一台vCenter Server的IP地址是172.18.96.50,这台vCenter Server中有一台ESXi,IP地址是172.18.96.49。
在下面的操作中,登录172.18.96.20的vCenter Server,连接到172.18.96.50的vCenter Server,从172.18.96.49迁移一台正在运行的虚拟机到172.18.96.50的vCenter Server中。
(1)使用vSphere Client登录到172.18.96.50的vCenter Server,用鼠标右键单击群集的名称(当前示例为vSAN01),在弹出的快捷菜单中选择“Import VMs”,如图1所示。
图1 导入虚拟机
(2)在“Select asource vCenter Server” 对话框的“NEW VCENTER”选项卡中,依次输入另一台vCenter 遥的IP地址(本示例为172.18.96.50)、SSO账户(一般为administrator@vsphere.local)及密码,然后单击并选中“Save vCenter Server address(保存vCenter Server地址)”,然后单击“LOGIN”按钮登录并连接,如图2所示。在弹出的“Security Alert”对话框中单击“是”按钮,如图3所示。
图2 连接另一台vCenter Server
图3 信任证书
连接成功之后显示“Successfully connected to172.18.96.50” ,如图4所示。
图4 连接成功
(3)在“Import VirtualMachine” 对话框中列出连接到vCenter Server上所有的虚拟机,选中一个或多台要迁移的虚拟机,如图5所示。本示例中选择名称为WS19-MG_96.6的虚拟机,该虚拟机正在运行。
图5 选择要迁移的虚拟机
(4)在“选择计算资源”对话框中选择迁移到的目标主机,这需要在当前vCenter Server列表中选择一台ESXi主机,本示例选择IP地址为172.18.96.43的ESXi主机,如图6所示。
图6 选择目标ESXi主机
(5)在“选择存储”对话框选择虚拟机迁移的目标存储,如图7所示。
图7 选择存储
(6)在“选择网络”对话框选择用于虚拟机迁移的目标网络,如图8所示。迁移之后要保证网络不中断,迁移后的网络应该和虚拟机原来所有ESXi主机的网络属性相同(连接到同一物理网络,端口组VLAN相同)。
图8 选择网络
(7)在“选择VMotion优先级”对话框中选择“安排优先级高的VMotion(建议)”,如图9所示。
图9 选择VMotion优先级
(8)在“即将完成”对话框验证信息是否正确,如果无误之后单击“FINISH”按钮开始迁移,如图10所示。
图10 即将完成
在当前的vCenter Server的“近期任务”中有“初始化VMotion接收操作”及进度,如图11所示。
图11 初始化接收操作
在IP地址为172.18.96.50的vCenter Server“近期任务”中则是“重新放置虚拟机”和进度,如图12所示。
图12 重新放置虚拟机
【注意】从CPU低EVC热迁移的虚拟机,迁移完成之后,虚拟机中的CPU仍然是原来ESXi主机的CPU,如果要让迁移后的虚拟机使用新的ESXi主机的CPU的EVC,需要将虚拟机关机,重新开机后才能使用新ESXi主机的CPU。
(1)当前迁移的这一台虚拟机,原来所在主机的CPU是Intel E5-2680 V2的CPU,如图13所示。
图13 原来主机CPU
(2)迁移之后虚拟机的CPU仍然是Intel E5-2680 V2,如图14所示。
图14 查看虚拟机CPU
(3)迁移后虚拟机所在主机的CPU是i3-8100,如图15所示。
图15 新主机的CPU
(4)将虚拟机关机再开机(不能重启,重启无效),CPU会更改为当前主机的CPU,如图16所示。
图16 关机重开机后更改
4 迁移虚拟机到另一个vCenter Server在vCenter Server中可以选中一台或多台主机,将其迁移到另一个vCenter Server中去。迁移可以在虚拟机开机的情况下执行热迁移,也可以关机之后执行冷迁移。如果目标ESXi主机的EVC低于源虚拟机所使用的EVC只能使用冷迁移。
(1)用鼠标右键单击WS19-MG_96.6的虚拟机,在弹出的快捷菜单中选择“迁移”,如图17所示。
图17 迁移
(2)在“选择迁移类型”对话框中选择“CrossvCenter Server export (跨vCenter Server导出)”,如图18所示。
图18 跨vCenter Server导出
(3)在“Select atarget vCenter Server (选择目标vCente Server)”对话框中,如果原来保存有vCenter Server,在“SAVED VCENTER”选项卡的清单中选择,如图19所示。本示例选择172.18.96.50的vCenter Server。
图19 选择目标vCenter Server
(4)在“选择计算资源”对话框中选择目标ESXi主机。如果目标ESXi主机CPU的EVC特性低于要迁移的虚拟机使用的EVC特性,在“兼容性”列表中将显示“目标主机不支持虚拟机的当前硬件要求”,如图20所示。
图20 目标主机不支持
对于这种情况,只能将虚拟机关机之后再进行迁移。
下面是关机迁移的主要步骤。
(1)在vCenter Server中选中要迁移的一台或多台虚拟机,用鼠标右键单击,在弹出的快捷菜单选择“迁移”,如图21所示。
图21 迁移
(2)在“选择迁移类型”对话框中选择“CrossvCenter Server export” 。
(3)在“Select atarget vCenter Server ”对话框中选择172.18.96.50的vCenter Server。
(4)在“选择计算资源”对话框中选择目标ESXi主机,本示例为172.18.96.49,如图22所示。
图22 选择目标ESXi主机
(5)在“选择存储”对话框选择虚拟机迁移的目标存储,如图23所示。
图23 选择存储
(6)在“选择网络”对话框选择用于虚拟机迁移的目标网络,如图24所示。
图24 选择网络
(7)在“即将完成”对话框验证信息是否正确,如果无误之后单击“FINISH”按钮开始迁移,如图25所示。
图25 即将完成
(8)当前的vCenterServer“ 近期任务”中有“重新放置虚拟机”和进度,如图26所示。
图26 重新放置虚拟机
(9)然后等待虚拟机完成迁移,迁移之后如图27所示。