![見出し画像](https://assets.st-note.com/production/uploads/images/148911996/rectangle_large_type_2_0d5f7eb27c38b5bb40f23e5f7de48532.png?width=1200)
ProxmoxにESXiからゲストをインポート
他の仮想基盤製品をProxmoxに移行
よくある話でProxmoxに今まで使っていた仮想マシンを移植したいと思うのは当然のこと。代表例としてESXiで動いている仮想マシンを移行してみる。
細かな部分はこちらを参照して欲しい。
■標準的な移行の説明
■P2V,V2Vに関する説明
ESXiとの接続
まずはESXiに接続してデータストアの情報が見れるようにする。
[データセンタ]-[ストレージ]-[追加]-[ESXi]
![](https://assets.st-note.com/img/1724143913339-B6l1j2qP7j.png)
ID :接続先のESXiまたはvSphere名
サーバ :ESXiorvSphereのIP
ユーザ名 :rootまたはAdministrator等
パスワード:rootまたはAdministratorのパスワード
ノード :登録先のProxmox名
有効 :■
Skip Certificate Verification:■※
※外部で証明できる有効な証明書があれば:□
![](https://assets.st-note.com/img/1724143989407-GDwIsf73uD.png?width=1200)
![](https://assets.st-note.com/img/1724144024882-uFIk1W4hRU.png?width=1200)
ESXiからのVMインポート(Windows編)
例として「Win2019」と書いてあるゲストをインポートする
![](https://assets.st-note.com/img/1724144070677-VJhDKWRyDS.png?width=1200)
仮想ハードウェアの情報はこんな感じ
![](https://assets.st-note.com/img/1724144107847-OH8rghGtBK.png?width=1200)
それでは早速インポートしてみよう。先ほどESXiの認証情報を使って接続したストレージの配下に仮想マシンの仮想ディスクリストが表示されるので選んでインポートをクリックする。
[データセンタ]-[ノード名]-[ESXi名]-[Virtual Guests]-[インポート]
![](https://assets.st-note.com/img/1724144173716-1zJ0plcyge.png?width=1200)
インポート用の設定ウインドウが開くので以下を参考に設定する。
VM ID :既存とぶつからない番号
ソケット :ESXiからの引継ぎ数または任意の数値
コア :ESXiからの引継ぎ数または任意の数値
メモリ :ESXiからの引継ぎ数または任意の数値
名前 :ESXiからの引継ぎ名または任意の名称
CPU type :既定値(動作可能なタイプに修正)
OS種別 :既定値
バージョン:既定値
Default Storage :インポート先のストレージ
形式 :qcow2
Default Bridge :VM割り当て用のBridge用NIC名
Live Import :□インポート後に起動する場合はチェック
![](https://assets.st-note.com/img/1724144312216-LDDLknI9oZ.png?width=1200)
![](https://assets.st-note.com/img/1724144363472-AydtLedD52.png?width=1200)
インポートが開始されるとこんな感じで進捗が表示される。インポート速度はネットワーク帯域とストレージ側の処理性能、今回で言うとESXi側の処理性能、Proxmox側の処理性能によって変わる。もちろんインポートディスクが大きければそれだけ時間もかかるので事前に自分の環境でどのくらいの転送性能がでるのかは、実験しておくと良い。
ちなみに、今回のゲストは・・・150GBで15時間もかかった。前にテストした感じだと1時間もあれば終わってるハズだったんだけど。どうしてだろう?
![](https://assets.st-note.com/img/1724055623127-FWoyyedZLS.png?width=1200)
![](https://assets.st-note.com/img/1724104850959-ZxG370LPHH.png?width=1200)
![](https://assets.st-note.com/img/1724104758607-sSMw6IEh9B.png?width=1200)
![](https://assets.st-note.com/img/1724104943275-9IM0MaCnyR.png?width=1200)
【インポートテスト(環境による差が大きい部分)】
■インポート構成①
・1Gbps1本:NAS→コンバート→NAS
16GB: 6分
40GB:13分
100GB:30分
■インポート構成②
・1Gbps1本:ESXiローカルSSD→コンバート→NAS
120GB:30分
【インポート後の対応】
ここは一発インポートした仮想マシンを「開始」してみる。普通に起動するのかと思いきや・・・予想通りの画面である。
![](https://assets.st-note.com/img/1724130410183-QIqtCA1klA.png?width=1200)
移行直後のハードウェアはこうなってるのでProxmoxで起動できるように再調整する。基本的にハードウェア設定の修正が反映されるタイミングは仮想マシンが再起動ではなくシャットダウンされた状態となるので設定変更タイミングは注意すること。
![](https://assets.st-note.com/img/1724131106531-GLOAYg5B8A.png?width=1200)
①ハードディスク
[ハードディスク(scsi#)]-[デタッチ]
![](https://assets.st-note.com/img/1724132289303-tiEcarQTm4.png)
[未使用のディスク #]-[編集]-[追加]
![](https://assets.st-note.com/img/1724132091079-hXQuTigdbo.png?width=1200)
すべてのハードディスクを同じようにIDEとして追加し直す。
![](https://assets.st-note.com/img/1724132140668-EeQEQkPbVg.png?width=1200)
②とりあえず、ここまで修正できたら「開始」をクリックする。どうだろう?Windowsのログイン画面が無事に表示されたかな?
![](https://assets.st-note.com/img/1724135492272-bJlikhDjXG.png?width=1200)
コンソールから「A」→「■■ ■ (Ctrl+Alt+Delの略)」をクリックする
![](https://assets.st-note.com/img/1724135902921-PfDEBITS0C.png)
③VMwareToolsのアンインストール
![](https://assets.st-note.com/img/1724136161356-LzhJIghSAv.png)
④VirtIOドライバーのインストール
isoは事前にダウンロードして準備しておく。
https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
![](https://assets.st-note.com/img/1724136487293-eHupyhibCS.png)
![](https://assets.st-note.com/img/1724136576750-v6cU4zcOkD.png)
⑤Windowsの「SCSIコントローラ」をVirtIO SCSIに変更
ここは仮想マシンをシャットダウンしてから実施する。
![](https://assets.st-note.com/img/1724140610204-RNT5X23J1J.png)
![](https://assets.st-note.com/img/1724140641274-ECU4q5dG3p.png)
![](https://assets.st-note.com/img/1724140565756-SYyhWMdIzK.png)
⑥WindowsのハードディスクをSCSIタイプに変更
詳しくはこちらを参照
■Windows 用準仮想化ブロック ドライバー
https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows
単純にハードディスクタイプをSCSIに修正するだけではブルースクリーンとなって正常に起動できないので以下の手順を踏む。この部分を詳しく書いた記事があまりなかったので手探りで調べてみた。
「VirtIO Block」のディスクを一時的に追加する
![](https://assets.st-note.com/img/1724141229241-fwgqXm0RXO.png?width=1200)
![](https://assets.st-note.com/img/1724141314326-AzEeOzmP1h.png?width=1200)
仮想マシンを起動して追加したディスクが「ディスクの管理」に表示されることを確認する。ディスクとして認識できればOKなのでフォーマット等は必要ない。
![](https://assets.st-note.com/img/1724141880714-rmyuwgEcmi.png?width=1200)
仮想マシンをシャットダウンして初めに追加した1GBのディスクを削除してから元のOSディスクタイプを「VirtIO Block」に修正する。
![](https://assets.st-note.com/img/1724142104719-upd3CmHQpN.png?width=1200)
仮想マシンを起動すると今度はSCSIドライバー起動としてサクッと起動が完了する。IDEに対してずいぶんと起動時間が短縮される。
起動後のディスクのプロパティでは「Red Hat VirtIO SCSI Disk Device」として表示された。
![](https://assets.st-note.com/img/1724142515254-s5THXPkQao.png?width=1200)
![](https://assets.st-note.com/img/1724142680678-W8N0KlJJsj.png)
⑦ネットワークデバイス
[ネットデバイス(net0)]-[編集]-[モデル]
・Intel E1000 → VirtIO(準仮想化)
![](https://assets.st-note.com/img/1724143319705-siVQezzTGQ.png?width=1200)
⑧その他
・Windowsのライセンス認証を要求されるので再認証を実施する
・デバイスマネージャー等でエラーとなったものを修正する
・イベントログでエラーとなったものを修正する
VMwareTools がアンインストールできなくなった場合
以下のPowerShellスクリプトを保存して実行する。実行後に再起動すればアンインストールは完了する。
![](https://assets.st-note.com/img/1724225584969-8UUCRUq9fA.png?width=1200)
![](https://assets.st-note.com/img/1724225515429-xlEQfHT90a.png)
Remove_VMwareTools.ps1
ESXiからのVMインポート(Linux編)
例として「CUPS」と書いてあるゲストをインポートする
ちなみにCUPSはプリントサーバです。我が家でスマートフォンやChromeBookから一般プリンターを使うために踏み台にしています。
https://www.cups.org/
![](https://assets.st-note.com/img/1724200688832-fzZSFijTnO.png?width=1200)
仮想ハードウェアの情報はこんな感じ
![](https://assets.st-note.com/img/1724200734583-bdZxbti5Ej.png?width=1200)
それでは早速インポートしてみよう。先ほどESXiの認証情報を使って接続したストレージの配下に仮想マシンの仮想ディスクリストが表示されるので選んでインポートをクリックする。
[データセンタ]-[ノード名]-[ESXi名]-[Virtual Guests]-[インポート]
![](https://assets.st-note.com/img/1724200794405-dvZXhX3PE3.png?width=1200)
インポート用の設定ウインドウが開くので以下を参考に設定する。
VM ID :既存とぶつからない番号
ソケット :ESXiからの引継ぎ数または任意の数値
コア :ESXiからの引継ぎ数または任意の数値
メモリ :ESXiからの引継ぎ数または任意の数値
名前 :ESXiからの引継ぎ名または任意の名称
CPU type :既定値(動作可能なタイプに修正)
OS種別 :既定値
バージョン:既定値
Default Storage :インポート先のストレージ
形式 :qcow2
Default Bridge :VM割り当て用のBridge用NIC名
Live Import :□インポート後に起動する場合はチェック
![](https://assets.st-note.com/img/1724201104127-xHpKkOV0A0.png?width=1200)
![](https://assets.st-note.com/img/1724201529514-0J2U1klmDh.png?width=1200)
インポートが開始されると進捗が表示される。ちなみに、今回のゲストは・・・16GBで42分かかった。前にテストした感じだと6分もあれば終わってるハズだった。環境の違いか?
![](https://assets.st-note.com/img/1724204084670-BbOdBaDP95.png?width=1200)
![](https://assets.st-note.com/img/1724204312431-61Iyugontp.png?width=1200)
【インポート後の対応】
ここは一発インポートした仮想マシンを「開始」してみる。普通に起動する・・・おそらく元からSCSI系のドライバーでディスクが認識されていることが理由らしい。
![](https://assets.st-note.com/img/1724204541505-se30JQ4FtI.png?width=1200)
移行直後のハードウェア設定については少し最適化しておく。基本的にハードウェア設定の修正が反映されるタイミングは仮想マシンが再起動ではなくシャットダウンされた状態となるので設定変更タイミングは注意すること。
![](https://assets.st-note.com/img/1724204738604-AkNRS1lYCk.png?width=1200)
①「SCSIコントローラ」をVirtIO SCSIに変更
ここは仮想マシンをシャットダウンしてから実施する。
![](https://assets.st-note.com/img/1724140610204-RNT5X23J1J.png)
![](https://assets.st-note.com/img/1724140641274-ECU4q5dG3p.png)
![](https://assets.st-note.com/img/1724140565756-SYyhWMdIzK.png)
②ネットワークデバイス
[ネットデバイス(net0)]-[編集]-[モデル]
・Vmware vmxnet3 → VirtIO(準仮想化)
![](https://assets.st-note.com/img/1724205060107-AcnOGa9lU0.png?width=1200)
仮想マシンを起動してコンソールを開いて以下のコマンドを実行してインターフェースを認識しているか確認する。
# ip add
![](https://assets.st-note.com/img/1724207649752-CuPv9o74MS.png?width=1200)
エディタでネットワーク設定を編集する
cd /etc/netplan
sudo vi 00-installer-config.yaml
:ens160 → enp6s18
編集前がこの状態
![](https://assets.st-note.com/img/1724207833707-73DLsZ8y5U.png)
編集後はこの状態
![](https://assets.st-note.com/img/1724208872575-nF8NXt0dnz.png)
ネットワーク設定を有効化する
sudo netplan apply
Pingを実行してネットワークが開通したことを確認する
ping 192.168.1.254
今回はインターネットに接続できる環境なのでチョイチョイとエージェントをインストールしてみる。
sudo apt install -y qemu-guest-agent
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent
できればエージェントをインストールしておきたいが、できなかった場合はそのまま使うことになるかな。
この記事が気に入ったらサポートをしてみませんか?