VMware VMをあるESXiホストから別のESXiホストへ移行する6つの方法

環境内に複数のESXiホストがある場合、仮想マシンをあるホストから別のホストに移行する必要がある場合があります。その理由としては、リソースを効率的に使用するため、またはホストのいずれかでコンピューティングリソースが不足していることが挙げられます。vCenterの有無にかかわらず、VMware vSphereで仮想マシンを移行するために利用できる方法について説明します。

前回のブログ記事で導入済みのVMwareホームラボで設定された環境を使用して、VM移行のワークフローを説明します:

  • ESXi01 - 192.168.101.101 (datastore10a, datastore40)
  • ESXi02 - 192.168.101.102 (datastore40-2)
  • vCenter8 - 192.168.101.103
NAKIVO for VMware vSphere バックアップ

NAKIVO for VMware vSphere バックアップ

VMware vSphere 仮想マシンの包括的なデータ保護と即時復旧機能。オンサイト、オフサイト、クラウド上の安全なバックアップ先。ランサムウェア対策機能。

vMotionによるVMware VMのホスト間移行

仮想マシンを別のESXiホストに移行する最も便利で効果的な方法は、vCenterとvMotion機能を使用することです。ESXiホスト上で実行中の両方のVMと、vCenter VMが稼働していることを確認してください。WebブラウザーでVMware vSphere Clientを開き、vCenter Serverにアクセスしてください。

VMwareでは、ホスト間およびデータストア間でVMを移行するためのvMotion機能を提供しています。Storage vMotionは、VMをあるストレージから別のストレージに移行する場合に使用します。vMotionを使用すると、VMの実行中でもVMを移行できます。この優れたエンタープライズレベルの機能は、ご自身のESXiホームラボでテストできます。移行中にネストされたLinux VMにpingを実行し、ダウンタイムが発生しないことを確認してください。

最初のESXiホストで実行中のVMを右クリックし (ESXi01 – 192.168.101.101)、 アクション メニューから 移行 をクリックしてください。

Opening the Actions menu for a VM to migrate

移行 ウィザードが開きます:

  1. 移行タイプを選択します 。この手順では、次の3つのオプションのいずれかを選択できます。
    • コンピューティングリソースのみを変更します 。VMが複数のESXiホストに接続された共有データストア上にある場合は、このオプションを選択してください。
    • ストレージのみを変更します 。VMを、直接接続されたデータストアから別のデータストアに移動する場合は、このオプションを選択してください。この場合、両方の直接接続されたデータストアは同じESXiホストに接続されています。
    • コンピューティングリソースとストレージの両方を変更します 。VMをあるホストから別のホストに移行する場合は、このオプションを選択してください。この場合、両方のホストで異なるデータストアを使用できます。
    • vCenter Server間のエクスポート 。別のSSOドメインに属するvCenter ServerにVMを移行する場合に使用します。

    現在のVMwareホームラボで再現したケースでは、3番目のオプションが適しています。両方のESXiホストに、それぞれ40 GBのデータストアがあります。実行中のVMは、あるホストから別のホストへ(ESXi01 > ESXi02)、またある40 GBのデータストアから別のデータストアへ(datastore40 > datastore40-2)移行されます。

    Selecting a VM migration type in VMware vSphere

  2. コンピューティングリソースを選択します 。このオプションでは、ESXiホストと、VMの実行に使用するCPUおよびメモリリソースを指定できます。vCenter8 > Datacenter01 > 192.168.101.102(このVMwareテスト環境の2番目のホストであるESXi02のIPアドレス)を選択してください。

    Selecting a compute resource for running a VM after migration

  3. ストレージを選択します 。この段階では、仮想マシンの移行先ストレージを選択してください。仮想ディスクの形式を選択してください: 元のソースと同じです(この場合はシンプロビジョニングです)。データストア(この例では datastore40-2)を選択します。
  4. ネットワーク を選択します。仮想マシンの移行先ネットワークを選択します。この例では、この目的で VM Network が選択されています。
  5. vMotion の優先度 を選択します。vMotion は高優先度(推奨)または通常の優先度に設定できます。高優先度に設定します。
  6. 完了の準備ができました 。VM の移行パラメーターを確認し、 完了 をクリックして移行を開始します。

