3.7. VMware の前提条件
移行を加速するために、VDDK イメージの作成が強く推奨されます。詳細は、VDDK イメージの作成 を参照してください。
仮想マシンが VMware vSAN によってバックアップされている場合、仮想マシンの移行は VDDK なしでは機能しません。
VMware の移行には、以下の前提条件が適用されます。
- 互換性のあるバージョン の VMware vSphere を使用している。
- 少なくとも最小限の VMware 権限 を持つユーザーとしてログインしている。
- 移行前のフックを使用して仮想マシンにアクセスするには、VMware Tools をソース仮想マシンにインストールする必要があります。
-
仮想マシンオペレーティングシステムが、OpenShift Virtualization のゲストオペレーティングシステム としての使用 および
virt-v2v
での KVM への変換 に対して認定およびサポートされている。 - ウォーム移行を実行している場合は、仮想マシンおよび仮想マシンディスクで 変更ブロックのトラッキング (CBT) を有効にしている。
- 同じ移行計画の ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの NFC サービスメモリーを増やしている。
- Migration Toolkit for Virtualization (MTV) は休止状態の仮想マシンの移行をサポートしていないため、休止状態を無効にすることを強く推奨する。
Microsoft Windows を実行する仮想マシン (仮想マシン) の場合、ゲスト仮想マシン内のボリュームシャドウコピーサービス (VSS) を使用して、ファイルシステムとアプリケーションを静止させます。
VMware から Microsoft Windows 仮想マシンのウォーム移行を実行する場合、スナップショットおよび Quiesce guest file system
が正常に実行されるように、Windows ゲスト OS で VSS を起動する必要があります。
Windows ゲスト OS で VSS を起動しないと、ウォーム移行中のスナップショットの作成が次のエラーで失敗します。
An error occurred while taking a snapshot: Failed to restart the virtual machine
An error occurred while taking a snapshot: Failed to restart the virtual machine
VSS サービスを Manual
に設定し、Quiesce guest file system = yes
でスナップショットの作成を開始する場合、バックグラウンドで、VMware Snapshot プロバイダーサービスは VSS にシャドウコピーの開始を要求します。
停電が発生した場合、休止状態が無効になっている仮想マシンのデータが失われる可能性があります。ただし、ハイバネーションが無効になっていない場合は移行に失敗します。
MTV も OpenShift Virtualization も、VMWare から仮想マシンを移行するための Btrfs の変換をサポートしていません。
3.7.1. VMware 権限
Migration Toolkit for Virtualization (MTV) を使用して仮想マシンを OpenShift Virtualization に移行するには、次の最小限の VMware 権限のセットが必要です。
特権 | 説明 |
---|---|
| |
| 電源がオンになっている仮想マシンの電源をオフにできます。この操作により、ゲストオペレーティングシステムの電源がオフになります。 |
| 電源がオフになっている仮想マシンの電源をオンにし、中断している仮想マシンを再開できます。 |
| VMware VIX API による仮想マシンの管理を可能にします。 |
注記
すべての | |
| ランダムな読み取りおよび書き込みアクセスのために仮想マシンでディスクを開くことができます。主にリモートディスクマウントに使用されます。 |
| VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの操作を許可します。 |
| ランダムな読み取りアクセスのために仮想マシンでディスクを開くことができます。主にリモートディスクマウントに使用されます。 |
| VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの読み取り操作を許可します。 |
| VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの書き込み操作を許可します。 |
| テンプレートのクローンを作成できます。 |
| 既存の仮想マシンのクローン作成とリソースの割り当てを許可します。 |
| 仮想マシンから新しいテンプレートを作成できます。 |
| 仮想マシンを移行せずに、仮想マシンのゲストオペレーティングシステムをカスタマイズできます。 |
| テンプレートからの仮想マシンのデプロイメントを許可します。 |
| 既存の電源がオフになっている仮想マシンをテンプレートとしてマークできます。 |
| 既存のテンプレートを仮想マシンとしてマークできます。 |
| カスタマイズ仕様の作成、変更、または削除を許可します。 |
| 仮想マシンのディスクでのプロモート操作を許可します。 |
| カスタマイズ仕様の読み取りを許可します。 |
| |
| 仮想マシンの現在の状態からスナップショットを作成できます。 |
| スナップショット履歴からスナップショットを削除できます。 |
| |
| データストアの内容を探索できます。 |
| データストア内で低レベルのファイル操作 (読み取り、書き込み、削除、および名前変更) を実行できます。 |
| |
| セッションの有効性の検証を可能にします。 |
| |
| 暗号化された仮想マシンの復号化を許可します。 |
| 暗号化されたリソースへのアクセスを許可します。 |
前述の表に記載された権限を持つロールを VMware で作成し、そのロールを、MTV 権限を適用するための VMware ロールの作成 の説明に従って Inventory セクションに適用します。
3.7.2. MTV 権限を付与するための VMware ロールの作成
VMware でロールを作成して Migration Toolkit for Virtualization (MTV) の権限を付与し、そのロールを持つユーザーに権限を付与することができます。
以下の手順では、これを行うための一般的な方法を説明します。詳細な手順は、VMware のドキュメントを参照してください。
手順
- vCenter Server UI で、VMware の前提条件 の表に記載されている権限セットが含まれるロールを作成します。
vSphere インベントリー UI で、このロールを持つユーザーに、次のいずれかのレベルで適切な vSphere 論理オブジェクトへの権限を付与します。
- ユーザーまたはグループレベル: データセンター内の適切な論理オブジェクトに権限を割り当て、Propagate to child objects オプションを使用します。
- オブジェクトレベル: 移行に関係するすべての vSphere 論理オブジェクト (ホスト、vSphere クラスター、データセンター、ネットワークなど) に、同じロールを個別に適用します。
3.7.3. VDDK イメージの作成
VMware vSphere から仮想ディスクを移動する場合は、Migration Toolkit for Virtualization (MTV) を VMware Virtual Disk Development Kit (VDDK) SDK と併用することを強く推奨します。
オプションではありますが、VDDK イメージを作成することを強く推奨します。VDDK なしで MTV を使用することは推奨されず、移行速度が大幅に低下する可能性があります。
この機能を利用するには、VMware Virtual Disk Development Kit (VDDK) をダウンロードし、VDDK イメージをビルドして、VDDK イメージをイメージレジストリーにプッシュします。
VDDK パッケージにはシンボリックリンクが含まれているため、VDDK イメージの作成手順は、シンボリックリンク (symlink) を保持するファイルシステム上で実行する必要があります。
VDDK イメージをパブリックレジストリーに保存すると、VMware ライセンスの条項に違反する可能性があります。
前提条件
- Red Hat OpenShift イメージレジストリー
-
podman
がインストールされている。 - シンボリックリンク (symlink) を保存するファイルシステム上で作業している。
- 外部レジストリーを使用している場合、OpenShift Virtualization がこれにアクセスできる。
手順
一時ディレクトリーを作成し、これに移動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
$ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
- ブラウザーで、VMware VDDK バージョン 8 ダウンロードページ に移動します。
- バージョン 8.0.1 を選択し、Download をクリックします。
OpenShift Virtualization 4.12 に移行するには、VMware VDDK バージョン 7 ダウンロードページ から VDDK バージョン 7.0.3.2 をダウンロードします。
- VDDK アーカイブファイルを一時ディレクトリーに保存します。
VDDK アーカイブをデプロイメントします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
$ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
Dockerfile
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat > Dockerfile <<EOF FROM registry.access.redhat.com/ubi8/ubi-minimal USER 1001 COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib RUN mkdir -p /opt ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"] EOF
$ cat > Dockerfile <<EOF FROM registry.access.redhat.com/ubi8/ubi-minimal USER 1001 COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib RUN mkdir -p /opt ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"] EOF
VDDK イメージをビルドします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman build . -t <registry_route_or_server_path>/vddk:<tag>
$ podman build . -t <registry_route_or_server_path>/vddk:<tag>
VDDK イメージをレジストリーにプッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push <registry_route_or_server_path>/vddk:<tag>
$ podman push <registry_route_or_server_path>/vddk:<tag>
- イメージが OpenShift Virtualization 環境からアクセスできることを確認します。
3.7.4. ESXi ホストの NFC サービスメモリーの拡張
同じ移行計画の ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの NFC サービスメモリーを増やしている。有効にしないと、NFC サービスメモリーの同時接続は 10 台に制限されているため、移行に失敗します。
手順
- root として ESXi ホストにログインします。
/etc/vmware/hostd/config.xml
でmaxMemory
の値を1000000000
に変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... <nfcsvc> <path>libnfcsvc.so</path> <enabled>true</enabled> <maxMemory>1000000000</maxMemory> <maxStreamMemory>10485760</maxStreamMemory> </nfcsvc> ...
... <nfcsvc> <path>libnfcsvc.so</path> <enabled>true</enabled> <maxMemory>1000000000</maxMemory> <maxStreamMemory>10485760</maxStreamMemory> </nfcsvc> ...
hostd
を再起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/init.d/hostd restart
# /etc/init.d/hostd restart
ホストを再起動する必要はありません。
3.7.5. VDDK バリデーターコンテナーにはリクエストと制限が必要
クラスターまたはプロジェクトのリソースクォータが設定されている 場合は、MTV Pod での移行に十分なクォータがあることを確認する必要があります。
次のように、ForkliftController カスタムリソース (CR) でオーバーライドできるデフォルトを確認できます。必要に応じて、これらのデフォルトを調整できます。
これらの設定は環境に大きく依存します。 一度に多数の移行が行われ、移行に対して十分なクォータが設定されていない場合、移行は失敗する可能性があります。これは、一度に移行される仮想マシン/ディスクの数を決定する MAX_VM_INFLIGHT
設定とも相関します。
ForkliftController CR で上書きできるデフォルト:
これは、コールド移行とウォーム移行の両方に影響します。
コールド移行の場合、ディスクコピーを実行するため、より多くのリソースが消費される可能性があります。ウォーム移行の場合、リクエストを減らすことを検討してみてください。
-
virt_v2v_container_limits_cpu:
4000m
-
virt_v2v_container_limits_memory:
8Gi
-
virt_v2v_container_requests_cpu:
1000m
virt_v2v_container_requests_memory:
1Gi
注記virt-v2v
を使用したコールド移行とウォーム移行では、リソースが大量に消費される可能性があります。詳細は、コンピュートの電源および RAM を参照してください。
-
virt_v2v_container_limits_cpu:
これはフックを使用したすべての移行に影響します。
-
hooks_container_limits_cpu:
1000m
-
hooks_container_limits_memory:
1Gi
-
hooks_container_requests_cpu:
100m
-
hooks_container_requests_memory:
150Mi
-
hooks_container_limits_cpu:
これは、OVA の移行に影響します。
-
ova_container_limits_cpu:
1000m
-
ova_container_limits_memory:
1Gi
-
ova_container_requests_cpu:
100m
-
ova_container_requests_memory:
150Mi
-
ova_container_limits_cpu: