11.3. 先决条件
在迁移虚拟机存储前,您必须安装 OpenShift Virtualization Operator。
要支持存储实时迁移,您需要部署 OpenShift Virtualization 版本 4.17 或更高版本。早期版本的 OpenShift Virtualization 不支持实时存储迁移。
您还需要配置 KubeVirt
,以便根据 配置实时迁移 来启用存储实时迁移。
在 OpenShift Virtualization 4.17.0 中,并非所有所需的功能门都被启用。但是,要使用存储实时迁移功能,您必须启用功能门。
运行以下命令来启用功能门:
oc annotate --overwrite -n openshift-cnv hco kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[ {"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "VolumesUpdateStrategy"}, {"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "VolumeMigration"} ]'
$ oc annotate --overwrite -n openshift-cnv hco kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[ {"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "VolumesUpdateStrategy"}, {"op": "add", "path": "/spec/configuration/developerConfiguration/featureGates/-", "value": "VolumeMigration"} ]'
红帽不支持带有启用此功能门的注解的集群。
如果添加该注解,您收到了一个集群范围的警报,则不要在生产环境中添加此注解,表示您的集群不再被支持。
有关迁移控制器用来操作虚拟机的部署和自定义资源定义(CRD)的更多信息,请参阅 迁移控制器选项。
如果在安装 OpenShift Virtualization 前启动 mig-controller
pod,则迁移控制器不会自动看到您安装了 OpenShift Virtualization 自定义资源定义(CRD)。
安装 OpenShift Virtualization 后,重启 openshift-migration
命名空间中的 mig-controller
pod。
下表说明要使用存储实时迁移,您需要安装 OpenShift Virtualization。另外,您必须使用 MTC CRD 和至少两个存储类。
资源 | 用途 |
---|---|
| 代表迁移存储时要使用的集群。 |
| 存储类,确保至少有两个存储类。 |
| 由 KubeVirt 安装的虚拟机定义。 |
| 由 KubeVirt 安装的正在运行的虚拟机。 |
| 有关如何使用虚拟机磁盘填充由 Containerized Data Importer (CDI)安装的持久性卷(PV)的定义。 |