VM の移行処理が完了するまで待ちます。VMware vSphere Client の Web インターフェイス下部にある 最近のタスク バーを開くと、タスクの進行状況を確認できます。VM の移行タスクが正常に完了すると、VM は 2 台目の ESXi ホストで実行を開始します(下のスクリーンショットを参照してください)。

A VM has been successfully migrated from one ESXi host to another

移行前にネットワークを確認し、VMware Tools をインストールするためにコンソールを開いた Lubuntu VM のデスクトップのプレビューを確認できます。仮想マシンの実行状態は維持されます。

vMotion を使用せずに VM を別のホストに移動する方法

vMotion と Storage vMotion を使用できない場合があります。これは、vCenter がインストールされていない場合や、VMware vSphere Essentials ライセンスで Storage vMotion の使用が許可されていない場合です。この場合、vCenter を使用せずに VM をコールド移行できます。

共有データストアを使用せずに、Windows VM を最初の ESXi ホスト(ESXi01)から 2 台目のホスト(ESXi02)に移行します。vCenter Server を使用せずに、ある ESXi ホストから別の ESXi ホストに VM をコピーするには、次の手順を実行します。

  1. Web ブラウザーを使用して、ソース VM が保存されているソース ESXi ホスト(ESXi01)の VMware Host Client にログインします。
  2. ナビゲーター ペインで ストレージ をクリックし、VM ファイルが保存されているデータストアをクリックして、 データストアブラウザー ボタンをクリックします。
  3. 別の ESXi ホストに移行する VM のディレクトリ(この例では Windows-VM 上の datastore10a)を参照します。
  4. ESXi01 上のソース VM の .vmdk、-flat.vmdk、および .vmx ファイルをダウンロードします。データストアブラウザーで VM の .vmdk ファイルを選択し、 ダウンロード をクリックします。. vmdk ファイルと –flat.vmdk ファイル(仮想ディスク記述子ファイルと仮想ディスクの生データファイル)をコンピューターにセーブします。VM に複数の仮想ディスクがある場合は、他の仮想ディスクについてもこの操作を繰り返します。同様に、.vmx VM 構成ファイルをダウンロードします。

    注: .vmdk ファイルと –flat.vmdk ファイルは、データストアブラウザーでは 1 つの .vmdk ファイルとして表示されます。代替方法として、SSH クライアントを使用してファイルを表示し、WinSCP などの SFTP クライアントを使用して ESXi データストアから VM ファイルをダウンロードできます。ダウンロードした –flat.vmdk ファイルは、シックプロビジョニング形式のファイルとしてダウンロードされます。仮想ディスクファイルを保存するために十分なディスク容量を確保してください。

    Selecting a virtual disk of a source VM to migrate

  5. 仮想マシンの移行先となる 2 台目の ESXi ホスト(この例では ESXi02)で、VMware Host Client にログインしてください。
  6. ナビゲータ ペインで ストレージ をクリックし、移行後に VM を配置するデータストア(datastore40b)を選択して、データストアブラウザーを開いてください。
  7. データストアブラウザーウィンドウで ディレクトリの作成 をクリックし、VM ディレクトリの名前(例: Windows-VM-copy)を入力して、該当するウィンドウで ディレクトリの作成 をクリックしてください。

    Creating a new VM directory to migrate a VM to this directory

  8. ディレクトリの作成後、 アップロード をクリックし、先ほど vmdk からダウンロードした VM の .flat.vmdk、-vmx、および .ESXi01 ファイルを選択してください。ファイルが ESXi02 のデータストアにアップロードされるまでお待ちください。

    Uploading the files of the migrating VM

  9. この場合、アップロードした仮想ディスクはシック仮想ディスク形式で保存されています。次の手順に従って仮想ディスクをシンプロビジョニング形式に変換し、ストレージ容量を節約してください。
  10. SSH クライアントで移行先の ESXi ホスト(ESXi02)に接続してください。Windows では PuTTY を使用でき、root としてログインしてください。ESXi ホストでは SSH アクセスを有効にする必要があります。
  11. VM 移行先ディレクトリとして作成した、ESXi02 データストア上の VM ディレクトリに移動してください。

    cd /vmfs/volumes/datastore40b/Windows-VM-copy/

  12. 次のコマンドを実行して、シックプロビジョニングの仮想ディスクをシンプロビジョニングの仮想ディスクに変換してください:

    vmkfstools -i sourcename.vmdk -d thin targetname.vmdk

    この例での正確なコマンドは次のとおりです:

    vmkfstools -i Windows-VM.vmdk -d thin Windows-VM-thin.vmdk

  13. 元のシック仮想ディスクの名前を次のコマンドで変更してください(変換後に問題なく動作することを確認したら、このディスクを削除できます):

    vmkfstools -E targetname.vmdk sourcename.vmdk

    この例でのコマンドは次のとおりです:

    vmkfstools -E Windows-VM.vmdk Windows-VM-thick.vmdk

    注: このコマンドは、仮想ディスクの記述子ファイルと仮想ディスクのデータファイル(.vmdk および –flat.vmdk)の両方の名前を変更します。

  14. 変換後に書き込まれた新しいシンプロビジョニング仮想ディスクの名前を、元の仮想ディスクの名前に合わせて変更してください:

    vmkfstools -E Windows-VM-thin.vmdk Windows-VM.vmdk

    Using vmkfstools to convert a thick disk to the thin format after VM migration

  15. ESXi02 のデータストアブラウザで、コピーした VM のディレクトリ(Windows-VM-copy)に移動し、VM 構成ファイル(.vmx)を選択します。
  16. .vmx ファイルを右クリックし、コンテキストメニューで VM の登録 をクリックして、クローンした VM を宛先の ESXi ホスト(ESXi02)に登録します。

    Registering the VM on the destination ESXi host to finish VM migration

  17. 移行後に作成された VM を起動します。
  18. すべてが正常に動作している場合は、仮想ディスクをシック形式からシン形式に変換した後に残った、シックプロビジョニングの仮想ディスクファイル(Windows-VM-thick-flat.vmdk および対応する .vmdk ファイル)を削除します。

