Skip to main content
NetApp virtualization solutions
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

VMware ESXi から Red Hat OpenShift Virtualization への VM の移行

共同作成者 kevin-hoke

Shift Toolkit を使用して VM を準備し、ディスク形式を変換し、ターゲット環境を構成することで、VMware ESXi から Red Hat OpenShift Virtualization に VM を移行します。

Shift Toolkit は、ディスク形式の変換と移行先環境でのネットワーク再構成を通じて、仮想化プラットフォーム間での VM の移行を可能にします。

開始する前に

移行を開始する前に、次の前提条件が満たされていることを確認してください。

Red Hat OpenShift Virtualization の要件
  • 次のオペレーターがインストールされた OpenShift Cluster エンドポイント:

    • OpenShift Virtualization オペレーター

    • NetApp Trident CSI ドライバー

    • ニューメキシコ州

  • 適切なバックエンドとストレージクラスで構成されたNetApp Trident CSI

  • 適切なVLANで構成されたNodeNetworkConfigurationPolicyとNetworkAttachmentDefinitions(NAD)

  • OpenShift クラスターは、現在のホスト ファイル エントリを使用してネットワークに到達可能です。

  • クラスターの管理者レベルの権限

  • Kubeconfigファイルがダウンロードされました

VMware の要件
  • VMDKはsvmotionを使用して個別のボリュームに配置されます(PVC/PV構造のVMDKを模倣)。

    メモ この制限は、PVC プロビジョニングに NAS エコノミー ドライバーを使用できるようになる次のリリースで削除される予定です。
  • VMwareツールはゲストVM上で実行されています

  • 移行対象のVMは準備のため実行状態にあります

  • 移行を開始する前にVMの電源をオフにする必要があります

  • VMware Tools の削除は、VM の電源がオンになると、対象のハイパーバイザーで実行されます。

