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

Shift Toolkitを使用してVMware ESXiからProxmox VEへVMを移行する

共同作成者 kevin-hoke

Shift Toolkitを使用してVMware ESXiからProxmox VEへVMを移行するには、VMの準備、ディスクフォーマットの変換、およびターゲット環境の設定を行います。

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

開始する前に

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

Proxmox VE
  1. Proxmox VE 9.x 以降を使用したクォーラムを備えた、動作に必要な最小ノード 3 個以上のクラスタ。ONTAP NFS ストレージがストレージプールとして追加されました。

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

    • Proxmoxリリースは9.x以上です

    • Proxmoxノードはネットワークでアクセス可能です

    • 適切なボリュームとqtreeで構成されたNFSv3ストレージプール

    • ネットワーク(ブリッジ)は適切な vLAN で構成する必要があります。

仮想マシンの要件
  • VM の VMDK が NFSv3 ボリュームに配置されていることを確認します(特定の VM のすべての VMDK は同じボリュームに含まれている必要があります)。

  • VM の準備が正常に完了するには、ゲスト VM 上で VMware Tools が実行されている必要があります。

  • 移行が必要な VM が準備のために RUNNING 状態であることを確認してください

  • Shiftツールキットは、以下のスクリプトを挿入することでVMの準備を実行します:

    • VirtIOドライバを追加

    • VMware ツールを削除する

    • バックアップIPアドレス、ルート、DNS情報

メモ 移行を開始する前に、仮想マシンの電源をオフにする必要があります。
メモ VMware Toolsの削除は、VMの電源がオンになると宛先ハイパーバイザーで行われます
  • Windows VM を準備するために Invoke-VMScript を実行する場合は、ローカル管理者アカウントを使用するか、ローカルの Administrators グループに属する Active Directory アカウントを使用してください。Linux システムの場合は、パスワードを必要とせずにコマンドを実行できるアカウントを使用してください(例:パスワードなしの sudo を使用)。

  • Windows VMの場合、VirtIO ISOがマウントされていることを確認してください。マウントされていない場合、準備プロセスは失敗します。VirtIO ISOドライバはここからダウンロードできます。このスクリプトはマウントされたドライブを検出し、必要なファイルを自動的にコピーします。

    • リンクで指定されたISOが使用されていることを確認してください。準備スクリプトは.msiパッケージを使用してドライバとqemu-guest-agentをインストールします。前提条件が整ったら、Shift toolkit UIにログインし、Proxmox VEを宛先ハイパーバイザーとしてサイトを設定します。追加するには、「Add New Site」をクリックして「Destination」を選択します。

ステップ1:接続先サイト(Proxmox VE)を追加する

移行先のProxmox VE環境をShift Toolkitに追加します。

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

    例を表示

    宛先サイトを追加

  2. 宛先サイトの詳細を入力します。

    サイト名:サイトの名前を指定します ハイパーバイザー:ターゲットとして Proxmox VE (PVE) を選択します サイトの場所:デフォルトのオプションを選択します コネクタ:デフォルトの選択を選択します

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

    例を表示

    デスティネーションサイトの詳細を追加

  4. 宛先PVEの詳細を入力します

    Endpoint:ProxmoxノードのIPアドレスまたはFQDN Username:アクセスするlinuxユーザー名(形式:username)* 例:ntapshift。@pamについて言及する必要はありません。Password:アクセスするためのパスワード

  5. *自己署名証明書を受け入れる*を選択し、*続行*をクリックします。

    例を表示

    Proxmox VEの詳細

  6. *サイトの作成*をクリックします。

    例を表示
    サイトを作成
    メモ ディスクフォーマット変換はボリュームレベルで、かつ同一ボリューム内で行われるため、ソースボリュームと宛先ボリュームは同じになります。

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

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