変換後にディスクサイズが縮小されなかった場合は、シンプロビジョニングされた仮想ディスクの使用 際に空き領域を解放できます。

共有ストレージを使用した VMware の移行

この方法で VM を移行する場合、移行に関与するすべての ESXi ホストに共有ストレージを接続する必要があります。

VMware の移行には、VM のコピー(クローン作成)と VM の移動という 2 つのシナリオがあります。

  • VM をコピーするには:
    1. 共有データストア上に新しい VM フォルダを作成します。
    2. ソース VM のファイルを、新しく作成したフォルダにコピーします。
    3. 共有データストアに接続されている宛先 ESXi ホスト上で、VM のコピーを登録します。
  • VM を移動するには:
    1. ソース(1 台目)の ESXi ホスト上で VM の登録を解除します。
    2. 宛先(2 台目)の ESXi ホスト上で VM を登録します。

VM テンプレートを手動でエクスポート/インポートして VM を移動する方法

VM をテンプレートにエクスポートし、そのテンプレートをインポートして別の ESXi ホスト上に VM を作成することで、仮想マシンを移行またはクローンできます。この方法では、コールド VM 移行(電源がオフの VM が対象)を実行できます。テンプレートを使用すれば、vCenter なしでも vCenter ありでも、VMware VM を別のホストにコピーまたは移動できます。

