VMware から Hyper-V へ移行する方法

さまざまな理由から、VMwareの仮想マシンをHyper-Vの仮想マシンに変換する必要が生じる場合があります。 例えば、複数のハイパーバイザーが混在する環境を運用している場合や、テストのためにVMwareからHyper-Vへの移行を行う必要がある場合、特定のソフトウェアに対してより合理的なライセンスモデルを採用したい場合などが挙げられます。しかし、これらの2つの仮想化プラットフォームには、いくつかの類似点がある一方で、重要な相違点も存在します。
移行を円滑かつ成功させるためには、VMwareからHyper-Vへの仮想マシン変換プロセスを理解することが重要です。このブログ記事では、VMware仮想マシンをHyper-V仮想マシンに変換するための、最も費用対効果の高い方法とツールについて解説します。

Hyper-V バックアップ用 NAKIVO

Hyper-V バックアップ用 NAKIVO

Hyper-V向けの、エージェントレスかつアプリケーション対応のバックアップ機能。ランサムウェア対策、バックアップからのVMの即時起動、その他の仮想/物理プラットフォームへの対応など。

変換ツールと方法の概要

以下は、VMware VMをHyper-Vに変換するためにMicrosoftが提供している、最も広く利用されている方法です:

  • Microsoft Virtual Machine Converter (MVMC) の使用。MVMCは、GUI(グラフィカルユーザーインターフェイス)を備えた無料のスタンドアロンツールであり、仮想マシン(および 物理マシンを仮想マシンに変換する)を変換することができます。 これを使用すると、仮想マシンをMicrosoft Hyper-VやAzureに移行でき、VMware ESXi仮想マシンをHyper-V形式の仮想マシンに変換することも可能です。
  • PowerShellを使用してVMDKをVHDに変換し、変換された仮想ディスクを新しいHyper-V仮想マシンに接続する方法 。この方法は、仮想ディスクファイルは利用可能であるが、VMファイル(VMX構成ファイルなど)がすべて揃っていない場合に使用できます。 この方法では、VMware Workstation VM と VMware ESXi VM の両方を変換できます。
  • System Center Virtual Machine Manager (VMM) を使用した VM の変換。VMM は、VM、ホスト、クラスターの管理を含む、Hyper-V および VMware 環境の一元管理を可能にする商用ソフトウェアソリューションであり、VM 変換機能も提供しています。

VMware から Hyper-V への移行に向けた仮想マシンの準備

VMware 仮想マシンを Hyper-V に変換する前に、エラーを防止し、移行プロセスを円滑に進めるために、以下の手順を実行する必要があります。

  • 不要な仮想デバイスを削除し、仮想 CD を取り出します。 仮想フロッピーディスクドライブ や COM コントローラー、LPT コントローラーなどのデバイスは、互換性を向上させ、発生しうる障害を防ぐために削除できます。 Generation-1 Hyper-V VM を作成する場合は、後でこれらのデバイスを追加できます。

    注: MVMC 3 は Hyper-V Generation 2 VM をサポートしていません。

  • 仮想ハードディスクをクリーンアップします。 VM の仮想ディスク上のスペースを消費している一時ファイルやその他の不要なファイルを削除します。使用されていないプログラムやコンポーネントを削除します。この方法により、移行先の仮想ディスクが動的に拡張される(シンプロビジョニング)場合、ディスク容量と時間を節約できます。
  • すべてのVMスナップショットを削除または統合します。 VMにスナップショットが含まれていない場合、VM変換中のエラー発生確率を低減できます。
  • オンライン変換(オンラインのみ)の前に、 VMware Tools をアンインストールします。 これにより、VMwareベースのVMをHyper-Vへクリーンに移行できます。Hyper-V VMでは、VMware Toolsスイートは必要ありません。 Hyper-V には、仮想マシンのゲスト OS のパフォーマンスを向上させるために設計された”Integration Services”ユーティリティスイートが提供されています。

VMware から Hyper-V への移行に関する追加の考慮事項

Microsoft Virtual Machine Converter (MVMC) は、VMware Tools をアンインストールする前に、変換対象の仮想マシンのスナップショットを取得し、変換中の状態を保持するためにソースマシンをシャットダウンします。 仮想マシンに接続されているソースディスクが、変換処理が実行されるマシンに正常にコピーされると、仮想マシンは以前の状態に復元されます。その時点で、必要に応じて VMware 内のソースマシンを起動することができます。
MVMC は、オフライン変換中に VMware Tools をアンインストールしません。代わりに、Windows Server ゲストオペレーティングシステムに対してのみ、VMware のサービス、ドライバー、およびプログラムを無効にします。 Linux ゲスト OS でのファイル変換の場合、VMware Tools は無効化もアンインストールもされません。オフラインの仮想マシンを変換する際は、VMware Tools を手動でアンインストールすることを強く推奨します。

Microsoft Virtual Machine Converter を使用した変換

