VMware ESXi から Red Hat OpenShift Virtualization への VM の移行
Shift Toolkit を使用して VM を準備し、ディスク形式を変換し、ターゲット環境を構成することで、VMware ESXi から Red Hat OpenShift Virtualization に VM を移行します。
Shift Toolkit は、ディスク形式の変換と移行先環境でのネットワーク再構成を通じて、仮想化プラットフォーム間での VM の移行を可能にします。
開始する前に
移行を開始する前に、次の前提条件が満たされていることを確認してください。
-
次のオペレーターがインストールされた OpenShift Cluster エンドポイント:
-
OpenShift Virtualization オペレーター
-
NetApp Trident CSI ドライバー
-
ニューメキシコ州
-
-
適切なバックエンドとストレージクラスで構成されたNetApp Trident CSI
-
適切なVLANで構成されたNodeNetworkConfigurationPolicyとNetworkAttachmentDefinitions(NAD)
-
OpenShift クラスターは、現在のホスト ファイル エントリを使用してネットワークに到達可能です。
-
クラスターの管理者レベルの権限
-
Kubeconfigファイルがダウンロードされました
-
VMDKはsvmotionを使用して個別のボリュームに配置されます(PVC/PV構造のVMDKを模倣)。
この制限は、PVC プロビジョニングに NAS エコノミー ドライバーを使用できるようになる次のリリースで削除される予定です。 -
VMwareツールはゲストVM上で実行されています
-
移行対象のVMは準備のため実行状態にあります
-
移行を開始する前にVMの電源をオフにする必要があります
-
VMware Tools の削除は、VM の電源がオンになると、対象のハイパーバイザーで実行されます。
-
Windows VMの場合: ローカル管理者の資格情報を使用する
-
Linux VMの場合: パスワードプロンプトなしでsudoコマンドを実行する権限を持つユーザーを使用します
-
Windows VMの場合: VirtIO ISOをVMにマウントします("ここをクリックしてください。" )
準備スクリプトは、.msi パッケージを使用して、ドライバーと qemu-guest-agents をインストールします。
ステップ 1: 宛先サイトを追加する (OpenShift)
宛先の OpenShift Virtualization 環境を Shift Toolkit に追加します。
-
*新しいサイトを追加*をクリックし、*宛先*を選択します。
例を表示
-
宛先サイトの詳細を入力します。
-
サイト名: サイトの名前を入力してください
-
ハイパーバイザー: OpenShiftを選択
-
サイトの場所: デフォルトのオプションを選択します
-
コネクタ: デフォルトの選択を選択します
-
-
*続行*をクリックします。
例を表示
-
OpenShift の詳細を入力します。
-
エンドポイント: OpenShift Cluster エンドポイントの FQDN (例: api.demomigsno.demoval.com)
-
Kubeconfigファイルのアップロード: 最小限の権限でkubeconfigファイルを使用します
ファイル拡張子は yaml である必要があります。
例を表示
-
-
*サイトの作成*をクリックします。
例を表示
ディスク形式の変換は同じボリューム内のボリューム レベルで行われるため、ソース ボリュームと宛先ボリュームは同じになります。
ステップ2: リソースグループを作成する
VM をリソース グループに編成して、ブート順序とブート遅延構成を保持します。
VM VMDK が新しく作成されたONTAP SVM 上の個々のデータストア ボリュームに移動されていることを確認します。
-
リソース グループ に移動し、新しいリソース グループの作成 をクリックします。
-
ドロップダウンからソースサイトを選択し、「作成」をクリックします。
-
リソース グループの詳細を入力し、ワークフローを選択します。
-
クローンベースの移行: ソースハイパーバイザーから宛先ハイパーバイザーへのエンドツーエンドの移行を実行します
-
クローンベースの変換: ディスクフォーマットを選択したハイパーバイザータイプに変換します
-
-
*続行*をクリックします。
-
検索オプションを使用して VM を選択します。
リソース グループの VM の選択は、データストア レベルではなく、仮想マシンに基づいています。 例を表示
例を表示
-
移行の詳細を更新します:
-
*宛先サイト*を選択
-
*宛先OpenShiftエントリ*を選択します
-
ストレージクラスを選択する
例を表示
TBC が 1 つしかない場合は、 Tridentバックエンドがソース ボリュームに自動的にマップされます。ただし、TBC が複数ある場合は、バックエンドを選択できます。
-
-
選択したすべての VM の起動順序と起動遅延を構成します。
-
1: 最初に電源を入れるVM
-
3: デフォルト
-
5: 最後に電源を入れたVM
-
-
*リソース グループの作成*をクリックします。
例を表示
リソース グループが作成され、ブループリントの構成の準備が整いました。
ステップ3: 移行ブループリントを作成する
プラットフォーム マッピング、ネットワーク構成、VM 設定などの移行計画を定義するブループリントを作成します。
-
ブループリント に移動し、新しいブループリントの作成 をクリックします。
-
ブループリントの名前を指定し、ホスト マッピングを構成します。
-
*ソースサイト*と関連するvCenterを選択します
-
*宛先サイト*と関連するOpenShiftターゲットを選択します
-
クラスターとホストのマッピングを構成する
例を表示
-
-
リソース グループの詳細を選択し、[続行] をクリックします。
-
複数のグループが存在する場合は、リソース グループの実行順序を設定します。
-
適切な論理ネットワークへのネットワーク マッピングを構成します。
ネットワーク接続定義は、適切な VLAN およびトランク オプションを使用して OpenShift クラスター内にすでにプロビジョニングされている必要があります。テスト移行の場合は、本番ネットワークの競合を避けるために「ネットワークを構成しない」を選択し、変換後にネットワーク設定を手動で割り当てます。 例を表示
-
ストレージ クラスとバックエンド マッピングを確認します (VM の選択に基づいて自動的に選択されます)。
仮想マシンを PVC から作成してパワーオンできるように、事前に VMDK が個々のボリュームに svmotion されていることを確認します。 -
VM の詳細で、構成の詳細を選択し、各 OS タイプのサービス アカウント資格情報を入力します。
-
Windows: ローカル管理者権限を持つユーザーを使用します (ドメイン資格情報も使用できます)
-
Linux: パスワードプロンプトなしでsudoコマンドを実行できるユーザーを使用する
例を表示
構成の選択により、ディスク イメージ形式を選択したり、prepareVM のオーバーライドをスキップしたり、ボリュームを親から分割するかどうかを選択したりできます。デフォルトでは、分割クローン機能は無効になっており、ワークフローはデフォルトで RAW 形式に設定されます。
-
-
IP 設定を構成します。
-
設定しない: デフォルトオプション
-
IP を保持: ソースシステムと同じ IP を保持します
-
DHCP: ターゲットVMにDHCPを割り当てる
prepareVM フェーズ中に VM の電源がオンになっており、VMware Tools がインストールされていることを確認します。
-
-
VM 設定を構成します。
-
CPU/RAMパラメータのサイズ変更(オプション)
-
起動順序と起動遅延を変更する
-
電源オン: 移行後にVMの電源をオンにする場合に選択します(デフォルト: オン)
-
VMware ツールを削除: 変換後に VMware ツールを削除します (デフォルト: 選択)
-
VMファームウェア: BIOS > BIOSおよびEFI > EFI(自動)
-
MAC アドレスを保持: ライセンス要件のために MAC アドレスを保持します
MAC アドレスを保持しながらインターフェース名を保持する必要がある場合は、ソース VM に適切な udev ルールが作成されていることを確認します。 -
サービス アカウントのオーバーライド: 必要に応じて別のサービス アカウントを指定します
-
-
*続行*をクリックします。
-
(オプション) 日時を選択して移行をスケジュールします。
VM の準備に時間をかけるため、移行は少なくとも 30 分前にスケジュールしてください。 -
*ブループリントを作成*をクリックします。
Shift Toolkit は、移行の準備としてソース VM 上でスクリプトを実行する prepareVM ジョブを開始します。
例を表示
準備プロセス:
-
VirtIO ドライバーの更新、qemu-agent のインストール、VMware ツールの削除、IP の詳細のバックアップ、fstab の更新を行うスクリプトを挿入します。
-
PowerCLI を使用してゲスト VM (Linux または Windows) に接続し、VirtIO ドライバーを更新します。
-
Windows VMの場合: スクリプトを以下に保存します
C:\NetApp -
Linux VMの場合: スクリプトを次の場所に保存します
/NetApp`そして `/opt
|
|
サポートされている VM OS の場合、Shift Toolkit はディスク変換前に必要な VirtIO ドライバーを自動的にインストールし、変換後の起動が正常に行われるようにします。 |
prepareVM が正常に完了すると、ブループリントのステータスが「PrepareVM 完了」に更新されます。移行はスケジュールされた時間に実行されるか、[移行] オプションをクリックして手動で開始できます。
例を表示
例を表示
ステップ4: 移行を実行する
移行ワークフローをトリガーして、VM を VMware ESXi から OpenShift Virtualization に変換します。
すべての VM は、計画されたメンテナンス スケジュールに従って正常に電源オフになります。
-
ブループリントで、[移行] をクリックします。
例を表示
-
Shift Toolkit は次の手順を実行します。
-
ブループリント内のすべてのVMの既存のスナップショットを削除します
-
ソースでVMスナップショットをトリガーします
-
ディスク変換前にボリュームのスナップショットをトリガーします
-
個々のボリュームを複製します
-
VMDKごとにVMDKをRAW形式に変換します
Shift Toolkit は、プライマリ ブート ディスクを含む、各 VM に関連付けられているすべての VMDK を自動的に検出します。
-
|
|
VMDK ファイルが複数ある場合は、各 VMDK が変換されます。このリリース (v4.0) では、各 VMDK を個別のボリューム/データストアに配置する必要があります。 |
-
ボリュームをクリーンアップして、disk.img ファイルだけを残します。
仮想マシンのディスク イメージが RAW 形式に変換されると、Shift Toolkit はボリュームをクリーンアップし、raw ファイルの名前を disk.img に変更し、必要な権限を割り当てます。
-
Tridentインポートを使用してボリュームをPVCとしてインポートします
次に、ボリュームはNetApp Trident API を使用して PVC としてインポートされます。
-
VM固有のyamlファイルを使用してVMを作成します
PVC がインポートされ、PV が配置されると、Shift Toolkit は OC CLI を使用して、yaml ファイルを使用して OS に応じて各 VM を作成します。
|
|
VM は「Default」名前空間の下に作成されます。 |
-
ターゲットのVMの電源をオンにする
VM OS に応じて、Shift Toolkit はストレージ コントローラー インターフェイスとともに VM ブート オプションを自動的に割り当てます。 Linux ディストリビューションの場合、VirtIO または VirtIO SCSI が使用されます。 Windows の場合、VM は SATA インターフェイスで電源をオンにし、スケジュールされたスクリプトによって VirtIO ドライバーが自動的にインストールされ、インターフェイスが VirtIO に変更されます。
-
各VMにネットワークを登録する
ネットワークはブループリントの選択に基づいて割り当てられます。
-
VMwareツールを削除し、cronジョブを使用してIPアドレスを割り当てます
例を表示
Shift Toolkit で仮想化用の移行ツールキットを使用する
このセクションでは、Migration Toolkit for Virtualization (MTV) をNetApp Shift Toolkit と組み合わせて使用し、Red Hat OpenShift Virtualization へのシームレスな移行を実現する方法について説明します。
次の前提条件が満たされていることを確認してください。
-
OpenShift Virtualization オペレーターとNetApp Trident CSI ドライバーがインストールされた OpenShift クラスター
-
MTV 2.9.4(変換モードを含む)
-
"シフトツールキット"インストール済み
Shift Toolkit API のみを使用するため、Shift Toolkit リソース グループまたはブループリントを構成する必要はありません。 -
OpenShift クラスターの管理者レベルの権限
-
tridentctlとOCコマンドラインツールがインストールされたLinuxインスタンス
-
Kubeconfig をエクスポートするか、OC ログインを実行してクラスターに接続します
-
Shift Toolkit UI(設定 > 開発者アクセス > スクリプトブロッカー)から「OpenShift-MTV」という名前のスクリプトをダウンロードします。
-
ファイルを解凍します。
unzip openshift-mtv.zip -
Python3 がインストールされていることを確認します。
dnf install python3 -
OpenJDK 8以降をインストールします。
yum install java-1.8.0-openjdk -
インストール要件:
pip install -r requirements.txt
-
-
MTV の仮想マシン要件: VM の VMDK は個別のボリュームに配置する必要があります。 3 つのディスクを持つ VM の場合、各ディスクは個別のボリューム (データストアを PVC 構造にマッピング) に配置する必要があります。これは、ストレージ vmotion を使用して手動で実行する必要があります。
-
MTV を使用して移行計画を作成します。
高速 VMDK 変換を活用するには、VM の移行計画を作成し、YAML に次のパラメータが含まれていることを確認します。
-
targetNamespace: default -
type: conversion -
storage: {}MTV によって IP 保持設定が確実に構成されるように、事前に計画を作成する必要があります。
-
-
vCenter から VM とONTAPストレージ上のボリュームをマップします。
スクリプトを使用して必要な PVC を作成し、OpenShift クラスターにインポートします。 PVC には次のラベルと注釈が必要です。
ラベル:
-
PVC 内の vmID と vmUUID (Forklift はこれらの値を探します)
注釈:
-
vmdkディスク名
forklift.konveyor.io/disk-sourceスクリプトは、すべての PVC に対してこれらの属性が設定されていることを確認して、disk.img の権限を更新します。
-
"owner": { "id": 107 } -
"group": { "id": 107 } -
"mode": "0655"
-
-
次の詳細で JSON ファイルを更新します。
-
* ONTAPクラスタ*: SVM にすることができます。vsadmin を使用できます。クローンボリュームをすぐに切り離す必要がない場合は、splitclone を「False」に設定します。
-
vCenter: VM および関連する VMDK ファイルを検出するための最小限の RBAC 権限
-
* Tridentストレージ クラス*: yaml で正しいバージョンの NFS バックエンドを指定する必要があります
-
OpenShift: プロジェクト名を指定します(例としてデフォルトが使用されます)
残りの値はデフォルトのままにしておきます。
-
-
前提条件を満たしたら、実行します `python3 main.py`PVC を作成し、OpenShift クラスターにインポートします。
-
PVC をインポートしたら、MTV を使用して移行をトリガーし、適切な仕様の VM を作成します。
例を表示
例を表示
-
MTV を使用して VMDK を変換します。
スクリプトは、プライマリ ブート ディスクを含む、各 VM に関連付けられているすべての VMDK を自動的に検出します。
VMDK ファイルが複数ある場合は、各 VMDK が変換されます。 -
RAW イメージを OpenShift Virtualization にアップロードします。
このスクリプトは、 Trident CSI を使用して、ボリュームを PVC としてクラスターにインポートします。 PVC yaml にはラベルと注釈が設定されます。
-
MTV を使用して仮想マシンを作成します。
インポート後、MTV プランを呼び出して移行を開始します。 UI には「Cold」と表示されますが、変換の yaml 仕様に基づいて、MTV は各 PVC と vmID/vmUUID をチェックし、それらをマッピングして、移行を初期化します。
例を表示
VM は仮想マシンの「Default」プロジェクトの下に作成されますが、これは MTV 移行プラン YAML 内で変更できます。 -
MTV を使用して VM を初めて起動します。
VM OS に応じて、MTV はストレージ コントローラ インターフェイスとともに VM ブート オプションを自動的に割り当てます。
例を表示
1.5 TB のデータ ディスク (3 つの PVC に分散) を備えた VM の移行は 6 分で完了しました。これは、 ONTAPストレージを使用して VM をリホームするための、合理化された影響の少ないアプローチを示しています。
この特定の統合を開始する前に、Red Hat アカウント チームにお問い合わせください。
ビデオデモ
次のビデオでは、このソリューションで概説されているプロセスを説明します。