vCenter を使用しないテンプレートによる VM 移行

vCenter を使用せずに VM を別のホストに移行するには、次の手順を実行します。

  1. ソース ESXi ホスト()の VMware Host Client で、 仮想マシン を ナビゲーター ESXi01 から開きます。
  2. VM を右クリックし、コンテキストメニューで エクスポート をクリックします。
  3. 選択されたファイルを確認し(.nvram を除いたデフォルトの選択のままで構いません)、 エクスポート をクリックします。

    Export of the VM to an OVF template to migrate a virtual machine to another standalone ESXi host

  4. Web ブラウザでファイルのダウンロードが完了するまで待ちます。この例では、エクスポートした VM の 3 つのファイルをダウンロードしました。
    • Windows-VM.mf
    • Windows-VM.ovf
    • Windows-VM-1.vmdk
  5. 移行先の ESXi ホストの VMware Host Client(ESXi02)で、 ナビゲータ の 仮想マシン に移動し、 仮想マシンの作成/登録 をクリックします。

    Creating a VM using a template

  6. 新規仮想マシン ウィザードの最初の手順で、 OVF または OVA ファイルから仮想マシンをデプロイ を選択します。ウィザードの各手順で 次へ をクリックして続行します。
  7. 移行先 ESXi ホスト上で一意となる VM 名(例:Windows-VM-clone)を入力し、OVF テンプレートとして事前にエクスポート済みの .ovf(または .ova)ファイルと .vmdk ファイルを選択します。

    Entering a VM name and selecting the OVF template files

  8. ストレージの選択 。移行する VM の保存先として、移行先 ESXi ホスト上のデータストアを選択します。
  9. 導入オプションの定義 。VM 接続用のネットワーク、仮想ディスクのシンまたはシックプロビジョニング、および導入後に VM を自動的に起動するかどうかを選択します。
  10. 完了前の確認 。設定を確認し、 完了 をクリックします。
  11. テンプレートからの VM のインポートが完了するまで待ちます 。次のメッセージが表示されます:VM_name successfully imported。

必要なディスクイメージがありません などのエラーが表示され、インポートに失敗する場合は、.ovf ファイルと .vmdk ファイルの両方が選択されていることを確認します。必要なファイルをすべて選択しても解決しない場合は、次の操作をお試しください。

  1. .vmdk テンプレートとともにエクスポートされた .ovf ファイルを、移行先の ESXi host のデータストアにコピーします。
  2. ソース VM と同じ構成で新しい VM を作成し、VM 作成ウィザードで既存の仮想ディスクを使用するオプションを選択します。
  3. 手順 1 で移行先のデータストアにコピーしたエクスポート済みの仮想ディスクを選択します。

vCenter のテンプレートを使用した VM の移行

vCenter でも、VMware vSphere Client を使用して VM を OVF テンプレートとしてエクスポートし、新しい VM としてインポートできます。

  1. VM を右クリックし、コンテキストメニューで テンプレート > OVF テンプレートのエクスポート をクリックします。
  2. テンプレート名を入力し、開いたウィンドウで必要なオプションを選択します。 OK をクリックします。
  3. テンプレートファイルをダウンロードします。

    Exporting a VM to an OVF template in vCenter

次に、仮想マシンを移行するため、OVF テンプレートを VM にデプロイします。

  1. vSphere Client の “ホストおよびクラスタ”ビューで、移行先の ESXi ホストを右クリックし、“OVF テンプレートのデプロイ”を選択します。
  2. ウィザードを完了して、VM の移行を完了します。

    How to deploy an OVF template with VMware vCenter

vSphere で OVF テンプレートを使用する代わりに、VM を VMware VM テンプレートに変換する方法もあります。VMware VMテンプレートの使用方法について詳しくご覧ください。

