第9章 トラブルシューティング
このセクションでは、一般的な移行の問題をトラブルシューティングするための情報を提供します。
9.1. アーキテクチャー
このセクションでは、MTV カスタムリソース、サービス、およびワークフローについて説明します。
9.1.1. MTV カスタムリソースおよびサービス
Migration Toolkit for Virtualization (MTV) は OpenShift Container Platform Operator として提供されます。以下のカスタムリソース (CR) およびサービスを作成し、管理します。
MTV カスタムリソース
-
ProviderCR は、MTV がソースおよびターゲットプロバイダーに接続し、対話できるようにする属性を保存します。 -
NetworkMappingCR は、ソースおよびターゲットプロバイダーのネットワークをマッピングします。 -
StorageMappingCR は、ソースおよびターゲットプロバイダーのストレージをマッピングします。 -
ProvisionerCR は、サポートされているボリューム、アクセスモードなどのストレージプロビジョナーの設定を保存します。 -
PlanCR には、同じ移行パラメーターと関連するネットワークおよびストレージマッピングを持つ仮想マシンの一覧が含まれます。 MigrationCR は移行計画を実行します。一度に実行できる
MigrationCR は、移行プランごとに 1 つのみです。単一のPlanCR に複数のMigrationCR を作成できます。
MTV サービス
Inventoryサービスは以下のアクションを実行します。- ソースプロバイダーおよびターゲットプロバイダーに接続します。
- マッピングおよび計画に関するローカルインベントリーを維持します。
- 仮想マシンの設定を保存します。
-
仮想マシンの設定の変更が検出されたら、
Validationサービスを実行します。
-
Validationサービスは、ルールを適用して移行の適合性を確認します。 User Interfaceサービスは、以下のアクションを実行します。- MTV CR を作成して設定できます。
- CR のステータスと移行の進捗を表示します。
Migration Controllerサービスは移行のオーケストレーションを行います。移行計画の作成時に、
Migration Controllerサービスは計画を検証し、ステータスラベルを追加します。計画の検証に失敗した場合には、計画のステータスはNot readyとなり、その計画を使用して移行を行うことができません。計画が検証をパスすると、計画のステータスはReadyとなり、移行を実行するために使用することができます。移行に成功すると、Migration Controllerサービスは計画のステータスをCompletedに変更します。-
Kubevirt ControllerおよびContainerized Data Import (CDI) Controllerサービスは、ほとんどの技術操作を処理します。
9.1.2. 移行ワークフローの概要
ワークフローの概要では、ユーザーの観点から移行プロセスを示しています。
- ソースプロバイダー、ターゲットプロバイダー、ネットワークマッピング、およびストレージマッピングを作成します。
以下のリソースを含む
Planカスタムリソース (CR) を作成します。- ソースプロバイダー
- ターゲットプロバイダー (MTV がターゲットクラスターにインストールされていない場合)
- ネットワークマッピング
- ストレージマッピング
- 1 つ以上の仮想マシン (VM)
PlanCR を参照するMigrationCR を作成して移行計画を実行します。何らかの理由ですべての VM 移行できない場合は、すべての VM が移行されるまで、同じ
PlanCR に対して複数のMigrationCR を作成できます。PlanCR の各 VM について、Migration ControllerサービスはVirtualMachineCR を作成し、MigrationCR に VR の移行の進捗を記録します。すべての VM が移行されると、
Migration ControllerサービスはPlanCR のステータスをCompletedに更新します。各ソース VM の電源状態は、移行後も維持されます。
9.1.3. 移行ワークフローの詳細
詳細な移行ワークフローを使用して、失敗した移行のトラブルシューティングを行うことができます。
ワークフローでは、以下の手順について説明します。
Migrationカスタムリソース (CR) を作成して移行計画を実行すると、Migration Controllerサービスはソース仮想マシン (VM) ごとにVirtualMachineCR を、ソース VM ディスクごとにDataVolumeCR を作成します。各仮想マシンディスクで以下を実行します。
-
Containerized Data Importer (CDI) Controllerサービスは、DataVolumeCR で指定されるパラメーターに基づいて永続ボリューム要求 (PVC) を作成します。 -
StorageClassに動的プロビジョナーがある場合、永続ボリューム (PV) はStorageClassプロビジョナーによって動的にプロビジョニングされます。 -
CDI ControllerサービスはImporterPod を作成します。 ImporterPod は VM ディスクを PV にストリーミングします。仮想マシンディスクの転送後に、以下を実行します。
Migration Controllerサービスは、PVC が割り当てられたconversionPod を作成します。ConversionPod はvirt-v2vを実行して、ターゲット VM の PVC にデバイスドライバーをインストールし、設定します。ターゲット VM の電源がオンになると、
KubeVirt Controllerサービスはvirt-launcherPod およびVirtualMachineInstanceCR を作成します。virt-launcherPod は、VM ディスクとして割り当てられた PVC でQEMU-KVMを実行します。