こんにちは。日々是発見が楽しみな西山です。
仮想環境で長い歴史を誇るVMware社が製品ライセンス体系を大幅に変更し、無償版ESXiの提供も今年1月で終了してしまいました。
VMwareが「ESXi無償版」の提供を終了 移行先の有力候補は?
取得済みのISOイメージやアクティベートキーは引き続き使用できるようですが、残念ながら今後アップデートが提供されないことも確定です。
以前に本ブログで自宅仮想サーバーをESXiからProxmox VEに移行した話という記事を書きましたが、今回は、VMware ESXiの仮想マシンをProxmox VEに移行する具体的な手順をご紹介します。
仕事でオンプレの仮想環境を移行しないとならない人や、この機会にご自宅仮想環境を再構築しようという方の参考になればと思います。
qm importovf コマンドでワンストップ移行
まずは仮想マシンを構成ごとインポートする方法のご紹介です。
今回、ESXiで作った検証用の仮想マシンをProxmox VEに移行してみました。
わざとSCSIコントローラーをVMware PVSCSI、NICはVMXNET3にして面倒な要素を増やしてみます(笑)。
OSはCentOS7をインストールし、yum updateしてから適当にAapcheとMariaDBをインストールしてサービス自動起動するように設定しました。
仮想マシンをシャットダウンし、オフラインにしてからエクスポートを始めます。
ESXiの画面から「エクスポート」を選択すると、OVF構成情報ファイル(.ovf)とVMDK仮想ディスク(.vmdk)がダウンロードされます。
仮想ディスクはファイル容量が大きいので、ブラウザでうまくダウンロードできない場合は、VMware社提供のコマンドラインツール(ovftool)も利用できます。
ダウンロードした .ovf と .vmdk ファイルを好きな方法でProxmox VEサーバーに持って行って、次はインポートです。
.ovf に書かれた仮想マシンの構成情報をコマンドに読ませると、Proxmox VE仮想マシンの作成・登録までワンアクションで実行できます。
qm importovf {vmid} {VM name}.ovf {target storage}
qm importovf 100 CentOS7.ovf nvme-lvm
コマンドが正常終了すると、ProxmoxのGUIにインポートした仮想マシンが現れます。
仮想マシンをパワーオンする前に、自動設定された構成内容を確認しておきましょう。
今回は起動ディスクがVMware準仮想化だったので「SCSIコントローラ」の修正が必要です。
「SCSIコントローラ」をクリックして選択、「編集」クリックで表示されるプルダウンで「VMware PVSCSI」を選択します。
またNICも追加されてなかったので、ハードウェアの「追加」からNICを追加しておきます。
「コンソール」画面で「Start Now」をクリックし、仮想マシンを起動してブートシーケンスが正常に進むか観察します。
ストレージが認識できていればほぼ勝ち確ですが、うまくいかない場合は
- 「SCSIコントローラタイプ」を別のタイプに変更してみる
- SCSIではなくSATAやIDEで構成されている場合は接続方法を変更する
などを試してみてください。
NICに既存のIPアドレス設定は反映されないので、コンソール画面からログインしてネットワーク設定を行います。
ここまで終われば、SSHなりRDPなりで移行後の仮想マシンにログインして、ミドルウェアなどの動作を確認しましょう。
ApacheもMariaDBも無事に自動起動していました。完璧です。
複雑な仮想マシンは qemu-img でディスク変換
仮想マシンが複雑な構成だと、importovfがうまくいかない場合があります。
どのみち、ESXiとProxmox VEでサーバー構成が違っていると、仮想マシン構成も調整が必要になるでしょう。
その場合、仮想ディスク単体を変換してProxmox VEの新規仮想マシンにアタッチできます。
qemu-img -f vmdk -O qcow2 disk-0.vmdk disk-0.qcow2
これでvmdkフォーマットの仮想ディスクをKVMのqcow2形式に変換できるので、仮想マシンに既存ディスクとして追加します。
また、qemu-imgはLinux KVMの標準コマンドですので、Proxmox VEに限らずAlmaLinuxなど他のディストリビューションで作ったKVM仮想基盤でも利用できます。