開始する前に
  • リソース グループを作成する前に、Qtree がプロビジョニングされていることを確認します (前提条件のセクションで説明されているとおり)。

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

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

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

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

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

      例を表示
      リソース グループの詳細
  4. *続行*をクリックします。

  5. 検索オプションを使用して VM を選択します (デフォルトのフィルターは「データストア」です)。

    メモ 変換前に、変換または移行する VM を、新しく作成されたONTAP SVM 上の指定されたデータストアに移動します。これにより、本番環境の NFS データストアを分離することができ、指定されたデータストアを仮想マシンのステージングに使用できるようになります。
    メモ データストア ドロップダウンには、NFSv3 データストアのみが表示されます。 NFSv4 データストアは表示されません。
    例を表示
    VMの選択
  6. 移行の詳細を更新します:

    • *宛先サイト*を選択

    • 宛先 Proxmox エントリ を選択

    • データストアからQtreeへのマッピングを構成する

      例を表示
      移行の詳細
      メモ 変換された VM が保存される宛先パスが、ESXi から Proxmox VE に VM を変換する際に qtree に設定されていることを確認してください。変換された VM ディスクを保存するために、複数の qtree を作成して使用することができます。
    メモ 複数の qtree を作成し、それに応じて変換された VM ディスクを保存するために使用できます。
  7. 選択したすべての VM の起動順序と起動遅延を構成します。

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

    • 3: デフォルト

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

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

    例を表示
    リソース グループを作成
結果

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

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

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

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

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

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

    • *Destination Site*と関連するProxmox VEターゲットを選択してください。

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

      例を表示
      ホストマッピング
      例を表示
      ホストマッピング
  3. リソース グループの詳細を選択し、[続行] をクリックします。

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

  5. 適切な仮想スイッチへのネットワーク マッピングを構成します。

    メモ テスト移行の場合、「ネットワークを構成しない」がデフォルトの選択肢となっており、Shift toolkitはIPアドレスの割り当てを行いません。ディスクの変換が完了し、PVE側で仮想マシンが起動したら、本番ネットワークとの競合を避けるため、バブル論理ネットワークを手動で割り当ててください。
    例を表示
    ネットワークマッピング
  6. ストレージ マッピングを確認します (VM の選択に基づいて自動的に選択されます)。

    メモ 仮想マシンを SMB 共有から作成してパワーオンできるように、qtree が事前にプロビジョニングされ、必要な権限が割り当てられていることを確認します。
  7. VM の詳細で、構成の詳細を選択し、各 OS タイプのサービス アカウント資格情報を入力します。

    • Windows: ローカル管理者権限を持つユーザーを使用します (ドメイン資格情報も使用できますが、変換前に VM にユーザー プロファイルが存在することを確認してください)

    • Linux: パスワードプロンプトなしでsudoコマンドを実行できるユーザーを使用します(ユーザーはsudoersリストに含まれているか、 `/etc/sudoers.d/`フォルダ)

      例を表示
      VM認証情報
      例を表示
      VM認証情報
      メモ 構成選択では、ディスクイメージのフォーマットを選択したり、prepareVMのオーバーライドをスキップしたりできます。ディスクイメージ形式の場合、ワークフローはデフォルトでQCOW2形式になりますが、RAW形式が必要な場合は選択できます。prepareVMのオーバーライドを使用すると、VMの準備をスキップできるため、管理者は独自のスクリプトを実行してVMを移行準備状態にすることができます。このオプションを選択した場合、Shiftツールキットはスクリプトを挿入したり、VirtIOドライバを追加したりしません。
  8. IP 設定を構成します。

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

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

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

      準備 VM フェーズ中に VM の電源がオンになっていること、VMware Tools がインストールされていること、準備スクリプトが適切な権限で実行されていることを確認します。

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

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

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

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

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

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

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

    • サービス アカウントのオーバーライド: 必要に応じて別のサービス アカウントを指定します

    • VLANオーバーライド: ターゲットハイパーバイザーが異なるVLAN名を使用している場合は、正しいタグ付きVLAN名を選択します。

      例を表示
      VM構成
  10. *続行*をクリックします。

  11. 日時を選択して移行をスケジュールします。

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

結果

Shift Toolkit は、移行の準備としてソース VM 上でスクリプトを実行する prepareVM ジョブを開始します。

例を表示
PrepareVMジョブ

準備プロセス:

  • ドライバー(RHEL/CentOS、Alma Linux)を追加し、VMwareツールを削除し、IP/ルート/DNS情報をバックアップするためのスクリプトを挿入します。

  • invoke-VMScript を使用してゲスト VM に接続し、準備タスクを実行します。

  • Windows VMの場合: スクリプトを以下に保存します C:\NetApp

  • Linux VMの場合: スクリプトを次の場所に保存します /NetApp`そして `/opt

例を表示
Windows準備スクリプト

