移行準備
まずは Proxmox をインストールしておきます。移行前の推奨準備は次のとおりです。
- 移行元 VM の現在のネットワーク設定を控え、必要に応じて一時的に NIC を DHCP 取得に切り替えます(移行後の新規 NIC で IP 競合警告を避けるため)。移行完了後に元の固定設定へ戻せます。
- 移行元 ESXi ホストと移行先 Proxmox ホストの間でネットワーク接続を確保します(ディスクコピーに必要)。
- 移行元 VM のディスク暗号化は無効にします(vTPM 有効の VM は移行で問題になることがあります)。
- VM はシャットダウン状態でインポートします。
本チュートリアルの検証環境:
- VMware 環境:ESXi 8(
192.168.101.31
)、データストアdatastore40t
/datastore50
- Proxmox 環境:Proxmox ホスト
192.168.101.226
、データストアlocal-zfs
/datastore55
方法1:手動で移行する
例として、ESXi 上の Windows Server 2022 VM を Proxmox に移行します。基本方針は、同等設定の空VMを Proxmox 側に作成し、元 VM の仮想ディスクをコピーして取り付けることです。
1) 移行元 VM の確認
- 移行元の ESXi ホストで SSH を有効化します(Host Client:Host → Manage → Services → TSM-SSH を開始、必要に応じて Policy → Start and stop with host)。
- 移行元 VM の仮想ハードウェア構成(CPU/メモリ/ディスク/ネットワークなど)を確認し、Proxmox 側で同等に再現できるよう控えます(Edit VM settings で詳細確認)。
- BIOS/UEFI 設定を確認します(ブート方式に影響)。本例は BIOS。Proxmox 側でも同じ方式を選びます。
- 移行元 VM から CD/DVD イメージや追加ディスクを取り外します。
- VMware Tools は移行前か移行後にアンインストール可能です。元 VM をそのまま残す場合、Proxmox で移行先 VMが安定稼働するまで、移行先でのアンインストールを後回しにしても構いません。
2) Proxmox で新規 VM(空 VM)を作成
- Proxmox の左ペインでホストを右クリック → Create VM。元 VM と同じ CPU/メモリ/NIC/ディスク構成を目安にします。
- General:
Node=pve
、VM ID=101
(任意の未使用 ID)、Name=Server2022
(元 VM 名と合わせると分かりやすい)。 - OS:元 VM と同じゲスト OS(例:Windows Server 2022)。
- System:元 VM に合わせて BIOS / UEFI を選択。TPM は使用しない場合チェックを外します(移行では TPM 利用は非推奨)。
※SCSI コントローラは後で手動接続するため既定のままで可。 - Disks:新規 VM 作成時、既定で仮想ディスクが 1 台追加されます。本手順では後でDetach → Remove します(元 VM のディスクを取り込むため)。
- CPU / Memory:元 VM に合わせて設定。
- Network:ブリッジ(Bridge/NAT 等)と NIC モデルを選択。ゲスト OS がドライバなしで認識できるモデルを推奨(必要なら移行後に変更)。
- 作成後、Hardware で既定の仮想ディスクを選び Detach → Remove。空 VM の準備ができました。
3) 仮想ディスクデータをコピー
- Proxmox の Shell を開きます(例:
pve
ノード → Shell)。VM のディスク格納先(例:/mnt/datastore/datastore55/images/101
)へ移動:cd /mnt/datastore/datastore55/images/101
- ESXi へ SSH 接続し、元 VM のディスクファイルを確認:
ssh root@192.168.101.31 ls -al /vmfs/volumes/datastore50/WinServer2022/
.vmdk
(ディスクリプタ)と-flat.vmdk
(実データ)を特定します。 - 元 VM をシャットダウン。
- Proxmox 側から SCP で両ファイルをコピー:
scp root@192.168.101.31://vmfs/volumes/datastore50/WinServer2022/WinServer2022.vmdk . scp root@192.168.101.31://vmfs/volumes/datastore50/WinServer2022/WinServer2022-flat.vmdk .
注:UEFI + TPM を選ぶと小容量ディスク(UEFI ブート/TPM)が作成されます。移行時は TPM 利用を避けるのが無難です。
- Proxmox のデータストアを再スキャンしてディスクを認識:
qm rescan ls -l
ESXi の VMFS で thin だった vmdk は、コピー後は実サイズ相当(thick)を消費します。最大容量を使わずにエクスポートしたい場合は、VM をテンプレート(OVF)として出力する方法があります。
- (代替)OVF テンプレートを使用:ESXi 側で VM を OVF へエクスポートし、Proxmox へ保存(GUI でも
ovftool
でも可)。ovftool vi://root@192.168.101.31/WinServer2022 /mnt/datastore/datastore55/images/101
- ディスクの変換/インポート(いずれかを選択):
- vmdk → qcow2 に変換(KVM/Proxmox のネイティブ形式):
qemu-img convert -cpf vmdk -O qcow2 ./WinServer2022.vmdk ./WinServer2022.qcow2
- raw 形式でインポート(変換済み qcow2 を raw として取り込み):
qm importdisk 101 ./WinServer2022.qcow2 datastore55
- vmdk を直接 raw でインポート:
qm importdisk 101 ./WinServer2022.vmdk datastore55
- vmdk を qcow2 でインポート(出力を qcow2 指定):
qm importdisk 101 /mnt/datastore/datastore55/images/101/WinServer2022.vmdk datastore55 -format qcow2
- vmdk → qcow2 に変換(KVM/Proxmox のネイティブ形式):
4) 仮想ディスクを VM に接続して起動
- Proxmox GUI で対象 VM(Server2022)→ Hardware → Add → Hard disk。未使用ディスクを選択して追加。
- 多くのケースでは SATA か IDE を選ぶと初回ブートが無難です(後で VirtIO へ切替可)。
- Options → Boot Order で、取り込んだディスクを最上位に設定。
- 元 VM と同じ BIOS/UEFI 設定になっているか再確認。
- VM を起動。起動しない場合は、ブートディスクやコントローラ種別(SATA/IDE/VirtIO)を見直します(ディスクの Detach → 再アタッチ で変更可能)。
5) 移行後の構成(ドライバ等)
最適な性能のため、ゲスト OS に VirtIO ドライバと QEMU Guest Agent を導入します(Linux は 2.6 以降カーネルで paravirt を標準サポート)。
- VirtIO ドライバ ISO(例:
virtio-win-0.1.240.iso
)をダウンロードし、Proxmox のデータストアへアップロード→VM にマウント→インストーラを実行。 - インストール後、必要に応じてディスクコントローラを VirtIO SCSI に変更。
- 操作性を高めたい場合はクライアント側に SPICE を導入し、VM 側で有効化。
- 移行完了後は不要になった
.vmdk
等を削除してクリーンアップ:rm /mnt/datastore/datastore55/images/101/WinServer2022.vmdk rm /mnt/datastore/datastore55/images/101/WinServer2022-flat.vmdk
方法2:esxi-import-tools を使う
2024年3月末の Proxmox VE の更新で、ESXi → Proxmox のインポートを GUI で行える pve-esxi-import-tools が導入されました。Proxmox VE 8.2で本番リリース予定ですが、8.1.10 以降では test / no-subscription リポジトリに含まれています。
1) Proxmox のアップグレードとツール導入
- GUI で Updates → Repositories → Add から No-subscription と Test を追加(既定は Enterprise のみ)。
- Updates → Refresh で更新候補を取得し、Upgrade を実行(コンソールで y)。
- アップグレード後、ツールの導入確認:
dpkg -l | grep pve-esxi-import-tools
- カーネル更新を反映するため再起動:
init 6
2) 移行用に Proxmox を構成
- 再起動後、Datacenter → Storage → Add → ESXi を開き、移行元 ESXi ホストを追加します(ID/Server/IP、root 権限の Username/Password、対象 Nodes を指定)。必要に応じて証明書検証をスキップ。
- Storage 一覧に ESXi エントリが追加され、接続中のデータストアが表示されます。
3) VM のインポート開始
- インポート前に、移行元 VM をシャットダウンし、スナップショットを削除。ネットワーク設定を控えます。
- 左ペインで ESXi ストレージを選び、インポートしたい VM の
.vmx
を選択 → Import。 - インポートウィンドウで、提案されたハードウェア構成を確認・必要に応じて調整します。Live Import は「ライブマイグレーション」とは別物なので通常はオフのままにします。Advanced でディスクコントローラや NIC、CD/DVD を調整可能。
- 進捗をモニタし、完了後に VM を起動します。インポート中に vmdk は Proxmox ネイティブの qcow2 へ自動変換されます。
- VM 起動後、VMware Tools をアンインストールし、必要な VirtIO ドライバ等を導入します。
結論
VMware から Proxmox への移行は、空 VM 作成 → ディスクコピー → 取り付けの手動手順で実現できます。vmdk は直接コピー/OVF 出力のいずれでも運用可能で、esxi-import-tools を使えば GUI ウィザードでより簡便に移行できます。移行作業の前後でバックアップを確実に実施し、Proxmox へ移行後は Proxmox VM の定期バックアップ運用を開始してください。
コメント