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所示。
图27 迁移完成