使用 MTV 将 VMware 虚拟机迁移到 Red Hat OpenShift 虚拟化平台
使用“虚拟化版 Migration Toolkit”( for Virtualization,简称MTV),将 VMware vSphere 虚拟机(VM)迁移至 IBM Cloud 上的 Red Hat OpenShift 虚拟化平台。 配置 VDDK 映像、安装 MTV Operator、创建迁移计划、执行热迁移和冷迁移、针对大规模工作负载进行性能调优,以及解决常见的迁移错误。
概述
MTV将虚拟机迁移至 Red Hat OpenShift,该虚拟化平台运行在 Red Hat OpenShift 上。
MTV 支持从以下 VMware vSphere 源提供商进行迁移:
- VMware vSphere
- 创建的开放式虚拟设备(OVA VMware vSphere
迁移先决条件和环境要求
软件兼容性
要成功迁移,请安装兼容版本的 Red Hat OpenShift 和 Red Hat OpenShift Virtualization。
对于 MTV 2.9,兼容的软件版本包括:
- Red Hat OpenShift: 4.19, 4.18, 4.17
- Red Hat OpenShift 虚拟化:4.19,4.18,4.17
- VMware vSphere: 6.5 或更高版本
网络要求
所有迁移均需满足以下网络先决条件:
- 网络稳定性
- 源环境与 Red Hat OpenShift 虚拟化集群之间的网络连接必须可靠且不中断。
- 配置完整性
- 在迁移过程中,请勿更改 IP 地址、虚拟局域网 (VLAN) 或其他网络配置设置,因为 VM 的 MAC 地址将被保留。
- 网络地址的唯一性
- 如果您正在将工作负载从 IBM Cloud 经典基础设施迁移出来,请使用 IBM Cloud Transit Gateway 将您的虚拟私有云(VPC)连接到经典基础设施。 在创建用于托管工作负载的 VPC 时,请确保其网络地址前缀不会与连接到您的 IBM Cloud 经典基础设施的其他 VPC 所使用的前缀发生冲突。 创建 VPC 时,请取消选中 “为每个区域创建默认前缀”复选框。 默认前缀在各个 VPC 之间保持一致,这可能会导致路由冲突。 创建 VPC 后,可以根据需要配置地址前缀和子网。
- 目的地网络
- 如果映射了多个源网络和目标网络,请为每个额外目标网络创建一个网络连接定义。
- 必需端口
- 防火墙必须根据源提供商,允许通过特定端口的流量:
- VMware vSphere: Transmission Control Protocol ( TCP ) 将 Red Hat OpenShift 节点上的 443 端口(用于库存和磁盘传输认证)和 902 端口(用于磁盘传输数据复制)转发至 VMware vCenter® /ESXi 主机。
- OVA:将 TCP 的 2049 端口(用于网络文件系统( NFS )服务)以及 TCP 或 User Datagram Protocol ( UDP )的 111 端口(用于远程过程调用( RPC )端口映射器,仅当使用 NFSv4.0 时才需要)从 Red Hat OpenShift 节点映射到包含 OVA 文件的服务器。
来源:VM 先决条件
所有迁移中的源虚拟机必须满足以下先决条件:
- 媒体状态
- 迁移前请卸载 ISO 镜像和 CD-ROM。
- IP 地址
- 每张网络接口卡(NIC)必须包含 IPv4 地址或 IPv6 地址之一,也可以同时使用这两种地址。
- 操作系统(OS)认证
- VM 操作系统必须作为转换的客机操作系统通过认证并获得支持。
- 启动功能
- 启用了“安全启动”功能的虚拟机可能无法自动迁移,因为这会导致它们无法在目标提供商处启动。 要解决此问题,请在目标设备上禁用安全启动。
- VMware 客座特工
- VMware 启用 “保留静态 IP 地址”功能时,需要安装 Tools 或 open-vm-tools。
VM 命名
VM 名称必须符合这些准则:
- VM 的名称不得包含句号 (
.)。MTV 会自动将 VM 名称中的任何句点改为破折号 (-)。 - VM 的名称在 Red Hat OpenShift 虚拟化环境中必须是唯一的(即,不得与任何其他 VM 的名称相同)。
- 如果 VM 的名称不符合规则,MTV会自动生成一个新名称。 MTV 会移除被排除的字符,将大写字母转换为小写,并将所有下划线(
_)替换为连字符(-)。
加密支持
MTV 支持使用以下加密类型迁移虚拟机:
- Linux® 虚拟机:Linux 统一密钥设置(LUKS)。
- Windows® 虚拟机:BitLocker。
VMware vSphere 具体先决条件
VMware 工具
若要使用迁移前钩子访问虚拟机,请在源虚拟机上安装 VMware Tools或 open-vm-tools。
VDDK 图片
从 VMware vSphere 迁移虚拟磁盘时,请使用 VMware 虚拟磁盘开发工具包(VDDK),以加快迁移速度。
- VDDK 镜像为可选项。 然而,如果省略该参数,迁移速度可能会大幅降低;当 VM 由 VMware vSAN 提供支持时,该参数是必需的。
VMware 特权
您必须以至少具备 VMware 所需最低权限的身份登录。 更多信息,请参阅 VMware 特权。
温和的迁移要求
要执行热迁移,必须在虚拟机( VM )以及每个 VM 磁盘上启用“已更改块跟踪”(CBT)。 预复制阶段的增量复制依赖于 CBT 快照。 单个 VM 最多支持 28 个 CBT 快照。
请为所有虚拟机禁用休眠功能,因为 MTV 不支持迁移处于休眠状态的虚拟机,且若未禁用休眠功能,迁移将失败。
ESXi 主机配置
如果迁移计划要求从单个 ESXi( VMware vSphere 虚拟机管理程序)主机同时迁移 10 台以上的虚拟机,请增加该主机的网络文件复制(NFC)服务内存。
- NFC服务内存默认仅支持10个并行连接,这对于超过10个并发 VM 迁移操作而言是不够的。
- 将
maxMemory的值更改为1000000000(1 GB),然后重启hostd服务。
Windows 热迁移
若要从 VMware 进行 Microsoft Windows® 虚拟机的热迁移,则客机 VM 中的卷影复制服务 (VSS) 必须处于运行状态。 有关详细信息,请参阅 源虚拟机先决条件。
MTV Operator 的安装与配置
您可以通过 Red Hat OpenShift Web控制台或命令行界面(CLI)安装MTV操作员,该操作员包含适用于 Red Hat OpenShift Web控制台的MTV插件。
在安装 MTV Operator 之前,请确保满足以下先决条件:
- 安装 Red Hat OpenShift 4.19、4.18 或 4.17。
- 在 Red Hat OpenShift 迁移目标集群上安装 Red Hat OpenShift 虚拟化操作员。
- 使用
cluster-admin权限登录。
如需了解更多信息,请参阅 《 使用 Red Hat OpenShift Web控制台安装MTV操作员 》。
除非另有说明,否则请通过修改 ForkliftController 自定义资源(CR)或使用Web控制台 “概览” 页面中的 “设置” 部分来配置MTV操作员设置。
请使用 MTV 概览页面中的 “设置”选项卡来调整以下关键参数:
- VM 迁移的最大并发数(默认值为20)
- 控制器主容器 CPU 限值
- 控制器主容器内存限制
- 控制器清单容器内存限制
- 预复制间隔(分钟)
- 快照轮询间隔
更多信息,请参阅 配置 MTV 操作员。
从 VMware vSphere 迁移虚拟机(UI工作流)
添加 VMware vSphere 源提供程序
- 转到 “虚拟化迁移” >“提供商”,然后单击“创建提供商”。
- 选择 VMware 并指定提供商资源名称和端点类型( vCenter 或 ESXi)。
- 请提供 SDK 端点的 URL,例如
https://vCenter-host-example.com/sdk。 - 创建一个 VDDK 镜像并指定其路径。 使用 VDDK 映像可加快迁移速度,且当虚拟机基于 VMware vSAN 时,必须使用 VDDK 映像。
- 输入 vCenter 或 ESXi 凭据。
- 选择一种 CA 证书验证选项:使用自定义 CA 证书、使用系统 CA 证书,或跳过证书验证。
- 单击创建提供商。
制定迁移计划
-
常规:定义计划名称、项目、源提供商和目标提供商/项目。
- 通过点击“制定计划”,从“虚拟化迁移”>“迁移计划”中启动向导。
- 指定计划名称、计划项目、源提供商、目标提供商和目标项目。
-
虚拟机
- 选择要迁移的虚拟机。
单个计划不能包含超过 500 个虚拟机或 500 个磁盘。
-
定义网络拓扑图
- 选择使用现有的、无所有者的网络图(这将创建一份副本并将其附加到方案中),或者使用新的网络图(由该方案拥有)。
- 如果您正在创建一张新地图,请定义源网络与目标网络之间的映射关系。
-
选择迁移类型
- 选择 “冷迁移” (默认)(数据复制期间 VM 将停止运行)或 “温迁移” (预复制阶段将运行 VM,从而最大限度地减少停机时间)。
-
其他设置(可选)
- 磁盘解密密码短语:输入 LUKS 加密设备的密码短语。
- 传输网络:可选择覆盖提供商的默认传输网络。 如果 Red Hat OpenShift 传输网络的最大传输单元(MTU)发生变更,则必须相应调整 VMware 迁移网络的MTU。
- 保留静态 IP 地址:选中 “保留静态 IP 地址”复选框,系统将尝试保留静态 IP 地址,从而减轻因迁移过程中 vNIC 发生变更而导致的损失。
- 根设备:对于支持多系统启动的虚拟机,请手动指定根设备的磁盘位置,例如:
/dev/sdb2。 - 共享磁盘:对于冷迁移,共享磁盘默认处于启用状态。 共享磁盘使用多写入器选项,会减慢迁移过程。
- 请勾选 “启用钩子” 复选框,以选择迁移前(迁移前对源 VM 进行的操作)或迁移后(迁移后对已迁移的 VM 进行的操作)。
- 您必须指定钩子运行程序的镜像(默认是
quay.io/kubev2v/hook-runner),并提供 Ansible® 中的 playbook。 每个计划只允许使用一个迁移前钩子和一个迁移后钩子。 - 当您使用 “保留静态 IP 地址”功能并切换到第 2 层主用户定义网络 (UDN) 或集群用户定义网络 (CUDN) 时,源 VM 必须处于开机状态,并运行 VMware 来宾代理。 “保留静态 IP”功能不适用于二级网络。
-
复查并创建
- 审查所有计划细节。 要编辑任何详细信息,请点击 “编辑”步骤链接。
- 点击 “创建计划”。 MTV批准了该计划。 如果验证成功,将打开 “计划详情”页面。
创建后的配置
-
请仔细查看 “计划详情”页面,特别是向导中未包含的设置。
- “计划”详细信息页面包含向导中未显示的重要设置。
- 查看计划设置部分,了解可选配置。 要编辑任何设置,请使用 “选项”菜单。
- 检查“条件”部分;必须解决所有列出的条件,计划才能成功运行。
运行与监控
-
迁移前的准备工作
- 在开始热迁移之前,请检查 VM 快照,并提交/删除快照,以确保虚拟机拥有足够的可用CBT快照。
- 授予目标命名空间的
default服务账户访问权限,以便从 Red Hat OpenShift MTV命名空间拉取VDDK镜像。 - 验证迁移计划,并解决任何警告或错误。
- 必要时,对源虚拟机进行完整备份。
-
开始迁移
- 转到 “迁移” > “虚拟化方案”。
- 单击迁移计划旁边的开始并确认。
- 请为即将导入的虚拟机禁用 vMotion,、svMotion, 以及迁移功能,以防止数据损坏。
-
热迁移切换
- 对于热迁移,初始数据传输(预复制阶段)会立即开始。
- 要启动切换阶段(该阶段将关闭源 VM 并传输最终增量数据),请单击 “切换”。
- 在切换窗口中,您可以“设置切换”(安排时间和日期)或“取消切换”(取消已安排的时间)。
- 在切换之前,请停止源虚拟机上的应用程序、中间件和数据库服务,以尽量减少数据变更。 MTV 不需要执行此操作。 然而,停止这些服务可以降低切换过程中出现数据不一致的风险。
-
监视
- “迁移状态”链接会显示整体进度、成功/失败次数以及当前状态。
- “虚拟机”选项卡提供了 VM 的具体状态、开始/结束时间、已复制的数据以及进度条。
- 要查看正在运行或已完成迁移的日志,请在 “虚拟机” 选项卡中选择一个 VM,然后点击 “Pod”部分中的 “日志” 链接。
-
迁移后的限制
- 请勿在迁移开始后对 VM 进行快照,因为这可能会导致迁移失败。
-
迁移后的活动
- 配置网络设置,必要时更改 IP。
- 配置基于角色的访问控制(RBAC)以及用于管理 VM 的服务账户。
- 如有必要,请更新域名系统(DNS)记录。
- 验证 DNS 解析和网络策略。
- 在目标虚拟机上启动应用程序和数据库(如果它们在切换前已停止)。
- 验证迁移虚拟机上的应用程序功能。
性能和故障排除
-
针对迁移吞吐量的网络、存储和主机调优
- 确保网络和存储速度快:无论是 VMware 还是 Red Hat OpenShift 容器平台(OCP)环境,都需要快速的存储和网络速度。
- 高吞吐量:为获得最佳效果,请确保 VMware 的网络连接具备高吞吐量(至少为10千兆以太网或10 GiB 网络连接),以便接收速率与ESXi数据存储的读取速率保持一致。
- 观测到的速度:每个 ESXi 主机的
vmnic平均网络传输速率在 200 至 325 MiB/s 之间。 - 主机设置:尽可能将 ESXi 主机的 BIOS 配置文件和主机电源管理设置设为 “高性能”。 测试表明,在传输超过 10 台虚拟机时,数据存储的平均读取速率提高了 15 MiB。
-
并发性
- 最大并发传输数(
MAX_VM_INFLIGHT):使用MAX_VM_INFLIGHTMTV变量来控制每个ESXi主机允许的最大 VM 传输并发数;默认值为20。 - 对于将 VMware 进行冷迁移至本地 Red Hat OpenShift 环境的情况,此设置用于控制每个ESXi主机上可同时进行迁移的虚拟机数量。
- 对于 VMware 暖迁移,可控制每台 ESXi 主机同时迁移的磁盘数量。
- 并行处理的优势:从单个 ESXi 主机同时启动多台虚拟机的并行迁移,与依次迁移相比,可显著缩短总迁移时间。 同时迁移 10 台虚拟机比依次迁移的速度快三倍。
- 多台主机:使用多台 ESXi 主机并将虚拟机均匀分布在这些主机上,可以缩短迁移时间。 例如,测试表明,使用 8 台 ESXi 主机同时迁移 80 台虚拟机,其速度是使用单台主机的四倍。
- 最大并发传输数(
-
大规模迁徙
- 计划限制:单个迁移计划中的虚拟机数量不得超过 500 台,磁盘数量不得超过 500 个。
- 多个计划:在迁移大量虚拟机时,将一个大型计划拆分为多个中等规模的计划(例如,每个计划包含 100 台虚拟机),可以通过允许并行启动来缩短总迁移时间。
-
热迁移调优
- 磁盘并发限制:测试涉及多达 400 次并行磁盘传输(200 台虚拟机,每台配备两个磁盘)。 为获得最快的迁移速度,请将并行磁盘迁移的数量限制在 200 个或以下,因为超过此阈值后,迁移速度将下降约 25%。
- 立即切换:为最大限度地缩短整体热迁移时间,并确保每个 VM 仅运行一次预复制,请将切换时间设置为在迁移计划启动后立即进行。
- 调整预复制间隔:如果在迁移开始和切换之间有充足的时间,请将
controller_precopy_interval参数(默认值为60分钟)增加到120至240分钟之间,以减少切换前所需的快照总数和磁盘传输量。
-
大容量硬盘(1 TB 及以上)
- 优先级:对于涉及大容量磁盘的迁移,应优先处理MTV相关操作,并确保在此期间没有其他占用大量网络或存储资源的操作同时运行。
- 流失率较高的虚拟机:对于流失率较高的大型虚拟机(快照之间的数据变化量超过 100 GB),请考虑在计划切换前至少 24 小时,将默认的 60 分钟温迁移时间
controller_precopy_interval缩短。 - 冷迁移与热迁移:如果可以接受一定程度的停机时间,对于特别大的单磁盘虚拟机,应选择冷迁移而非热迁移,尤其是在 VM 快照体积较大的情况下。
- 数据库:对于无法进行快照的连续写入的大型数据库磁盘,可考虑在 MTV 之外使用特定于数据库供应商的复制选项。
-
异步输入/输出(AIO)缓冲(仅限冷迁移)
- 功能:对网络块设备(NBD)传输的NFC参数进行AIO缓冲处理,以期提升冷迁移性能。
- 冷迁移要求:AIO缓冲仅适用于冷迁移用例,在启动热迁移之前,必须先将其禁用。
故障诊断
如果在迁移过程中遇到错误,请参阅 《 VMware vSphere 到 Red Hat OpenShift Virtualization 的 MTV 迁移故障排除》 一文,了解常见问题的解决方法,包括快照限制、VDDK 提取失败、DNS 解析失败以及静态 IP 保留问题。
其他资源
后续步骤
使用 MTV 完成迁移后,您可以执行以下步骤:
- 实施备份:配置 使用 Veeam Kasten 进行备份与恢复 以保护已迁移的工作负载
- 架构概述:了解完整的 Red Hat OpenShift 虚拟化参考架构
- 设计注意事项:了解 网络、存储 和 安全 方面的最佳实践
- 优化性能:审查您环境 的可观测性和监控 情况
- 为从 vSphere 迁移到 Red Hat OpenShift 虚拟化环境准备虚拟机网络