10.2. ライブマイグレーションの設定
ライブマイグレーション設定を行い、移行プロセスがクラスターに負荷を与えないようにすることができます。
ライブマイグレーションポリシーを設定して、さまざまな移行設定を仮想マシンのグループに適用できます。
10.2.1. ライブマイグレーション設定 リンクのコピーリンクがクリップボードにコピーされました!
次のライブマイグレーション設定を設定できます。
10.2.1.1. ライブマイグレーションの制限およびタイムアウトの設定 リンクのコピーリンクがクリップボードにコピーされました!
openshift-cnv namespace にある HyperConverged カスタムリソース (CR) を更新して、クラスターのライブマイグレーションの制限およびタイムアウトを設定します。
手順
HyperConvergedCR を編集し、必要なライブマイグレーションパラメーターを追加します。$ 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: 64Mi1 completionTimeoutPerGiB: 8002 parallelMigrationsPerCluster: 53 parallelOutboundMigrationsPerNode: 24 progressTimeout: 1505 - 1
- 各マイグレーションの帯域幅制限。値は 1 秒あたりのバイト数です。たとえば、値
2048Miは 2048 MiB/s を意味します。デフォルト:0(無制限)。 - 2
- 移行がこの時間内に終了しない場合 (単位はメモリーの GiB あたりの秒数)、移行は取り消されます。たとえば、6 GiB メモリーを搭載した仮想マシンは、4800 秒以内に移行が完了しないとタイムアウトになります。
Migration MethodがBlockMigrationの場合、移行するディスクのサイズは計算に含められます。 - 3
- クラスターで並行して実行される移行の数。デフォルトは
5です。 - 4
- ノードごとのアウトバウンド移行の最大数。デフォルトは
2です。 - 5
- メモリーのコピーの進捗がこの時間内 (秒単位) に見られない場合に、移行は取り消されます。デフォルトは
150です。
キー/値のペアを削除し、ファイルを保存して、spec.liveMigrationConfig フィールドのデフォルト値を復元できます。たとえば、progressTimeout: <value> を削除してデフォルトの progressTimeout: 150 を復元します。
10.2.2. ライブマイグレーションポリシー リンクのコピーリンクがクリップボードにコピーされました!
ライブマイグレーションポリシーを作成して、仮想マシンまたはプロジェクトラベルによって定義された仮想マシンのグループにさまざまな移行設定を適用できます。
Web コンソール を使用してライブマイグレーションポリシーを作成できます。
10.2.2.1. コマンドラインを使用したライブマイグレーションポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用してライブマイグレーションポリシーを作成できます。ライブマイグレーションポリシーは、ラベルの任意の組み合わせを使用して、選択した仮想マシンに適用されます。
-
size、os、gpuなどの仮想マシンラベル -
priority、bandwidth、またはhpc-workloadなどのプロジェクトラベル
ポリシーを特定の仮想マシングループに適用するには、仮想マシングループのすべてのラベルがポリシーのラベルと一致する必要があります。
複数のライブマイグレーションポリシーが仮想マシンに適用される場合は、一致するラベルの数が最も多いポリシーが優先されます。
複数のポリシーがこの基準を満たす場合、ポリシーは一致するラベルキーのアルファベット順に並べ替えられ、その順序の最初のポリシーが優先されます。
手順
次の例のように
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 -f <migration_policy>.yaml