Microsoft Virtual Machine Converter を使用して、VMware ベースの仮想マシンを Hyper-V 仮想マシンに変換する手順について検討しましょう。
入力パラメータは以下の通りです。

  • 仮想マシン(仮想ハードウェアバージョン 7)は ESXi 6.5 上で実行されています(ただし、ここで説明するワークフローは他のバージョンやそれ以降の仮想ハードウェアバージョンにも適用されます)。
  • 仮想マシンには、スナップショットのない仮想ディスクが 1 つあります。
  • VMware Tools スイートはインストールされていません。

変換プロセスを開始するには:

  1. MVMCをダウンロード 実行可能インストーラー . msi ファイルを使用します。スタンドアロン版 MVMC の最新バージョンは 3.1 です。Windows PowerShell コマンドレットの説明が記載された . doc file もダウンロードできます。

    :Microsoft Virtual Machine Converter の新しいバージョンについては、Microsoft がスタンドアロン版 MVMC の新バージョンのリリースを終了し、公式サポートも終了したため、 Microsoft System Center Virtual Machine Manager (VMM) の一部としてこのツールを使用できます。

  2. インストール手順は簡単です。インストーラーを実行し、使用許諾契約に同意し、インストール先ディレクトリを選択して、セットアップウィザードで [インストール] をクリックします。VMの変換中に作成される一時ファイル用のスペースも含め、十分なディスク空き容量があることを確認してください。
  3. インストールが完了したら、コンバーターを実行してください。 スタート > マイクロソフトバーチャルマシンコンバーター をクリックしてコンバーターを実行してください。
  4. 開始する前に、短い説明を読むことができます。この画面を表示したくない場合は、このページを再び表示しないチェックボックスを選択してください。続行するには、次へをクリックします。
  5. マシンタイプ。変換するソースマシンのタイプを選択します。この場合、バーチャルマシンの変換を選択します。”次へ“をクリックします。

    Starting Microsoft Virtual Machine Converter

  6. 移行先を選択します。この段階では、Microsoft Azure クラウドへの移行と Hyper-V への移行の2つのオプションがあります。このブログ記事では VMware VM を Hyper-V VM に変換する方法について説明しているため、この場合はHyper-V に移行オプションを選択してください。”次へ“をクリックします。

    Migrate VMware to Hyper-V with MVMC

  7. 宛先Hyper-Vホストを選択します。この例では、Hyper-V サーバーがローカルホスト(コンバーターとHyper-V サーバーがインストールされていますが同じマシン上で実行中)で実行されています。Microsoft バーチャルマシンコンバーターは、変換された VM をネットワークを介してオフサイトの宛先ホストに保存することもできます。

    コンバーターと Hyper-V ホストが異なるマシン上で実行されている場合は、それに応じてファイアウォールが設定されていることを確認してください。リモートアクセスには Windows 管理インストゥルメンテーション を有効にし、宛先マシン上で適切なサービスが開始されている必要があります。

    宛先ホストの名前または IP アドレスを選択し、Hyper-V ホストに接続するための十分なアクセス権を持つユーザの資格情報を追加します。(宛先 Hyper-V ホストのローカル管理者およびドメイン管理者はこの種のアクセス権を持っています)。続行するには、次へをクリックします。

    MVMC– selecting a destination Hyper-V host

  8. ディスクオプションの設定。変換された仮想ハードディスクを保存するためのネットワークパスを指定します。この手順の場合、VM は同じマシンにインストールされている Hyper-V サーバーに変換され転送されているため、次のネットワークパスを適用します:

    \\localhost\c$\Virtual\Hyper-V\converted

    システムディスク(通常は C:)を本番環境で VM を保存するために使用することは避けることをお勧めします。たとえば、Hyper-V ホストがリモートマシンである場合、選択したパスは次のようになります:

    \\10.10.10.12\d$\Virtual\Hyper-V

    変換後に使用する仮想ディスクの種類を選択してください。 仮想ディスクには二つのタイプがあります:固定長ディスク(厚プロビジョニングされたディスクのアナログ)または動的に拡張するディスク(薄プロビジョニングディスクのアナログ)です。この手順では、ストレージスペースを節約するために動的拡張ディスクを選択します。

    仮想ハードディスクのフォーマットを選択してください。vhdx は、両方のHyper-V Gen1 および Gen2 仮想マシンによって使用される新しくて進歩的なファイル形式です。この手順の目的のために、.vhdx を選択しました。

    次へをクリックして続行してください。

    MVMC – selecting a virtual disk format

  9. 接続先サーバーまたはvCenterソース詳細を指定してくださいESXi サーバー。この例では、ESXiサーバー上の仮想マシンを変換しています。そのため、ESXiサーバーのIPアドレス、ユーザー名、パスワードをこのステップで入力する必要があります。vCenterを使用してESXiホストを集中管理している場合、vCenterの管理用認証情報を利用できます。次へをクリックして進んでください。

    MVMC – connecting to the source ESXi server

  10. 次に、選択したESXiサーバーから変換する仮想マシンを選択してください。この例では、ESXiホスト上で動作している軽量のWindows仮想マシンを変換します。仮想マシンを選択した後、次へをクリックしてください。

    MVMC– selecting a VM

  11. 仮想マシン接続です。Linux仮想マシンにVMware Toolsがインストールされている場合、コンバータがVMware Toolsをアンインストールするために、ソースVMのrootアカウントのユーザー名とパスワードを提供する必要があります。この例では、VMware ToolsがインストールされていないWindowsマシンを使用しており、これらのフィールドは無効です。ソースマシンの最終状態および目的地マシンの最終状態(オンまたはオフ)を定義してください。次へをクリックします。

    Selecting the final state of the VM we want for VM migration

  12. 作業領域を定義します。作業領域は、変換プロセス中に一時ファイルを保存するための一時フォルダーです。より良いパフォーマンスのために、このフォルダーはMicrosoft Virtual Machine Converterをインストールしているマシンに存在するべきです。パスを入力するか、または参照ボタンをクリックして適切なフォルダーを選択してください。その後、次へをクリックします。

    Selecting a folder for temporary files used to convert VMs

  13. 概要を確認します。指定した構成の詳細をレビューしてください。警告が重要でない場合、それらは変換を妨げません。我々の場合、コンバーターはWindows 10、Windows Server 2016、2019、および新しいWindowsバージョンで問題なく動作しているため、オペレーティングシステムの警告を無視します。あとでメモリ設定を調整できます。 仮想マシン変換プロセスを開始するには、終了をクリックします。

    Checking the configuration summary before starting migration

  14. 仮想マシンの変換が完了するのを待ちます。このプロセスは、ソースVMの仮想ディスクのサイズやネットワーク速度によって時間がかかる場合があります。変換が成功した場合は、仮想マシンコンバーターを終了するために閉じるをクリックします。

    MVMC migration process completion

  15. 変換したVMの設定を編集でき、新しいVMがHyper-V マネージャーのVMリストに表示されます。VMを右クリックし、コンテキストメニューから設定を選択します。VMは以前に指定したディレクトリに保存されています。 ネットワークアダプタを削除して、レガシーネットワークアダプタを追加し、古いゲストOSのネットワークを有効にします。その後、適切な仮想スイッチを選択するか、新しいものを作成してVMをネットワークに接続します。

    Editing Hyper-V network settings for the VM

  16. VMの設定を構成した後、VMを開始し、ゲストOSを構成します。OSが新しい仮想デバイスを認識するまで待ちます。パフォーマンスとユーザーエクスペリエンスを向上させるために、Hyper-Vの統合サービスをインストールするのを忘れないでください。統合サービスを手動でインストールするには、 VMの仮想DVDドライブにvmguest.isoイメージを挿入し、インストーラーを実行します。インストールが完了したら、VMを再起動し、仮想ISOディスクを排出します。

    Installing Integration Services after finishing VM migration