VMware PowerCLI を使用して VM を別のホストに移行する方法

PowerCLIでは、Move-VMコマンドレットを使用して、ある ESXi ホストから別の ESXi ホストに仮想マシンを移行できます。手順は次のとおりです。

  1. PowerCLI コンソールを起動するか、VMware PowerCLI モジュールをロードした状態で PowerShell を起動します。
  2. Connect-VIServerコマンドレットを使用して、vCenter Server または移行元の ESXi ホストに直接接続します。vCenter_or_ESXi_Hostを適切なサーバーアドレスに置き換えます。

    Connect-VIServer -Server <vCenter_or_ESXi_Host> -User <Username> -Password <Password>

  3. Get-VM コマンドレットを使用して、移行する仮想マシンの情報を取得します。

    $vm = Get-VM -Name "VM_Name"

  4. 移行先 ESXi ホストを選択します。仮想マシンの移動先となる ESXi ホストを特定します。

    $destinationHost = Get-VMHost -Name "Destination_ESXi_Host"

  5. 仮想マシンを移動します。Move-VMコマンドレットを使用して、移行を開始します。仮想マシン($vm)と移行先ホスト($destinationHost)を指定します。

    Move-VM -VM $vm -Destination $destinationHost

  6. Get-Taskコマンドレットを使用してタスクのステータスを確認し、移行の進行状況を監視します。

    Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1

  7. 以降のタスクが不要な場合は、必要に応じて vCenter Server または ESXi ホストから切断します。

    Disconnect-VIServer -Server * -Confirm:$false

例

ESXi ホスト間で VM を移行する PowerShell スクリプトとして使用できる、完全な例を示します。

# 移行元の vCenter Server または ESXi ホストに接続します

Connect-VIServer -Server 192.168.101.103 -User administrator@vsphere.local -Password Your_Password111

# 仮想マシンの情報を取得します

$vm = Get-VM -Name "Windows-VM"

# 移行先の ESXi ホストを特定します

$destinationHost = Get-VMHost -Name "192.168.101.102"

# 仮想マシンを移行先ホストに移動します

Move-VM -VM $vm -Destination $destinationHost

# 移行の進行状況を監視します

Get-Task | Where-Object {$_.Entity -eq $vm} | Sort-Object StartTime -Descending | Select-Object -First 1

# 移行元の vCenter Server または ESXi ホストから切断します

Disconnect-VIServer -Server * -Confirm:$false

移行を実行するために必要な権限があることを確認し、上記のコマンドに含まれる Source_vCenter_or_ESXi_Host、Username、Password、VM_Name、Destination_ESXi_Host などのプレースホルダーを実際の値に置き換えます。環境と要件に応じてスクリプトを調整します。 文章が切り詰められないよう、最後まで完全に有効な JSON 形式で出力します。

VMware Converter を使用して VM を別のホストに移行する方法

VMware vCenter Converter Standalone は、物理マシン、他のハイパーバイザーの VM、および以前のバージョンの VMware vSphere の VM を、vSphere 環境で使用する仮想マシンに変換できるツールです。このツールはライブ移行専用に設計されていませんが、Converter を使用して ESXi ホスト間で VM のコールド移行を実行できます(移行中はソース VM の電源をオフにしておく必要があります)。

