3.7. VMware 的先决条件


强烈建议创建 VDDK 镜像来加快迁移。如需更多信息,请参阅创建 VDDK 镜像

警告

当虚拟机由 VMware vSAN 支持时,虚拟机(VM)迁移在没有 VDDK 的情况下无法正常工作。

以下先决条件适用于 VMware 迁移:

重要

如果出现电源中断,则禁用休眠的虚拟机可能会丢失数据。但是,如果没有禁用休眠功能,迁移将失败。

注意

MTV 和 OpenShift Virtualization 都不支持转换 Btrfs,用于从 VMWare 迁移虚拟机。

3.7.1. VMware 权限

要使用 Migration Toolkit for Virtualization (MTV) 将虚拟机迁移到 OpenShift Virtualization 需要以下最小 VMware 权限集合。

表 3.4. VMware 权限
特权描述

Virtual machine.Interaction 权限:

Virtual machine.Interaction.Power Off

允许关闭一个已启动的虚拟机。此操作关闭客户端操作系统。

Virtual machine.Interaction.Power On

允许打开已关闭的虚拟机并恢复暂停的虚拟机。

Virtual machine.Guest operating system management by VIX API

允许通过 VMware VIX API 管理虚拟机。

Virtual machine.Provisioning 权限:

注意

需要所有 Virtual machine.Provisioning 权限。

Virtual machine.Provisioning.Allow disk access

允许在虚拟机上打开磁盘以实现随机读写访问。主要用于远程磁盘挂载。

Virtual machine.Provisioning.Allow file access

允许操作与虚拟机相关的文件,包括 VMX、磁盘、日志和 NVRAM。

Virtual machine.Provisioning.Allow read-only disk access

允许在虚拟机上打开一个磁盘以实现随机读取访问。主要用于远程磁盘挂载。

Virtual machine.Provisioning.Allow virtual machine download

允许对与虚拟机关联的文件读取操作,包括 VMX、磁盘、日志和 NVRAM。

Virtual machine.Provisioning.Allow virtual machine files upload

允许对与虚拟机关联的文件写操作,包括 VMX、磁盘、日志和 NVRAM。

Virtual machine.Provisioning.Clone template

允许克隆模板。

Virtual machine.Provisioning.Clone virtual machine

允许克隆现有虚拟机并分配资源。

Virtual machine.Provisioning.Create template from virtual machine

允许从虚拟机创建新模板。

Virtual machine.Provisioning.Customize guest

允许自定义虚拟机的客户机操作系统,而无需移动虚拟机。

Virtual machine.Provisioning.Deploy template

允许从模板部署虚拟机。

Virtual machine.Provisioning.Mark as template

允许将现有的关机虚拟机标记为模板。

Virtual machine.Provisioning.Mark as virtual machine

允许将现有模板标记为虚拟机。

Virtual machine.Provisioning.Modify customization specification

允许创建、修改或删除自定义规格。

Virtual machine.Provisioning.Promote disks

允许对虚拟机磁盘提升操作。

Virtual machine.Provisioning.Read customization specifications

允许读取自定义规格。

Virtual machine.Snapshot management 权限:

Virtual machine.Snapshot management.Create snapshot

允许从虚拟机当前状态创建快照。

Virtual machine.Snapshot management.Remove Snapshot

允许从快照历史记录中移除快照。

数据存储 权限:

Datastore.Browse datastore

允许探索数据存储内容。

Datastore.Low 级别文件操作

允许执行低级别文件操作 - 数据存储中的读取、写入、删除和重命名 -。

会话 权限:

sessions.Validate session

允许验证会话的有效性。

加密 权限 :

encryption.Decrypt

允许解密加密的虚拟机。

encryption.Direct access

允许访问加密资源。

提示

使用上表中描述的权限在 VMware 中创建一个角色,然后将此角色应用到 Inventory 部分,如 创建 VMware 角色以应用 MTV 权限中所述

3.7.2. 创建 VMware 角色以授予 MTV 权限

您可以在 VMware 中创建角色,为 Migration Toolkit for Virtualization (MTV)授予特权,然后向具有该角色的用户授予这些特权。

以下过程解释了如何一般执行此操作。具体步骤请查看 VMware 文档。

流程

  1. 在 vCenter Server UI 中,创建一个角色,其中包含 VMware 先决条件 中表中描述的权限集。
  2. 在 vSphere 清单 UI 中,在以下级别之一为具有此角色的用户授予权限到适当的 vSphere 逻辑对象:

    1. 在用户或组级别:将特权分配给数据中心中的适当逻辑对象,并使用 Propagate to child objects 选项。
    2. 在对象级别:将相同的角色单独应用到迁移中涉及的所有相关 vSphere 逻辑对象,如主机、vSphere 集群、数据中心或网络。

