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"} ]'
Red Hat は、このフィーチャーゲートを有効にするアノテーションを使用するクラスターをサポートしていません。
このアノテーションは、実稼働環境のクラスターに追加しないでください。このアノテーションを追加すると、クラスターがサポート対象外になったことを示すクラスター全体のアラートが届きます。
移行コントローラーが仮想マシンを操作するために使用するデプロイメントとカスタムリソース定義 (CRD) の詳細は、移行コントローラーのオプション を参照してください。
OpenShift Virtualization をインストールする前に mig-controller
Pod が起動した場合、移行コントローラーは OpenShift Virtualization カスタムリソース定義 (CRD) がインストールされていることを自動的に認識しません。
OpenShift Virtualization をインストールした後、openshift-migration
namespace で mig-controller
Pod を再起動してください。
次の表は、ストレージのライブマイグレーションを使用するには、OpenShift Virtualization がインストールされている必要があることを示しています。さらに、MTC CRD と少なくとも 2 つのストレージクラスを使用する必要があります。
リソース | 目的 |
---|---|
| ストレージを移行するときに使用するクラスターを表します。 |
| ストレージクラス。少なくとも 2 つのストレージクラスがあることを確認してください。 |
| KubeVirt によってインストールされた仮想マシンの定義。 |
| KubeVirt によってインストールされた実行中の仮想マシン。 |
| Containerized Data Importer (CDI) によってインストールされる仮想マシンディスクを永続ボリューム (PV) に格納する方法の定義。 |