VMwareからHyper-Vへの信頼できる移行方法を学ぶには、この動画をご覧ください。

VMDKをVHDにPowerShellで変換する

では、VM変換の別のユースケースについて考えてみましょう。VMware VMの仮想ディスクのみを持っている場合、またはVMware Workstation用のVMを持っている場合(ESXi用ではない)は、Microsoft Virtual Machine Converter GUIを使用することはできません。 MVMCをインストールすると、いくつかの便利な PowerShell コマンドレットも提供されます。以下の例では、コマンドラインインタフェース(CLI)を使用してVMDK仮想ディスクをHyper-V形式のディスクに変換する方法、およびその仮想ディスクを使用してHyper-VでVMを実行する方法を学ぶことができます。

VMware Workstationベースの仮想ディスクの変換

  1. 現在のPowerShellセッションにコンバーターモジュールを追加します。モジュールはMicrosoft Virtual Machine Converterがインストールされているディレクトリにあります。この例では、コンバーターのデフォルトの所在地が使用されています。PowerShellに次のコマンドを入力します:

    Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

    コンバーターが別のディレクトリにインストールされている場合は、そのディレクトリのパスをC:\Program Files\Microsoft Virtual Machine Converter\

    と交換して入力してください。

    Importing a PowerShell module for VMware to Hyper-V migration

  2. VMのディレクトリに移動し、そのディレクトリのファイルを一覧表示します。(VMwareからHyper-Vに移行したいVMはStorageLinuxと呼ばれています。)この例では、VMはC:\virtual\StorageLinuxにあります。

    cd C:\virtual\StorageLinux

    dir

    ここでVMファイルを確認できます。VMDKファイルの名前を確認しておいてください。これは後の操作で必要になります。この例では、1つの仮想ディスクを持つLinux仮想マシンが使用されています。重要なことに、VMにはスナップショットがなく、VMware Toolsもインストールされていません(下のスクリーンショットを参照)。

    Viewing VMware VM files

  3. VMwareをHyper-V仮想ディスク形式に変換する時がきました。次のコマンドと引数を使用して、PowerShellでコンバーターを実行します:

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\StorageLinux\StorageLinux 3.x kernel 64-bit.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhd

    ここで:

    -SourceLiteralPath <path> VMware仮想ディスクの変換のためのパスです。

    -DestinationLiteralPath <path> Hyper-V形式の仮想ディスクを保存するディレクトリへのパスです。

    -VhdType <type> 仮想ディスクのタイプ(動的拡張型または固定型)を定義します。

    -VhdFormat Hyper-V仮想ディスクの形式(VHDまたはVHDX)を定義します。

    変換プロセスが完了するまでお待ちください。進行状況バーが現在の状態を示します。

    How to convert VMware to Hyper-V format of virtual disks in PowerShell

  4. VMDKからVHDに仮想ディスクが正常に変換された場合、次の内容が画面に表示されます:

    How to convert VMware Workstation to Hyper-V format of a virtual disk

  5. 新しいVMを作成し、変換で作成されたVHDディスクを使用します。この部分については、Hyper-V で新しい仮想マシンを作成する方法を説明するブログ記事を参照してください。重要な点は、仮想ディスクを接続することです。 新しい仮想マシンウィザード の適切な段階で、 既存の仮想ハードディスクを使用 を選択し、新しく作成されたVHDファイルの場所を指定してください。

    Attaching a converted virtual disk to a Hyper-V VM

  6. VMの設定が完了したら、Hyper-Vホストで仮想マシンを実行します。

    Running a VM after finishing the VM conversion