3.7.3. 创建 VDDK 镜像

强烈建议您在从 VMware vSphere 传输虚拟磁盘时与 VMware Virtual Disk Development Kit (VDDK) SDK 一起使用。

注意

强烈建议创建 VDDK 镜像,虽然是可选的。不建议在没有 VDDK 的情况下使用 MTV,可能会导致迁移速度显著降低。

要使用这个功能,您可以下载 VMware Virtual Disk Development Kit (VDDK),构建 VDDK 镜像,并将 VDDK 镜像推送到您的镜像 registry。

VDDK 软件包包含符号链接,因此必须在保留符号链接(symlinks)的文件系统上执行 VDDK 镜像的步骤。

注意

在公共 registry 中存储 VDDK 镜像可能会违反 VMware 许可证条款。

先决条件

  • Red Hat OpenShift 镜像 registry
  • 已安装 podman
  • 您正在处理保留符号链接(symlinks)的文件系统。
  • 如果使用外部 registry,OpenShift Virtualization 必须能够访问它。

流程

  1. 创建并导航到临时目录:

    $ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
  2. 在浏览器中,导航到 VMware VDDK 版本 8 下载页面
  3. 选择版本 8.0.1 并点 Download
注意

要迁移到 OpenShift Virtualization 4.12,请从 VMware VDDK 版本 7 下载页面下载 VDDK 版本 7.0.3.2。

  1. 将 VDDK 归档文件保存到临时目录中。
  2. 提取 VDDK 归档:

    $ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
  3. 创建 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
  4. 构建 VDDK 镜像:

    $ podman build . -t <registry_route_or_server_path>/vddk:<tag>
  5. 将 VDDK 镜像推送到 registry:

    $ podman push <registry_route_or_server_path>/vddk:<tag>
  6. 确保镜像可以被 OpenShift Virtualization 环境访问。

3.7.4. 增加 ESXi 主机的 NFC 服务内存

如果您要从同一迁移计划中的 ESXi 主机迁移超过 10 个虚拟机,您必须增加主机的 NFC 服务内存。否则,迁移将失败,因为 NFC 服务内存限制为 10 个并行连接。

流程

  1. 以 root 用户身份登录 ESXi 主机。
  2. /etc/vmware/hostd/config.xml 中将 maxMemory 改为 1000000000:

    ...
          <nfcsvc>
             <path>libnfcsvc.so</path>
             <enabled>true</enabled>
             <maxMemory>1000000000</maxMemory>
             <maxStreamMemory>10485760</maxStreamMemory>
          </nfcsvc>
    ...
  3. 重启 hostd

    # /etc/init.d/hostd restart

    您不需要重启主机。

3.7.5. VDDK 验证器容器需要请求和限值

如果设置了集群或项目资源配额,您必须确保您有足够的配额用于 MTV pod 来执行迁移。 

您可以查看默认值,您可以在 ForkliftController 自定义资源(CR)中覆盖它,如下所示。如果需要,您可以调整这些默认值。 

这些设置高度取决于您的环境。 如果同时存在许多迁移,并且配额不足为迁移设置,则迁移可能会失败。这也可以与 MAX_VM_INFLIGHT 设置关联,该设置决定了一次迁移了多少 VM/disks。

默认值可以在 ForkliftController CR 中覆盖:

  • 这会影响冷迁移和温迁移:

    对于冷迁移,执行磁盘副本时可能会更大资源密集型。对于温迁移,您可以减少请求。

    • virt_v2v_container_limits_cpu: 4000m
    • virt_v2v_container_limits_memory: 8Gi
    • virt_v2v_container_requests_cpu: 1000m
    • virt_v2v_container_requests_memory: 1Gi

      注意

      使用 virt-v2v 的冷和温迁移可以是资源密集型。如需了解更多详细信息,请参阅 计算电源和 RAM

  • 这会影响任何带有 hook 的迁移:

    • hooks_container_limits_cpu: 1000m
    • hooks_container_limits_memory: 1Gi
    • hooks_container_requests_cpu: 100m
    • hooks_container_requests_memory: 150Mi
  • 这会影响任何 OVA 迁移:

    • ova_container_limits_cpu: 1000m
    • ova_container_limits_memory: 1Gi
    • ova_container_requests_cpu: 100m
    • ova_container_requests_memory: 150Mi
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.