VMware ESXi 往 Proxmox VE 遷移

這是一個漫長的故事,總之呆翰決定把家裡的單機的 VMware Hypervisor ESXi 拆掉換成 Proxmox VE 了。以下是遷移計畫以及測試過程:

遷移前的環境

  • VMware ESXi 單機 + 免費授權
  • ESXi 靠 SanDisk 24G SSD 開機,上面有些 VM
  • 其他 VM 放在 一顆 Intel 730 240G SSD 上
  • 有個 FreeNAS 的 VM 直接存取三顆硬碟

預計遷移步驟

  1. 備份 FreeNAS 上 NFS 的 export 設定檔
  2. 拿出另一顆 Intel 730 240G SSD 安裝 Proxmox VE
  3. 安裝 vmfs-tools 將 SanDisk 24G 與 Intel 730 240G 兩顆 SSD 上的 VM 複製到安裝 Proxmox VE 的 SSD 上
  4. 測試 FreeNAS 丟在 Proxmox VE 上直接存取硬碟的效能,如果不理想就拆掉 FreeNAS 讓 Proxmox VE 直接存取 FreeNAS 裡面的 ZFS
  5. 將 ESXi 的 730 SSD 轉為 Proxmox VE Root ZFS 的 RAID 1 備援
  6. 拆掉快壞掉的 SanDisk 24G SSD

實驗步驟

因為系統還在跑,我也沒有多的 Intel 730 SSD 可以測試,所以測試流程如下:

  1. 將 ESXi 開機用的 SanDisk 24G SSD 的備份還原到另一隻 24G SSD
  2. 準備兩隻 SanDisk CZ80 先用第一支安裝 Proxmox VE
  3. 安裝 vmfs-tools 讀取 24G SSD 的 VM 並遷移上 Proxmox VE
  4. 遷移成功後連接另一隻 CZ80 ,將 Proxmox VE 做成 RAID 1
  5. 拔掉第一支 CZ80 確定可以開機(我很好奇 ZFS 加入 RAID 1 會不會順便把 grub 裝好)

相關指令

apt update
apt install vmfs-tools
vmfs-fuse /dev/sdb3 /mnt/

# 透過 GUI 新增 VM ,完成後刪除硬碟
cd /mnt/Home-RouterOS-CHR/
qm importdisk 100 Home-RouterOS-CHR.vmdk local-zfs --format qcow2

# 透過 GUI 調整開機順序
# RouterOS 重新設定 IP 的 Interface
/interface ether print
/ip address print_
/ip address set 0 interface=ether4

# dump 分割區表
umount /mnt
lsblk
zpool status
dd if=/dev/sda of=partitiontable.bin bs=1 count=2048
sgdisk --backup=partitions-backup /dev/sda
sgdisk --replicate=/dev/sdb /dev/sda
sgdisk -G /dev/sdb

這裡有個意外,不確定是不是因為隨身碟,總之 PVE 再安裝過程會讓 CZ80 多幾百個磁區可以用,因此各種 dump 分割區表的方式都是失敗了,這裡直接讓第二支 CZ80 也跑一次 PVE 的安裝程式。

# 繼續 Clone 資料進去第二支 CZ80
dd if=/dev/sda1 of=/dev/sdb1
dd if=/dev/sda9 of=/dev/sdb9
dd if=/dev/zero of=/dev/sdb2 bs=4096 count=1024

zpool attach -f rpool sda2 sdb2zpool

  • sgdisk 不要弄錯來源跟目標(實驗過程弄壞過一次)
  • CZ80 + PVE Installer 後會多一些磁區可以用,這裡直接讓兩支隨身碟都跑過 PVE 的安裝程式,再來覆蓋。

參考資料

PVE 論壇文章 Procedure to import vmware OVA to Proxmox 5.0-23 with ZFS VM store (看到 qm help importdisk 搞定後面就沒看了,不過蠻多實用的指令)

Coderwall 文章 creating a mirrored ZFS Pool out of a single-disk rpool

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料