Proxmox に載せている解析環境を立て直すことにしたのですが、さすがに 1 からマシンのセットアップを行うのはめんどくさすぎたので、別の検証機の Hyper-V 仮想マシンを移植してみることにしました。
Proxmox はバージョン 8.2.7 を使用しています。
もくじ
Hyper-V のマシンをエクスポートする
以下の記事を参考にしたところ、どうやら vhdx 形式の仮想ディスクがあれば Proxmox に仮想マシンを移植できそうです。
参考:様々な仮想基盤用のVMをProxmox環境に移行してみる│チラシの裏
そこで、Hyper-V マネージャ上で既存のマシンをエクスポートし、その中から取り出した仮想ディスクを USB 経由で Proxmox サーバにコピーすることにします。
Proxmox 側で仮想マシンを作成する
続いて、移植先の仮想マシンを Proxmox 上で作成しておきます。
CD とディスクの設定を削除した以外は、普通に仮想マシンを作成する際と同じ手順でした。
Proxmox にファイルをコピーする
まず、仮想ディスクファイルをコピーしたメディアが /dev/sdb1
としてサーバに接続されたことを確認します。(今回は外付け M.2 SSD を使用しているので、SSD と識別されたようです)
この中からファイルを取り出したいので、シェルを起動して適当なマウントポイント(/mnt/ex-disk1
) を作成して /dev/sdb1
をマウントします。
mkdir -p mnt/ex-disk1
# /etc/fstab は使用しない
mount /dev/sdb1 /mnt/ex-disk1
これで仮想ディスクファイルを取り出せるようになりました。
Proxmox で仮想ディスクをインポートする
これで USB 経由で仮想ディスクを参照できるようになったので、Proxmox のシェルで以下のコマンドを順に実行し、仮想ディスクをインポートしていきます。
# 仮想マシンの ID が 100、インポート先は local-lvm を指定
qm importdisk 100 /mnt/ex-disk1/Ubuntu22.04.vhdx local-lvm
インポートが完了すると、local-lvm に指定した ID(100) のディスクが追加されたことを確認できます。
続いて作成した ID 100 の仮想マシンを開くと、インポートした仮想ディスクが [未使用のディスク 0] として表示されていることを確認できます。
続けて [編集] ボタンからこのディスクをアタッチした後、[オプション] の [ブート順] の設定からアタッチしたディスクを起動ディスクとして有効化します。
これで仮想マシンを起動すると、Hyper-V で作成したマシンが Proxmox で起動することを確認できます。
まとめ
忘れたころに使いそうな手順だったのでまとめておきました。
※ ちなみに、今回上記の方法で移植したマシンのうち、minimal の Ubuntu Server に xface をインストールした仮想マシンは移植後に noVNC のコンソールに GUI 画面は表示されたものの、キーボード入力を受け付けない問題が発生しました。