この方法は、複数の仮想ディスクを持つVMの変換にも使用できます。この場合、変換後に各仮想ディスクをVMに接続する必要があります。

VMware ESXi形式の仮想ディスク変換

最初に、Microsoft Virtual Machine ConverterがインストールされたマシンにESXiホストのデータストアから仮想ディスクファイルをコピーする必要があります。この場合、1つのVMware仮想ディスクは2つのファイルで構成されています: diskname.vmdk diskname-flat.vmdk です。 . vmdk ファイルは、仮想ディスクの構成情報を含んでいる記述子であり、-flat.vmdk ファイルを指しています。 仮想ディスクのデータ-flat.vmdk ファイル内に保存されます(生の形式であり、物理ハードディスクドライブに似ています)。 . vmdk ファイルのサイズは数キロバイトですが、-flat.vmdk ファイルのサイズははるかに大きいです。 VMware vSphere クライアントまたは任意の SCP(Secure Copy Protocol)クライアントを使用して、ESXi ホストから VMware 仮想ディスク ファイルをコピーすることが可能です。

VMware vSphere クライアントを使用したファイルのコピー

この方法は、vCenter Server を使用して ESXi ホストを管理している場合に使用できます。

  1. VMware vSphere クライアントで vCenter にログインします – ウェブブラウザのアドレスバーに vCenter Server の IP アドレスを入力してください。
  2. ストレージタブ に移動し、VM のファイルがあるデータストアを選択し、VM ディレクトリを選択し、変換すべき仮想ディスクを選択します。
  3. ディスクを選択した後、 ダウンロード をクリックし、. vmdk および -flat.vmdk ファイルを含む Zip アーカイブを MVMC がインストールされているマシンにセーブします。仮想ディスクファイルのサイズにご注意ください。この例で使用されている VM( Win-test2 は以前に GUI を通じて MVMC で変換されています)は 8 GB のシンプロビジョニング仮想ディスクを持っており、1.64 GB VMFSのデータストアを消費しています。厚型プロビジョニングと薄型プロビジョニング については、別の記事で詳しく読むことができます。

    注意 : VMware vSphere クライアントおよび VMware ホストクライアントのウェブインターフェースからは 1 つの VMDK ファイルしか見えませんが、ご注意ください – データストアには vmdk と – flat.vmdk の 2 つのファイルがあります。 SSH クライアントを使用して ESXi ホストにログインし、データストア内の VM ディレクトリでファイルをリストすることで、両方のファイルを見ることができます。

    Selecting a VMDK file in vSphere

  4. Zip アーカイブがダウンロードされたら、仮想ディスクファイルを展開します。

    Copying VMDK files from the datastore

  5. ファイルを展開した後、 – flat.vmdk 仮想ディスクファイルが 8 GB のディスク容量(現在の仮想ディスクの最大プロビジョニングサイズ)を消費していることが分かります。 1.64 GB ではありません。後に、この仮想ディスクを Hyper-V 向けにダイナミックに拡張された仮想ディスクに変換することができます。

    ESXi files are copied

WinSCPクライアントを使用してファイルをコピーする

WinSCPは、データ転送にSCP、SFTP(SSH Secure Shell File Transfer Protocol)、FTP、WebDAVプロトコルを使用する無料のアプケーションです。可能であれば、SFTPが好ましいです。あなたは公式サイトからWinSCPをダウンロードする
WinSCPを実行し、IPアドレス、ポート番号、資格情報を入力してESXiサーバーにログインします。
Connecting to the ESXi datastore with WinSCP
WinSCPは直感的なGUIを持ち、二つの主要パネルがあります。ファイルとディレクトリにアクセスできます。左のパネルで、変換前のVMDKファイルが保存されているディレクトリを移動します。右のパネルで、ESXiデータストアのVMディレクトリに移動します。
この例では、そのディレクトリへのパスは/vmfs/volumes/SSD2/Win-test2 です。必要な二つの仮想ディスクファイル(. vmdk および- flat.vmdk )を選択し、これらをローカルディレクトリにコピーします。単にファイルをドラッグアンドドロップします。
Copy VMDK files before you can convert ESXi to Hyper-V virtual disk format

