Skip to main content
NetApp Solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

工作流:使用 NetApp ONTAP 实现 Red Hat OpenShift 虚拟化

贡献者

本节介绍如何使用Red Hat OpenShift虚拟化迁移工具包将虚拟机从VMware迁移到OpenShift集群。其中包括以下类型的迁移:

冷迁移

这是默认迁移类型。复制数据时、源虚拟机将关闭。

热迁移

在这种类型的迁移中、大部分数据都是在源虚拟机(VM)运行期间的预复制阶段复制的。然后、VM将关闭、剩余数据将在转换阶段进行复制。

视频演示

以下视频演示了如何使用ONTAP存储类将RHEL VM从VMware冷迁移到OpenShift虚拟化以实现永久性存储。

使用Red Hat VtTM通过NetApp ONTAP存储将VM迁移到OpenShift虚拟化

使用适用于虚拟化的迁移工具包将VM从VMware迁移到OpenShift虚拟化

在本节中、我们将了解如何使用虚拟化迁移工具包(Migration Toolkit for Virtualization、MvTM)将虚拟机从VMware迁移到在OpenShift容器平台上运行并使用Trident与NetApp ONTAP存储集成的OpenShift虚拟化。

下图简要展示了将VM从VMware迁移到Red Hat OpenShift虚拟化的过程。

图中显示了输入/输出对话框或表示已写入内容

迁移示例的前提条件

在VMware

  • 安装了一个使用RHEL 9.3的RHEL 9 VM、并具有以下配置:

    • CPU:2、内存:20 GB、硬盘:20 GB

    • 用户凭据:root用户和管理员用户凭据

  • 虚拟机准备就绪后、安装了PostgreSQL服务器。

    • PostgreSQL服务器已启动并启用、可在启动时启动

      systemctl start postgresql.service`
      systemctl enable postgresql.service
      The above command ensures that the server can start in the VM in OpenShift Virtualization after migration
      Console
    • 添加了2个数据库、其中添加了1个表和1行。请参见 "此处" 有关在RHEL上安装PostgreSQL服务器以及创建数据库和表条目的说明、请参见。

备注 确保启动PostgreSQL服务器并启用服务以在启动时启动。

在OpenShift集群上

在安装此版本之前、已完成以下安装:

  • OpenShift集群4.13.34

  • "Trident 23.10"

  • 为iSCSI启用的集群节点上的多路径(对于ONONTAP SAN存储类)。如果使用节点准备标志安装Trident 25.02、则可以轻松启用多路径。要安装Trident 25.02并为iSCSI准备工作节点、可以使用以下命令

#/tridentctl install trident n trident —node-prep=iscsi
YAML
备注 要验证是否已在OpenShift集群的工作节点上启用iSCSI工具、请登录到工作节点并验证您是否看到iscsud、multipathd active以及multipath.conf文件中的条目、如图所示。

iscsud active

multipathd处于活动状态

多路径.conf文件

  • 使用iSCSI的ONTAP SAN的三端和存储类。请参见为三元后端和存储类提供的YAML文件。

  • "OpenShift 虚拟化"

使用以下YAML文件创建使用ONTAP SAN存储的三元后端配置
iSCSI的三端

apiVersion: v1
kind: Secret
metadata:
  name: backend-tbc-ontap-san-secret
type: Opaque
stringData:
  username: <username>
  password: <password>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: ontap-san
spec:
  version: 1
  storageDriverName: ontap-san
  managementLIF: <management LIF>
  backendName: ontap-san
  svm: <SVM name>
  credentials:
    name: backend-tbc-ontap-san-secret
YAML

使用以下YAML文件创建要使用ONTAP SAN存储的三元存储类配置
用于iSCSI的三级存储类

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-san
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-san"
  media: "ssd"
  provisioningType: "thin"
  snapshots: "true"
allowVolumeExpansion: true
YAML

安装 MTV

现在、您可以安装适用于虚拟化的迁移工具包(Migration Toolkit for Virtualization、简称为迁移工具包)。请参阅提供的说明 "此处" 有关安装的帮助。

虚拟化迁移工具包(Migration Toolkit for Virtualization、Tmb)用户界面集成到OpenShift Web控制台中。
您可以参考 "此处" 开始使用用户界面执行各种任务。

创建源提供程序

要将RHEL VM从VMware迁移到OpenShift虚拟化、您需要先为VMware创建源提供程序。请参阅说明 "此处" 以创建源提供程序。

要创建VMware源提供程序、您需要满足以下条件:

  • vCenter URL

  • vCenter凭据

  • vCenter Server指纹

  • 存储库中的VDDK映像

创建源提供程序的示例:

图中显示了输入/输出对话框或表示已写入内容

备注 虚拟化迁移工具包(Migration Toolkit for Virtualization、Mv)使用VMware虚拟磁盘开发工具包(Virtual Disk Development Kit、VDDK) SDK来加快从VMware vSphere传输虚拟磁盘的速度。因此、强烈建议创建VDDK映像、尽管这是可选的。
要使用此功能、请下载VMware虚拟磁盘开发工具包(VDDK)、构建VDDK映像、然后将VDDK映像推送到映像注册表。

按照提供的说明进行操作 "此处" 创建VDDK映像并将其推送到可从OpenShift集群访问的注册表。

创建目标提供程序

由于OpenShift虚拟化提供程序是源提供程序、因此会自动添加主机集群。

创建迁移计划

按照提供的说明进行操作 "此处" 以创建迁移计划。

创建计划时,如果尚未创建,则需要创建以下内容:

  • 用于将源网络映射到目标网络的网络映射。

  • 用于将源数据存储库映射到目标存储类的存储映射。为此、您可以选择ONTAP SAN存储类。
    创建迁移计划后,该计划的状态应显示*Ready*,现在您应该能够*Start*该计划。

图中显示了输入/输出对话框或表示已写入内容

执行冷迁移

单击*Start*将运行一系列步骤来完成虚拟机的迁移。

图中显示了输入/输出对话框或表示已写入内容

完成所有步骤后,您可以通过单击左侧导航菜单中“Virtualization”(虚拟化)下的*virtual Machines*来查看迁移的VM。提供了访问虚拟机的说明"此处"

您可以登录到虚拟机并验证pos正在 使用的数据库的内容。此表中的数据库、表和条目应与在源VM上创建的相同。

执行热迁移

要执行热迁移、在创建如上所示的迁移计划后、您需要编辑计划设置以更改默认迁移类型。单击冷迁移旁边的编辑图标、然后切换按钮以将其设置为热迁移。单击保存。现在单击开始开始迁移。

备注 确保在VMware中从块存储迁移时、已为OpenShift虚拟化虚拟机选择块存储类。此外、应将卷模式设置为block,并将访问模式设置为rwx,以便日后可以对虚拟机执行实时迁移。

1.

单击“**已完成0个VM (共1个VM)”,展开VM,您可以看到迁移进度。

2.

一段时间后、磁盘传输完成、迁移将等待进入转换状态。DataVolume处于已暂停状态。返回计划并单击转换按钮。

3.

4.

当前时间将显示在对话框中。如果要将转换计划为稍后的时间、请将时间更改为未来的时间。如果没有,要立即执行转换,请单击设置转换

5.

几秒钟后、在转换阶段开始时、DataVolume将从暂停状态变为导入计划到导入计划状态。

6.

转换阶段完成后、DataVolume将变为sucsuced状态、PVC将绑定。

7.

迁移计划将继续完成Image转换 阶段、最后完成VirtualMachineCreation阶段。VM在OpenShift虚拟化上处于running状态。

8.

Looking for answers?
Try Doc, our Gen AI Assistant.