ゲストVMの要件
  • Windows VMの場合: ローカル管理者の資格情報を使用する

  • Linux VMの場合: パスワードプロンプトなしでsudoコマンドを実行する権限を持つユーザーを使用します

  • Windows VMの場合: VirtIO ISOをVMにマウントします("ここをクリックしてください。"

    メモ 準備スクリプトは、.msi パッケージを使用して、ドライバーと qemu-guest-agents をインストールします。

ステップ 1: 宛先サイトを追加する (OpenShift)

宛先の OpenShift Virtualization 環境を Shift Toolkit に追加します。

手順
  1. *新しいサイトを追加*をクリックし、*宛先*を選択します。

    例を表示
    目的地を選択
  2. 宛先サイトの詳細を入力します。

    • サイト名: サイトの名前を入力してください

    • ハイパーバイザー: OpenShiftを選択

    • サイトの場所: デフォルトのオプションを選択します

    • コネクタ: デフォルトの選択を選択します

  3. *続行*をクリックします。

    例を表示
    目的地サイトの詳細
  4. OpenShift の詳細を入力します。

    • エンドポイント: OpenShift Cluster エンドポイントの FQDN (例: api.demomigsno.demoval.com)

    • Kubeconfigファイルのアップロード: 最小限の権限でkubeconfigファイルを使用します

      メモ ファイル拡張子は yaml である必要があります。
    例を表示
    宛先OpenShiftの詳細
  5. *サイトの作成*をクリックします。

    例を表示
    宛先OpenShiftの作成
    メモ ディスク形式の変換は同じボリューム内のボリューム レベルで行われるため、ソース ボリュームと宛先ボリュームは同じになります。

ステップ2: リソースグループを作成する

VM をリソース グループに編成して、ブート順序とブート遅延構成を保持します。

開始する前に

VM VMDK が新しく作成されたONTAP SVM 上の個々のデータストア ボリュームに移動されていることを確認します。

手順
  1. リソース グループ に移動し、新しいリソース グループの作成 をクリックします。

  2. ドロップダウンからソースサイトを選択し、「作成」をクリックします。

  3. リソース グループの詳細を入力し、ワークフローを選択します。

    • クローンベースの移行: ソースハイパーバイザーから宛先ハイパーバイザーへのエンドツーエンドの移行を実行します

    • クローンベースの変換: ディスクフォーマットを選択したハイパーバイザータイプに変換します

  4. *続行*をクリックします。

  5. 検索オプションを使用して VM を選択します。

    メモ リソース グループの VM の選択は、データストア レベルではなく、仮想マシンに基づいています。
    例を表示
    仮想マシンに関連付けられたデータストア
    例を表示
    VMデータストアの詳細
  6. 移行の詳細を更新します:

    • *宛先サイト*を選択

    • *宛先OpenShiftエントリ*を選択します

    • ストレージクラスを選択する

      例を表示
      移行の詳細
      メモ TBC が 1 つしかない場合は、 Tridentバックエンドがソース ボリュームに自動的にマップされます。ただし、TBC が複数ある場合は、バックエンドを選択できます。
  7. 選択したすべての VM の起動順序と起動遅延を構成します。

    • 1: 最初に電源を入れるVM

    • 3: デフォルト

    • 5: 最後に電源を入れたVM

  8. *リソース グループの作成*をクリックします。

    例を表示
    移行の詳細設定
結果

リソース グループが作成され、ブループリントの構成の準備が整いました。

ステップ3: 移行ブループリントを作成する

プラットフォーム マッピング、ネットワーク構成、VM 設定などの移行計画を定義するブループリントを作成します。

手順
  1. ブループリント に移動し、新しいブループリントの作成 をクリックします。

  2. ブループリントの名前を指定し、ホスト マッピングを構成します。

    • *ソースサイト*と関連するvCenterを選択します

    • *宛先サイト*と関連するOpenShiftターゲットを選択します

    • クラスターとホストのマッピングを構成する

      例を表示
      設計図の詳細
  3. リソース グループの詳細を選択し、[続行] をクリックします。

  4. 複数のグループが存在する場合は、リソース グループの実行順序を設定します。

  5. 適切な論理ネットワークへのネットワーク マッピングを構成します。

    メモ ネットワーク接続定義は、適切な VLAN およびトランク オプションを使用して OpenShift クラスター内にすでにプロビジョニングされている必要があります。テスト移行の場合は、本番ネットワークの競合を避けるために「ネットワークを構成しない」を選択し、変換後にネットワーク設定を手動で割り当てます。
    例を表示
    ネットワークマッピング
  6. ストレージ クラスとバックエンド マッピングを確認します (VM の選択に基づいて自動的に選択されます)。

    メモ 仮想マシンを PVC から作成してパワーオンできるように、事前に VMDK が個々のボリュームに svmotion されていることを確認します。
  7. VM の詳細で、構成の詳細を選択し、各 OS タイプのサービス アカウント資格情報を入力します。

    • Windows: ローカル管理者権限を持つユーザーを使用します (ドメイン資格情報も使用できます)

    • Linux: パスワードプロンプトなしでsudoコマンドを実行できるユーザーを使用する

      例を表示
      構成の選択
      メモ 構成の選択により、ディスク イメージ形式を選択したり、prepareVM のオーバーライドをスキップしたり、ボリュームを親から分割するかどうかを選択したりできます。デフォルトでは、分割クローン機能は無効になっており、ワークフローはデフォルトで RAW 形式に設定されます。
  8. IP 設定を構成します。

    • 設定しない: デフォルトオプション

    • IP を保持: ソースシステムと同じ IP を保持します

    • DHCP: ターゲットVMにDHCPを割り当てる

      prepareVM フェーズ中に VM の電源がオンになっており、VMware Tools がインストールされていることを確認します。

  9. VM 設定を構成します。

    • CPU/RAMパラメータのサイズ変更(オプション)

    • 起動順序と起動遅延を変更する

    • 電源オン: 移行後にVMの電源をオンにする場合に選択します(デフォルト: オン)

    • VMware ツールを削除: 変換後に VMware ツールを削除します (デフォルト: 選択)

    • VMファームウェア: BIOS > BIOSおよびEFI > EFI(自動)

    • MAC アドレスを保持: ライセンス要件のために MAC アドレスを保持します

      メモ MAC アドレスを保持しながらインターフェース名を保持する必要がある場合は、ソース VM に適切な udev ルールが作成されていることを確認します。
    • サービス アカウントのオーバーライド: 必要に応じて別のサービス アカウントを指定します

  10. *続行*をクリックします。

  11. (オプション) 日時を選択して移行をスケジュールします。

    メモ VM の準備に時間をかけるため、移行は少なくとも 30 分前にスケジュールしてください。
  12. *ブループリントを作成*をクリックします。

結果

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 完了」に更新されます。移行はスケジュールされた時間に実行されるか、[移行] オプションをクリックして手動で開始できます。

例を表示
PrepareVM 完了ステータス
例を表示
移行準備完了のブループリント

ステップ4: 移行を実行する

移行ワークフローをトリガーして、VM を VMware ESXi から OpenShift Virtualization に変換します。

開始する前に

すべての VM は、計画されたメンテナンス スケジュールに従って正常に電源オフになります。

手順
  1. ブループリントで、[移行] をクリックします。

    例を表示
    移行手順
  2. 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アドレスを割り当てます

例を表示
Red Hat OpenShift VM 移行

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 を使用して手動で実行する必要があります。

手順
  1. MTV を使用して移行計画を作成します。

    高速 VMDK 変換を活用するには、VM の移行計画を作成し、YAML に次のパラメータが含まれていることを確認します。

    • targetNamespace: default

    • type: conversion

    • storage: {}

      メモ MTV によって IP 保持設定が確実に構成されるように、事前に計画を作成する必要があります。
  2. 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"

  3. 次の詳細で JSON ファイルを更新します。

    • * ONTAPクラスタ*: SVM にすることができます。vsadmin を使用できます。クローンボリュームをすぐに切り離す必要がない場合は、splitclone を「False」に設定します。

    • vCenter: VM および関連する VMDK ファイルを検出するための最小限の RBAC 権限

    • * Tridentストレージ クラス*: yaml で正しいバージョンの NFS バックエンドを指定する必要があります

    • OpenShift: プロジェクト名を指定します(例としてデフォルトが使用されます)

      メモ 残りの値はデフォルトのままにしておきます。
  4. 前提条件を満たしたら、実行します `python3 main.py`PVC を作成し、OpenShift クラスターにインポートします。

  5. PVC をインポートしたら、MTV を使用して移行をトリガーし、適切な仕様の VM を作成します。

    例を表示
    Pythonスクリプトの実行
    例を表示
    Shift Toolkitの結果
  6. MTV を使用して VMDK を変換します。

    スクリプトは、プライマリ ブート ディスクを含む、各 VM に関連付けられているすべての VMDK を自動的に検出します。

    メモ VMDK ファイルが複数ある場合は、各 VMDK が変換されます。
  7. RAW イメージを OpenShift Virtualization にアップロードします。

    このスクリプトは、 Trident CSI を使用して、ボリュームを PVC としてクラスターにインポートします。 PVC yaml にはラベルと注釈が設定されます。

  8. MTV を使用して仮想マシンを作成します。

    インポート後、MTV プランを呼び出して移行を開始します。 UI には「Cold」と表示されますが、変換の yaml 仕様に基づいて、MTV は各 PVC と vmID/vmUUID をチェックし、それらをマッピングして、移行を初期化します。

    例を表示
    移行状況
    メモ VM は仮想マシンの「Default」プロジェクトの下に作成されますが、これは MTV 移行プラン YAML 内で変更できます。
  9. MTV を使用して VM を初めて起動します。

    VM OS に応じて、MTV はストレージ コントローラ インターフェイスとともに VM ブート オプションを自動的に割り当てます。

    例を表示
    移住の歴史

    1.5 TB のデータ ディスク (3 つの PVC に分散) を備えた VM の移行は 6 分で完了しました。これは、 ONTAPストレージを使用して VM をリホームするための、合理化された影響の少ないアプローチを示しています。

    メモ この特定の統合を開始する前に、Red Hat アカウント チームにお問い合わせください。

ビデオデモ

次のビデオでは、このソリューションで概説されているプロセスを説明します。

ESX から Oracle Linux Virtualization Manager (OLVM) へのゼロタッチ移行