ESXiからコピーされたVMDK仮想ディスクの変換

ESXiからコピーされたVMware仮想ディスクファイルは、Microsoft Virtual Machine Converterを持つWindowsマシン上にあります。VMwareをHyper-V仮想ディスク形式に変換する必要があります。ESXi VMの仮想ディスクを変換することは、VMware Workstation VMの仮想ディスクを変換することと似ています。主要な違いは、単一のファイルの代わりに、二つのファイル(. vmdk および- flat.vmdk )が存在することです。

  1. PowerShellを開き、適切なコンバータモジュールがインポートされていることを確認してください。インポートされていない場合は、次のコマンドを入力します:

    Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"

  2. 次に、仮想ディスクを変換するために次のコマンドを入力します。

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\Hyper-V\converted\FromESXi\Win-test2.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\Win-test2PS" -VhdType DynamicHardDisk -VhdFormat Vhd

    SourceLiteralPath 引数のために. vmdk ファイルへのパス(- flat.vmdk ファイルへのものではありません)を定義します。

    Converting VMDK from ESXi to VHD for migration

  3. 変換プロセスが正常に完了したら、新しいHyper-V VMを作成し、変換後に使用可能であるVHD仮想ディスクを添付するために既存仮想ディスクオプションを使用します(この記事で説明されています)。その後、VM構成を編集し、仮想マシンを実行します。
Hyper-V には NAKIVO Backup & Replication を試してみてください

Hyper-V には NAKIVO Backup & Replication を試してみてください

15日間の無料トライアルを開始して、エージェントレスでアプリケーションを認識するHyper-Vバックアップを実行しましょう。即時フルリカバリや細粒度リカバリ、組み込みのランサムウェア対策機能も利用できます。

一般的な変換エラーと解決策

いくつかのエラーにより、変換プロセスが機能しない場合があります。どのような問題が発生し、どのように解決するかを考えてみましょう。

エントリ 1 はディスクリプターのサポートされていないディスクデータベースエントリです

このエラーは、VMDK フォーマットから VHD フォーマットに仮想ディスクを変換する際に、Microsoft Virtual Machine Converter が一部のディスクデータベースエントリを認識できないことを意味します。エントリの番号は異なる可能性があり – 例えば、1 の代わりに 2、3、4 などが表示されることがあります。この問題を解決するには、仮想ディスクリプタを編集する必要があります。
The entry 1 is not a supported disk database entry for the descriptor

VMware ワークステーションフォーマットの仮想ディスクの問題を修正する

