2.6. VMware 的先决条件
以下先决条件适用于 VMware 迁移:
- 您必须使用兼容版本的 VMware vSphere 。
- 您必须以至少最小组的 VMware 权限的用户身份登录。
- 您必须在所有源虚拟机 (VM) 上安装 VMware Tools。
- 如果您正运行 warm 迁移,则必须在虚拟机和 VM 磁盘中启用 已更改的块跟踪 (CBT)。
- 您必须创建一个 VMware Virtual Disk Development Kit (VDDK) 镜像。
- 您必须获取 vCenter 主机的 SHA-1 指纹。
- 如果您要从同一迁移计划中的 ESXi 主机迁移超过 10 个虚拟机,您必须增加主机的 NFC 服务内存。
- 强烈建议您禁用休眠,因为 Migration Toolkit for Virtualization (MTV)不支持迁移休眠的虚拟机。
如果出现电源中断,则禁用休眠的虚拟机可能会丢失数据。但是,如果没有禁用休眠,迁移将失败
MTV 和 OpenShift Virtualization 支持转换 Btrfs 从 VMWare 迁移虚拟机。
VMware 权限
要使用 Migration Toolkit for Virtualization (MTV) 将虚拟机迁移到 OpenShift Virtualization 需要以下最小 VMware 权限集合。
表 2.4. VMware 权限
特权 | 描述 |
---|---|
| |
| 允许关闭一个已启动的虚拟机。此操作关闭客户端操作系统。 |
| 允许打开已关闭的虚拟机并恢复暂停的虚拟机。 |
注意
需要所有 | |
| 允许在虚拟机上打开磁盘以实现随机读写访问。主要用于远程磁盘挂载。 |
| 允许操作与虚拟机相关的文件,包括 VMX、磁盘、日志和 NVRAM。 |
| 允许在虚拟机上打开一个磁盘以实现随机读取访问。主要用于远程磁盘挂载。 |
| 允许对与虚拟机关联的文件读取操作,包括 VMX、磁盘、日志和 NVRAM。 |
| 允许对与虚拟机关联的文件写操作,包括 VMX、磁盘、日志和 NVRAM。 |
| 允许克隆模板。 |
| 允许克隆现有虚拟机并分配资源。 |
| 允许从虚拟机创建新模板。 |
| 允许自定义虚拟机的客户机操作系统,而无需移动虚拟机。 |
| 允许从模板部署虚拟机。 |
| 允许将现有的关机虚拟机标记为模板。 |
| 允许将现有模板标记为虚拟机。 |
| 允许创建、修改或删除自定义规格。 |
| 允许对虚拟机磁盘提升操作。 |
| 允许读取自定义规格。 |
| |
| 允许从虚拟机当前状态创建快照。 |
| 允许从快照历史记录中移除快照。 |
2.6.1. 创建 VDDK 镜像
Migration Toolkit for Virtualization(MTV) 使用 VMware Virtual Disk Development Kit(VDDK) SDK 从 VMware vSphere 传输虚拟磁盘。
您必须下载 VMware Virtual Disk Development Kit (VDDK),构建 VDDK 镜像,并将 VDDK 镜像推送到您的镜像 registry。您需要 VDDK init 镜像路径来添加 VMware 源供应商。
在公共 registry 中存储 VDDK 镜像可能会违反 VMware 许可证条款。
先决条件
- OpenShift Container Platform 镜像 registry。
-
已安装
podman
。 - 如果使用外部 registry,OpenShift Virtualization 必须能够访问它。
流程
创建并导航到临时目录:
$ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
- 在浏览器中,进入 VMware VDDK 版本 7 下载页面。
- 选择版本 7.0.3.2 并点 Download。
- 将 VDDK 归档文件保存到临时目录中。
提取 VDDK 归档:
$ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
创建
Dockerfile
:$ cat > Dockerfile <<EOF FROM registry.access.redhat.com/ubi8/ubi-minimal USER 1001 COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib RUN mkdir -p /opt ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"] EOF
构建 VDDK 镜像:
$ podman build . -t <registry_route_or_server_path>/vddk:<tag>
将 VDDK 镜像推送到 registry:
$ podman push <registry_route_or_server_path>/vddk:<tag>
- 确保镜像可以被 OpenShift Virtualization 环境访问。
2.6.2. 获取 vCenter 主机的 SHA-1 指纹
您必须获取 vCenter 主机的 SHA-1 指纹,才能创建 Secret
CR。
流程
运行以下命令:
$ openssl s_client \ -connect <vcenter_host>:443 \ 1 < /dev/null 2>/dev/null \ | openssl x509 -fingerprint -noout -in /dev/stdin \ | cut -d '=' -f 2
- 1
- 指定 vCenter 主机的 IP 地址或 FQDN。
输出示例
01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67
2.6.3. 增加 ESXi 主机的 NFC 服务内存
如果您要从同一迁移计划中的 ESXi 主机迁移超过 10 个虚拟机,您必须增加主机的 NFC 服务内存。否则,迁移将失败,因为 NFC 服务内存限制为 10 个并行连接。
流程
- 以 root 用户身份登录 ESXi 主机。
在
/etc/vmware/hostd/config.xml
中将maxMemory
改为1000000000
:... <nfcsvc> <path>libnfcsvc.so</path> <enabled>true</enabled> <maxMemory>1000000000</maxMemory> <maxStreamMemory>10485760</maxStreamMemory> </nfcsvc> ...
重启
hostd
:# /etc/init.d/hostd restart
您不需要重启主机。