Proxmox VE 是一款開源且支援眾多開放格式的虛擬化平台,在 File Level 的虛擬磁碟檔支援了 qcow2、raw、vmdk 三種。
若我們想要進行格式互轉,Proxmox VE 提供了那些方法呢?
指令操作
我們可以使用 qemu-img 這支工具程式,功能很多,能為我們解決很多問題。
這支工具在 Proxmox VE 已經內建,若是在 Windows 環境也可以下載 for Windows 的版本使用。
QEMU
qemu-img for Windows
常用的轉換指令如下:
VMDK 轉為 QCOW2
qemu-img convert -f vmdk disk.vmdk -O qcow2 disk.qcow2
QCOW2 轉為 VMDK
qemu-img convert -f qcow2 disk.qcow2 -O vmdk disk.vmdk
VMDK 轉為 RAW
qemu-img convert -f vmdk disk.vmdk -O raw disk.raw
RAW 轉為 VMDK
qemu-img convert -f raw disk.raw -O vmdk disk.vmdk
VDI 轉為 VMDK
qemu-img convert -f vdi disk.vdi -O vmdk disk.vmdk
VHD 轉為 VMDK
qemu-img convert -f vpc disk.vpc -O vmdk disk.vmdk
一行指令下去,沒有消息就是好消息。
這種轉換方法完成後,若要掛載到虛擬機上,還要記得手動修改 /etc/pve/qemu-server/xxx.conf。
上面的指令固然好用,但對於我們要轉換並掛載上去其實有些麻煩,更重要的是沒有辦法線上轉換,需要把虛擬機器停機才可以,這對系統的運作或使用者並不理想。
有沒有既可兼顧操作簡便,又能線上轉換的作法呢?
介面操作
對於一個 GUI 的忠實擁護者而言, 能在介面上操作總是比較安心。
其實 Proxmox VE 一直具有這樣的功能,只是操作的方式大家比較不容易聯想,會有「啊!原來可以這樣使用啊!」的感嘆。
請登入 PVE WebUI,進入 [VMID 虛擬機] > [Hardware 硬體] > [Hard Disk 硬碟] > [Move disk 遷移磁碟]
進入遷移磁碟功能
當進入遷移磁碟的功能以後,有三個主要欄位需要挑選。
遷移磁碟操作畫面
這裡有三個選項,不同組合可以選出不同的效果,我們以目標導向來說明:
想要不停機原地轉換,格式由 qcow2 至 vmdk
- Target Storage 目標儲存:選擇 與原本存放的位置相同
- Format 格式:選擇 VMware Image 映像格式 (vmdk)
- Delete source 刪除來源:勾選
想要不停機轉移到其它儲存,格式不轉換,轉移後來源檔保留
- Target Storage 目標儲存:選擇 目標的儲存位置,例如 NAS
- Format 格式:選擇 與原本的格式相同
- Delete source 刪除來源:不勾選
完成後按下按鈕,即會出現開始遷移的訊息。
磁碟遷移進行中
當訊息的最後出現 100%,即表示轉換已經完成。同時可以注意到這台虛擬機器設定中,硬碟的設定也自動由 vm-108-disk-0.qcow2 轉換成 vm-108-disk1.vmdk 了
轉換完成後自動掛載對應
特別注意,如果是跨儲存(例如本機遷移到 NAS 上),這將會耗費較多資源,建議選在離峰時段再予進行。
結論
透過 WebUI 的方式既簡單、方便又安全,更重要的是不用停機就可以完成轉換,對於不方便停機的系統來說,幫助極大。
參考資料
- qemu-img(1): QEMU disk image utility - Linux man page
https://linux.die.net/man/1/qemu-img
- qemu-img for WIndows - Cloudbase Solutions
https://cloudbase.it/qemu-img-windows/
- [經驗分享]解決 ESXi 6.5 以上 VMDK 相容問題
https://blog.jason.tools/2019/01/vmdk-v2v-converter.html - Proxmox VE 企業應用經驗分享 [2017/07/29] @台中資策會
https://www.slideshare.net/jasoncheng7115/proxmox-ve-20170729