VMware ワークステーションフォーマットの VMDK 仮想ディスクには埋め込みディスクリプタが含まれています(ディスクリプタはディスクデータが格納された VMDK ファイル内に統合されています)。仮想ディスクリプタを TXT ファイルに抽出するための無料ユーティリティキットをダウンロードする必要があります。それからディスクリプタを編集し、編集したディスクリプタを TXT ファイルから VMDK ファイルに再インポートします。ユーティリティキットの名前は dsfok ツール(DS File Ops Kit)です。ダウンロード可能な dsfok キット こちら

  1. – 例として、アーカイブからファイルを抽出します C:\Virtual\_tools\dsfok
  2. – CMD を実行します(Win+R を押して、cmd を入力して、Enter を押します)。 dsfok ツールのディレクトリに移動します:

    cd C:\Virtual\_tools\dsfok

  3. 以下のパラメーターで dsfo.exe を実行します:

    dsfo.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt

    ここで:

    512 バイトはオフセット

    1024 バイトはエクスポートされたデータのサイズ

    Descriptor-win7x64.txt はディスクリプタがエクスポートされるファイルの名前

    How to fix the VM disk descriptor issue – extracting the descriptor

  4. ディスクリプタが descriptor-win7x64.TXT ファイルに抽出され、 dsfok ツールのディレクトリに入ります。

    The VMDK virtual disk descriptor has been extracted

  5. ディスクリプタの . txt ファイルをテキストエディタで編集します(例えば、Notepad++のように正しくレイアウトを認識するものを選びます)。ddb.toolsInstallType = "1" の部分を見つけて、最初の”d”文字を”#”に置き換えてその部分をコメント化します。この場合、ディスクリプタのフォーマットは侵されず、結果として#db.toolsInstallType = "1" 文字列が得られます。コメント化された文字列はディスクリプタの構成を読み込む際には処理されません。編集が完了したらファイルをセーブします。

    Editing a virtual disk descriptor

  6. 編集したディスクリプタを VMware ワークステーションフォーマットの VMDK ファイルにインポートする必要があります。 このためには、以下のパラメーターで dsfi.exe を実行します:

    dsfi.exe "C:\virtual\win7x64\win7x64.vmdk" 512 1024 descriptor-win7x64.txt

    Importing the edited virtual disk descriptor to the VMDK file

  7. 次に、PowerShellで次のコマンドを実行して VMDK バーチャルディスクを VHD 形式に変換できます:

    ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\Virtual\win7x64\Win7x64.vmdk" -DestinationLiteralPath "C:\Virtual\Hyper-V\converted\01" -VhdType DynamicHardDisk -VhdFormat Vhd

    エラーはもう表示されず、変換プロセスが開始されます。

    Converting VMDK to VHD after fixing a virtual disk descriptor

  8. 仮想ディスクが VHD形式 に変換されると、新しい Hyper-V VM を作成し、仮想ディスクを接続できます(このプロセスは以前のブログ投稿で説明されています)。その後、Hyper-V 上で VM を実行できます。ただし、別の問題が発生することがあります。仮想マシンが読み込まれず、黒い背景に点滅するカーソルが表示される場合は、仮想ディスクのブートセクターを修正する必要があります。

    注意 :このウォークスルー例で示されている仮想ディスクには Windows 7 がインストールされています。同じ論理を Windows 10、Windows Server 2016 などの VM に対して使用できます。

    The black screen issue for a VM after VMware to Hyper-V migration

  9. Windows ディストリビューションの ISO インストールイメージを挿入し、仮想 CD/DVD ドライブから起動します。インストールディスクの組み込み修復ツールを使用して、マスターブートレコード (MBR) を含むブートセクターを修正できます。

    Selecting a Windows installation ISO image file in Hyper-V VM settings

  10. Windows インストーラーがロードされたら、” コンピュータの修復 “をクリックします。

    Opening the Windows repair tool from the Windows installation disc

  11. 適切な仮想ディスク上のオペレーティングシステムを選択し、” 次へ “をクリックします。

    Selecting a partition which boot record area to repair

  12. コマンドプロンプトを実行し、次のコマンドを実行します:

    bootrec /fixmbr

    bootrec /fixboot

    仮想マシンを再起動し、仮想ハードディスクから起動します。

    Fixing MBR on the converted VM and restarting the VM

  13. 仮想マシンは正常に起動するはずです。

    The VM now boots correctly

VMware ESXi 形式の仮想ディスクに関する問題の修正

VMware ESXi から Hyper-V に仮想マシンをエクスポートするときに、類似の問題をどのように解決するかを見てみましょう。Linux VM(VM名は NAKIVO-clone )や Microsoft Virtual Machine Converter に次のエラーが表示されます: The entry 4 is not a supported disk database entry for the descriptor。この問題を解決する方法は前の例で説明したものと似ています。VM の各仮想ディスクの記述子を編集する必要があります。
The entry 4 is not a supported disk database entry for the descriptor
VMware Workstation 上で動作している VM の仮想ディスクには、組み込み記述子があります(記述子は VMDK ファイルに統合されています)。対照的に、ESXi ホスト上で実行されている VM では、仮想ディスクデータと記述子は 2 つの異なるファイルに保存されます。 VMを変換したい登録されているESXiホストでSSHアクセスを有効にしてください。PuTTYなどのSSHクライアントを使用してESXiコンソールにログインします。

  1. VMファイルが保存されているディレクトリに進みます。この例では、VMファイルはESXiホストの/vmfs/volumes/SSD1/NAKIVO-cloneにあります。この場合、データストアの名前はSSD1です。

    cd /vmfs/volumes/SSD1/NAKIVO-clone

  2. VMディレクトリ内のファイルを一覧表示するには、ls -alを入力します。以下のスクリーンショットから分かるように、VMには 2 つの仮想ディスクがあります。

    VMware ESXi VM files

  3. vi (コンソールテキストエディタ)を使用して仮想ディスクのディスクリプタを編集します:

    vi NAKIVO-clone.vmdk

  4. 次の文字列を見つけてください:

    ddb.toolsInstallType = "4"

  5. 最初の”d”文字を”#”文字に置き換えて文字列を編集します。編集後のセクションは次のようになります: #db.toolsInstallType = "4"

    矢印を使用してカーソルを移動します。シンボルを追加するための編集モードに切り替えるにはaを押します。変更を行った後、Escを押して編集モードを終了します。次に:wqと入力し、Enterを押してファイルに変更を保存して終了します。

    Editing a virtual disk descriptor for an ESXi VM

  6. ディスクリプタファイルに変更を保存した後、仮想ディスクの一貫性を確認してください:

    vmkfstools -e Win7PMM.vmdk

    Checking the virtual disk consistency after editing the descriptor

  7. 2番目の仮想ディスクのディスクリプタを同様に編集します。すべてのVMの仮想ディスクのディスクリプタを編集した後、Microsoft Virtual Machine Converterを使用してVM変換を再度開始します。これで、VMの仮想ディスクはエラーなしに変換可能です。

    The virtual disk descriptor error is fixed to convert VMware VM to Hyper-V

