10.2. 配置实时迁移
您可以配置实时迁移设置,以确保迁移过程不会给集群造成大量问题。
您可以配置实时迁移策略,将不同的迁移配置应用到虚拟机组。
10.2.1. 实时迁移设置
您可以配置以下实时迁移设置:
10.2.1.1. 配置实时迁移限制和超时
通过更新位于 openshift-cnv
命名空间中的 HyperConverged
自定义资源(CR)为集群配置实时迁移限制和超时。
流程
编辑
HyperConverged
CR 并添加必要的实时迁移参数:$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
配置文件示例
apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: liveMigrationConfig: bandwidthPerMigration: 64Mi 1 completionTimeoutPerGiB: 800 2 parallelMigrationsPerCluster: 5 3 parallelOutboundMigrationsPerNode: 2 4 progressTimeout: 150 5
您可以通过删除该键/值对并保存文件来恢复任何 spec.liveMigrationConfig
字段的默认值。例如,删除 progressTimeout: <value>
以恢复默认的 progressTimeout: 150
。
10.2.2. 实时迁移策略
您可以创建实时迁移策略,将不同的迁移配置应用到由 VM 或项目标签定义的虚拟机组。
您可以使用 Web 控制台创建实时迁移策略。
10.2.2.1. 使用命令行创建实时迁移策略
您可以使用命令行创建实时迁移策略。使用任何标签组合将实时迁移策略应用到所选虚拟机 (VM):
-
VM 标签,如
size
,os
, 或gpu
-
项目标签,如
priority
,bandwidth
, 或hpc-workload
要使策略应用到特定的虚拟机组,VM 组的所有标签都必须与策略标签匹配。
如果多个实时迁移策略应用到 VMI,则具有最高匹配标签的策略会优先使用。
如果多个策略满足此条件,则策略按照匹配标签键的字母顺序排序,并且第一个策略具有优先顺序。
流程
如以下示例所示,创建一个
MigrationPolicy
对象:apiVersion: migrations.kubevirt.io/v1alpha1 kind: MigrationPolicy metadata: name: <migration_policy> spec: selectors: namespaceSelector: 1 hpc-workloads: "True" xyz-workloads-type: "" virtualMachineInstanceSelector: 2 workload-type: "db" operating-system: ""
运行以下命令来创建迁移策略:
$ oc create migrationpolicy -f <migration_policy>.yaml