prepareVM が正常に完了すると、ブループリントのステータスが「アクティブ」に更新されます。移行はスケジュールされた時間に実行されるか、[移行] オプションをクリックして手動で開始できます。

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

VMware ESXiからProxmox VEへ仮想マシンを変換するための移行ワークフローを開始します。

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

  • Shift VMがドメインの一部であることを確認する

  • CIFS共有が適切な権限で設定されていることを確認する

  • 移行または変換に使用されるqtreeには適切なセキュリティスタイルがあります

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

  2. Shift Toolkit は次のアクションを実行します。

    • ブループリント内のすべてのVMの既存のスナップショットを削除します

    • Blueprint の VM スナップショットをソース側でトリガーする

    • ディスク変換前にボリュームスナップショットをトリガーする

    • ダミーディスクを関連付けた VM を作成する

    • すべての仮想マシンのVMDKをQCOW2またはRAW形式に変換し、ダミーディスクを上書きします

    • リソースグループ内の VM の電源をオンにする – ターゲット

    • 各VMにネットワークを登録する

    • VMware Toolsを削除し、OSの種類に応じてトリガースクリプトまたはcronジョブを使用してIPアドレスを割り当てます

変換は数秒で完了するため、これが最速の移行方法となり、VM のダウンタイムが短縮されます。

結果

ジョブが完了すると、ブループリントのステータスが「移行完了」に変わります。

例を表示
移行完了
例を表示
Proxmox VE の VM

Shift ツールキットのワークフロー

以下のセクションでは、Shift ツールキットによってトリガーされた、VMDK の変換と Proxmox VE 側での VM の作成に関する手順について説明します。

VMDKの変換

Shift ツールキットは、プライマリ ブート ディスクを含む各 VM に関連付けられた VMDK を自動的に検出します。

メモ VMDK ファイルが複数ある場合は、各 VMDK が変換されます。
QCOW2またはRAWイメージをPVE NFSベースのストレージプールにアップロードします

仮想マシンのディスクイメージをqcow2またはRAW形式に変換すると、Shiftツールキットはファイルを適切なストレージプールに配置し、各ディスクをそれぞれのVM IDフォルダ内に追加します。

shift toolkit 469
仮想マシンを作成する

Shift toolkitは、OSに応じて各VMを作成するためにREST API呼び出しを行います。

メモ VMはそれぞれのProxmoxノードの下に作成されます。
VMを初めて起動する

仮想マシンのOSに応じて、Shiftツールキットはストレージコントローラーのインターフェースとともに、VMの起動オプションを自動的に割り当てます。Linuxディストリビューションの場合、VirtIOまたはVirtIO scsiが使用されます。Windowsの場合、仮想マシンはSATAインターフェースで電源がオンになり、その後、スケジュールされたスクリプトによってVirtIOドライバーが自動的にインストールされ、インターフェースがVirtIOに変更されます。ネットワークは選択に基づいて適切に割り当てられます。

Proxmox VE VMの詳細

Proxmox VEでVMを移行および作成するための最小限の権限

このセクションでは、VM移行を実行するために必要な最小限の権限を持つ専用ユーザーアカウントを作成する手順について説明します。

  1. Linuxユーザーを作成する

    1. useradd -m -s /bin/bash ntapshift

    2. passwd ntapshift

  2. Proxmoxにユーザーを追加する

    1. pveum useradd ntapshift@pam

  3. 移行ロールを作成する

    1. pveum roleadd ntapshift-migrator -privs "Datastore.AllocateSpace, Datastore.AllocateTemplate, Datastore.Audit, SDN.Audit, SDN.Use, Sys.AccessNetwork, Sys.Audit, Sys.Modify, VM.Allocate, VM.Audit, VM.Config.CDROM, VM.Config.CPU, VM.Config.Cloudinit, VM.Config.Disk, VM.Config.HWType, VM.Config.Memory, VM.Config.Network, VM.Config.Options, VM.Console, VM.Migrate, VM.PowerMgmt"

  4. クラスタルートでロールを割り当てる

    1. pveum aclmod / -user ntapshift@pam -role ntapshift-migrator

  5. 特定のノードに役割を割り当てる

    1. pveum aclmod /nodes/<node-name> -user ntapshift@pam -role ntapshift-migrator

メモ ( `<node-name>`を各実際のProxmoxノード名に置き換えてください)