VMwareからの応答の受信が複数の試みにもかかわらず失敗しました。内部例外を参照してください

このエラーは、ESXiホストがMicrosoft Virtual Machine Converter GUIでソースとして定義されている場合に発生する可能性があります。vCenter Serverを使用してESXiホストを管理している場合、現在のホストを含め、vCenter Serverの名前またはIPアドレスとその資格情報をESXiホストではなく ソース セクションで定義してください。
Receiving response from VMware failed after multiple attempts. See inner exception

タスクは完了状態(RanToCompletion、FaultedまたはCanceled)の場合にのみ処理される可能性があります

Microsoft Virtual Machine Converterを使用してESXiからHyper-V形式にVMを変換すると、このエラーが発生することがあります。その場合、仮想ディスクファイル(. vmdk および- flat.vmdk )をコンバータがインストールされているマシンにコピーし、PowerShellで仮想ディスクを変換し、新しいHyper-V VMを作成し、そのVMにディスクを接続します。 A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled)

VMMでVMware VMをHyper-Vに変換する

System Center Virtual Machine Manager (VMM)は広範なオプションセットを備えた大規模ソリューションで、VMwareの仮想マシンをHyper-Vの仮想マシンに変換することができます。通常、VMMはHyper-VホストとWindowsサーバーがある大規模な環境で使用されます。

要件

  • System Center Virtual Machine Manager 2022はvSphere 6.5以降のVMware仮想マシンを変換することがサポートされています。
  • ESXiホストをSystem Center Virtual Machine Managerに追加する必要があります
  • EFIベースのVMware仮想マシンをGeneration-2のHyper-V仮想マシンに変換することがサポートされています
  • VMware Workstationの仮想マシンはVMMで変換することができません
  • 仮想IDEコントローラーに接続されたバーチャルハードディスクは変換できません
  • 仮想マシンを電源オフにしてVMwareからHyper-Vへの変換プロセスを開始する必要があります
  • VMware仮想マシンをHyper-Vフォーマットに変換する前にVMware Toolsをアンインストールしてください

VMMのウィザードを使用して

以下のステップを実行してVMwareの仮想マシンをHyper-Vの仮想マシンに変換してください:

  1. 仮想マシンとサービス > ホーム > 作成 > 仮想マシンを作成 > 仮想マシンを変換 に移動します。
  2. 仮想マシンの変換 ウィザードで、最初に ソースの選択 ステップから始めます。参照をクリックし、 仮想マシンのソースを選択 セクションで、変換を意図した VMware仮想マシン をESXiホストから選択してください。次へをクリックしてウィザードの手順を進めます。
  3. 仮想マシンのアイデンティティの指定 で、必要に応じてマシン名と説明を調整してください。
  4. 仮想マシンの設定で、変換後に作成されるHyper-Vの仮想マシン向けに必要なプロセッサ数とメモリ設定を指定してください。目的のVMの世代はGeneration1かGeneration2を選択できます。
  5. ホストを選択 セクションで、VM配置用のHyper-VホストまたはAzure Stack HCIホスト(VMM 2019 UR3以降の場合)を指定してください。”選択したVMネットワークに接続できる利用可能な接続が見つかりません“というメッセージが表示される場合は、ファブリックリソースに移動し、論理ネットワークセクションを見つけてネットワークを設定してください。設定を編集後、仮想マシンの変換を再起動する必要があります。
  6. パスを選択 で、ホスト上でVMファイルのストレージの所在地を設定してください。 デフォルトのVMパスがリストに提供されています。
  7. ネットワークの選択 セグメントで、必要に応じて論理ネットワーク、バーチャルネットワーク、およびVLANを選択します。
  8. プロパティの追加 の下で、必要な設定を構成します。 コンバージョン/デプロイ後に適用されるVMの電源オン/オフのオプションを選択できます。
  9. サマリー で、設定を確認し、必要に応じてデプロイ後に仮想マシンを開始することを選択します。 スクリプトを表示 をクリックし、このコマンドセットを使用して他のVMware VMをHyper-V VMに変換するためのPowerShellコマンドを含むテキストファイルをセーブすることができます。
  10. 作成 をクリックして、変換プロセスを開始します。 VMとサービス > ホーム > 表示 > VMs を訪れて、VM の変換の進捗状況と完了を確認します。

New-SCV2V -VMHost <Host> -VMXPath <string> [options] このVMMコンバージョンツールを使用して、System Centerのジョブのリストを開き、VMwareからHyper-Vへのマイグレーションの進捗を表示できます。 変換速度は、VMのサイズ、ネットワーク速度、CPU、メモリ、およびインフラストラクチャ内のサーバーのストレージリソースに依存しています。
PowerShellでVMMでVMware VMをHyper-Vに変換するには、以下のcmdletを使用できます:

スムーズな移行のためのベストプラクティス

    以下のベストプラクティスに従うことで、VMがVMwareからHyper-Vに正常に移行することを保証できます:

  • 移行前の計画を行います。 VM移行の目的を特定します。 VMのゲストオペレーティングシステムがHyper-Vと互換性があることを確認します。 Hyper-V環境に十分なリソース(CPU、メモリ、ストレージ)があることを確認してください。
  • VMware環境ではなく、Hyper-V環境でVMを実行した場合の仮想インフラストラクチャの運用コストを計算します。
  • 複数のVMを移行する場合、VMの依存関係を評価します。 ネットワーキング、ストレージ、アプリケーション設定などの依存関係を特定して文書化します。 VMが移行された後にもこれらの依存関係を維持する必要があるかもしれません。 Active Directoryやデータベースのようなサービスとの統合を確認してください。
  • 既存のVM(ソースVM)のバックアップを行います。 何かがうまくいかない場合、バックアップからVMを回復することができます。
  • ダウンタイムを最小限に抑えるために、VM移行を慎重にスケジュールします。
  • VMware VMをHyper-Vに移行するための最適なツールを選択します。
  • 非クリティカルなVMや小さいサイズのVMから移行を始めます。 このアプローチにより、移行プロセスの動作を確認し、必要に応じて調整を行うことができます。
  • VMは一度にすべて移行するのではなく、順次(バッチ単位で)移行してください。これにより、パフォーマンスへの悪影響を最小限に抑え、移行プロセスをより適切に管理することができます。

移行後の手順

移行されたHyper-V VMの設定の一部は、VMの変換および移行中に構成できます。ただし、使用するコンバータアプリケーションによっては、移行後にVMの設定を行う必要がある場合があります。 自動変換ツールはより多くの設定オプションに対応していますが、手動変換の場合は移行後の手順がより多く必要となります。移行されたVMが正常に動作し、新しい環境でも期待通りの機能で引き続き使用できるようにするため、以下の移行後の作業を行うことをお勧めします。

Hyper-V での VM の機能確認

移行された VM が Hyper-V 環境で意図したとおりに機能することを確認してください。これが最優先事項です。

  • Hyper-V 上で各移行済み VM を起動し、エラーなく起動することを確認してください。
  • ドライバの欠落、ネットワーク設定の不備、サービスの障害などの問題がないか確認してください。
  • アプリケーションおよびサービスの機能を検証してください。VM 内のすべての重要なアプリケーション、サービス、データベースが正常に実行されていることを確認してください。
  • VM と他の依存システムやネットワーク間の接続性をテストします。
  • CPU、メモリ、ストレージの設定が VM のワークロードに適しており、移行前のパフォーマンスベンチマークと一致していることを確認します。
  • 移行先の Hyper-V ホスト上のパフォーマンスを監視します。Hyper-V パフォーマンスモニターまたはその他のツールを使用して、CPU、メモリ、ディスク I/O、およびネットワークの使用状況を観察します。
  • パフォーマンスのボトルネックや異常が見つかった場合は、対処します。

変換されたVMの設定の最適化

Hyper-Vホスト上の変換済みVMの設定を最適化し、VMのパフォーマンスが最適になるようにします。

  • Hyper-V統合サービスがインストールされていない場合は、移行されたVMにインストールします。
  • 該当する場合は、Hyper-Vホストのリソースをより効率的に利用するために、ダイナミックメモリを有効にします。
  • ネットワーク設定を確認します。VMが正しいHyper-V仮想スイッチに接続されていることを確認します。 新しいネットワークに合わせて、静的 IP アドレスや DNS 設定などの IP 構成を更新します。
  • VM の移行前に VMware Tools がアンインストールされていない場合は、アンインストールしてください。

新しい Hyper-V VM のバックアップの作成

VMware から Hyper-V への移行が正常に完了し、移行された VM が正常に動作することを確認したら、Hyper-V ホスト上に存在する移行済み VM をバックアップします。 障害発生時のデータ損失やダウンタイムを回避するために、これらの Hyper-V 仮想マシンをバックアップから復元することができます。バックアップのスケジュールと保存期間の設定を行い、災害復旧計画を策定し、仮想マシンの復旧プロセスをテストしてください。 NAKIVO Backup & Replication を使用して、VMware VM、Hyper-V VM、および Proxmox VE VM などのその他のサポート対象プラットフォームをバックアップします。

結論

Microsoft Virtual Machine Converter (MVMC) は、VMware VM を Hyper-V 形式に変換するために使用できる、最も手頃な価格のツールの 1 つです。これには、GUI ツールと PowerShell 用のコマンドラインツールが含まれています。MVMC GUI を使用すると、ESXi ホスト上で実行されている VM 全体を変換できます。 PowerShell コマンドレットを使用すると、ESXi 形式および Workstation 形式の個々の VMware 仮想ディスクを変換できます。
どの仮想化プラットフォームを使用している場合でも、データ損失やダウンタイムを防ぐために、仮想マシンをバックアップする必要があります。NAKIVO Backup & Replication は VMware VM および Hyper-V VM のバックアップとレプリケーションが可能であり、高度な クロスプラットフォームでの復元 機能により、VMware のバックアップから復元した VM を Hyper-V 上で実行したり、その逆を行ったりすることもできます。

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

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

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

関連記事