VMware Converter を使用して VM を移行するには、次の手順を実行します。

  1. 必要なすべてのコンポーネントを準備します。
    • ダウンロード VMware の Web サイトから VMware vCenter Converter Standalone をダウンロードし、ソースと宛先の両方の ESXi ホストにアクセスできるマシンにインストールします。
    • ソースと宛先の両方の ESXi ホストへの管理者アクセス権があることを確認します。
    • VMware Converter を実行するマシンと、ソースおよび宛先の両方の ESXi ホストとの間で、適切なネットワーク接続が確立されていることを確認します。
  2. VMware Converter アプリケーションを、インストールされているマシンで起動します。
  3. マシンを変換 をクリックします。
  4. ソースの種類を選択します 。この場合、ソースとして 電源オフ および VMware Infrastructure 仮想マシン を選択します。ソース ESXi ホストの IP アドレスまたはホスト名(例:192.168.101.101)を入力し、接続に使用する資格情報を入力します。

    Using VMware Converter to migrate virtual machines

  5. ソース仮想マシンを選択します 。ソース ESXi ホスト上で使用可能な VM の一覧から、移行する仮想マシンを選択します。
  6. 宛先の種類を選択します 。宛先として VMware Infrastructure 仮想マシン を選択します。宛先 ESXi ホストの IP アドレスまたはホスト名(例:192.168.101.102)を入力し、接続に使用する資格情報を入力します。
  7. 宛先仮想マシンを構成します 。宛先 ESXi ホスト上の宛先仮想マシンの名前と所在地を指定します。
  8. 宛先の場所を選択します 。宛先 ESXi ホスト上のデータストアと仮想マシンのハードウェア バージョンを選択します。宛先 VM のデータセンター、クラスター、リソースプール、データストアなどの追加オプションを確認して構成できます。
  9. オプション 。必要に応じて、ディスクの種類、ネットワーク設定、カスタマイズオプションなどの変換オプションを構成します。
  10. 完了する準備ができました 。 選択内容の概要を確認し、 完了 をクリックして変換プロセスを開始します。
  11. Converter Standaloneインターフェイスで変換の進行状況を監視します。このツールはソースVMをシャットダウンし、そのディスクをコピーしてから、宛先ホストに新しいVMを作成します。
  12. 変換が完了したら、宛先ESXiホスト上にVMが正常に作成されたことを確認します。

VMware Converterの使用方法について詳しくお読みください。

NBRを使用してVMを別のホストに移行する方法

VMデータ保護ソリューションとVMレプリケーションを使用して、あるESXiホストから別のESXiホストにVMをコピーできます。NBRでは、このシナリオを使用して仮想マシンを移行できます。VMレプリケーション機能により、実行中のVMであっても効率的に移行できます。

このVM移行方法は、次のいずれの場合にも使用できます。

  • ESXiホストがvCenterによって管理されています
  • スタンドアロンESXiホストはvCenterによって管理されていません

要件:

  • すべてのスタンドアロンESXiホストをNAKIVO 在庫に追加する必要があります。
  • ESXiホストがvCenterによって管理されている場合、vCenter Serverをインベントリに追加する必要があります。

ESXi hosts are added to the inventory

NBRを使用して仮想マシンを移行するには、次の手順を実行します。

  1. NAKIVOソリューションのWebインターフェイスで、 ジョブ +(新しいジョブを追加)に移動し、 VMware vSphereレプリケーションジョブ をクリックします。

    Creating a new VMware VM replication job

  2. 開いた VMware vSphere用新規レプリケーションジョブウィザード で、ソースESXiホスト上のソースVMを選択します。この例では、Windows-VMのESXi01が選択されています。

    Selecting a source VM to replicate or clone

  3. 宛先ESXiホスト、データストア、およびVMフォルダーを選択します。

    Selecting the destination ESXi host and datastore for the VM replica

  4. VMのレプリケーションを完了するウィザードを完了し、宛先所在地にVMレプリカが作成されるまで待ちます。

この方法で、稼働中のVMを別のホストに移行できます。NBRで増分レプリケーションを設定し、本番VMが使用できない場合のVMフェイルオーバーにレプリカを使用できます。NBRは、単一のソリューションをインストールし、単一の画面から、バックアップ、DRオーケストレーションと自動化、リアルタイムレプリケーション、ランサムウェアからの復旧を提供する包括的なデータ保護ソリューションです。

NAKIVO Backup & Replication をお試しください

NAKIVO Backup & Replication をお試しください

無料トライアルを利用して、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

関連記事