かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  メモ. AlmaLinux(RHEL系)をVMwareからHyper-VへV2V移行するには

 

 

メモ. AlmaLinux(RHEL系)をVMwareからHyper-VへV2V移行するには

2024年10月29日配信
執筆者:山内 和朗

  9月に行われたオンラインセミナー「セイテク・シス管道場 第2回オンプレの仮想化基盤をHyper-Vへ、格安乗り換えツアー(→アーカイブ)」では、WindowsやLinuxをゲストOSとして実行するVMware仮想マシン(VM)を特別なツールを使わずにHyper-V VMに移行する方法を紹介しました。紹介した方法で実際に移行に取り込んでいる方から、こんな質問がありました。

“WindowsのVMは示された手順通りに行うことで問題なく成功しました。しかし、LinuxのVMについては、使用しているディストリビューションが手順で使用しているUbuntuと違うため(AlmaLinux 8.0)、画面やメニューが違うため行き詰っています”

 何も難しく考えることはありません。手順の要は、ddコマンドを使用してディスクのクローンを作成することです。

 

イメージのキャプチャも書き込みも、Live DVDから実行すれば簡単

 

 9月のオンラインセミナーでは、VMware VMのLinux環境のディスクイメージをddコマンドでキャプチャし、キャプチャしたイメージをHyper-V VMの空のディスクに書き込むことでVMwareからHyper-Vに移行する方法を紹介しました。セミナーでは、確実に整合性のあるディスクイメージをキャプチャするため、Ubuntuをリカバリモードで起動してキャプチャを実行しました。また、Hyper-V VMのディスクへの書き込みは、UbuntuのLive DVDでVMを起動して、rootシェルに入り行いました。キャプチャデータは、リカバリモードとLiveDVDのそれぞれにsmbclientパッケージをインストールして、SMB共有を介して行いました。同様の内容および関連する内容は、以下のブログ記事でも紹介しています。

メモ. 手間はかかるが金いらずのV2V: VMwareのLinux VMをHyper-Vへ (その1)
メモ. 手間はかかるが金いらずのV2V: VMwareのLinux VMをHyper-Vへ (その2)
メモ. Windows/Linuxのオフライン環境からのSMB接続
メモ. Hyper-V上のLinuxゲストの最適化

 オフラインキャプチャにリカバリモードを、キャプチャイメージの書き込みにLive DVDから起動したrootシェルを使用したため、分かり難くなってしまいましたが、要はddコマンドとSMBクライアント機能を利用できる第3のOS環境でVMを起動できればキャプチャと書き込みの両方を実行できます。Live DVDのLinuxディストリビューションは何でも構いません。移行対象のVMのLinuxディストリビューション/バージョンと一致している必要もありません。UbuntuのインストールDVDはLive DVD対応です。AlmaLinuxはインストールメディアとは別にLiveメディアが提供されています。

Try Ubuntu before you install it|Ubuntu Turorial
Live Media|AlmaLinux Wiki

 キャプチャにリカバリモードを利用したのは、再起動すればすぐに選択的に起動できるリカバリモードが手っ取り早かっただけで、Live DVDで起動する方法を単にその時点では思いつかなかったからです。イメージの書き込みにLive DVDからrootシェルを開いて使用したのは、その選択肢があったからで、Live DVDのデスクトップ環境まで起動する時間を省いたに過ぎません。今となっては、実はLive DVDでデスクトップ環境まで起動したほうがいろいろな手間を省けて簡単だということができます(画面1、画面2、画面3)。例えば、LinuxのLive DVDのデスクトップ環境には通常、SMBクライアント機能も最初から入っているため、リカバリモードやrootシェル使用時とは異なり追加でインストールする必要がありません。

 

画面1
画面1 AlmaLinuxのLive DVDからVMware VMやHyper-V VMを起動する

 

画面2
画面2 VMware VMをLive DVDで起動して、ddコマンドを実行し、ディスク「/dev/sda」の内容をキャプチャして、SMB共有に保存する。VMを再起動すれば元のVMware VMとして引き続き動作

 

画面3
画面3 Hyper-V VMをLive DVDで起動して、ddコマンドを実行し、SMB共有からディスク「/dev/sda」にキャプチャデータを書き込む。VMを停止して、OSディスクの仮想ハードディスクから起動するように変更すれば、Hyper-V VMとして起動するようになる

 

RHEL系LinuxのHyper-Vへの最適化

 

 LinuxカーネルにはHyper-Vに最適化されたモジュール(hv_vmbus、hv_balloon、hv_storvsc、hv_netvsc、hyperv_fb、hv_utilsなど)がマージされており、Hyper-V上で起動すると自動的にこれらのモジュールが機能します。Ubuntuの場合は、統合サービスの一部(データ交換、バックアップ(ボリュームシャドウコピー)、ゲストサービス)に対応したサービスを追加でインストールする必要がありました。RHEL(Red Hat Enterprise Linux)、およびAlmaLinuxやOracle LiunxなどRHEL系ディストリビューションの場合は、「hyprev-daemons」パッケージが既定でインストールされ、Hyper-V上での実行を検出してサービス(hypervkvpd/hypervvssd/hypervfcopyd)が利用可能になります(画面4)。必要なことは、不要になったVMware Tools(またはopen-vm-tools)のアンインストールです。参考までに、Debian(ただし8.3以降、バージョンによっては手動でインストールする必要があるかもしれません)、SUSE Linux Enterprise Server(SLES)、およびopenSUSEもまた、統合サービス対応のサービス(hv_kvp_daemon/hv_vss_daemon/hv_fcopy_daemon)を含むパッケージが既定でインストールされているはずです。

 

参考:
Windows Server と Windows 上の Hyper-v がサポートされている Linux および FreeBSD 仮想マシン|Windows Server(Microsoft Learn)

 

画面4
画面4 RHEL系Linuxには、Hyper-V対応モジュールやサービスは既定でインストールされているので、移行後に追加の必要はない

 VMware VMをHyper-V VMに移行すると、ネットワークデバイスがVMware VMの「ensXXX」からHyper-V VMの「ethX」に変更になります。そのため、ネットワーク設定を確認し、必要に応じて変更する必要があります。RHEL系Linuxでは、ネットワークは「Network Manager」により管理されるため、「nmcli」コマンドや「nm-connection-editor」(GUIツール)を使用して、確認、変更してください(画面5)。以前の設定を控えていなかった場合は、「/etc/sysconfig/network-scripts/ifup-<デバイス名>」で見つかるかもしれません。

 

画面5
画面5 移行後のAlmaLinuxのネットワーク設定の編集(nm-connection-editorの場合)

blog_subscribe

blog_comment

最新記事