Proxmox VE 本身對 ZFS 提供了(不算良好的)支援。不過 ZFS 沒有 mirror/parity 簡直是災難,有時使用完全正常,但 ZFS 提示出現不可恢復的錯誤,並且此時備份會出現 I/O Error 無法完成備份。於是打算全部切換到最簡單的 LVM。
因為直接備份和 dd
都有問題,所以需要用 GNU ddrescue 來備份一下出問題的 VM 磁碟。
apt install gddrescue
pushd /var/lib/vz/dump
export DISK_NAME=disk
gddrescue /dev/zvol/local-zfs/${DISK_NAME} ${DISK_NAME}.raw ${DISK_NAME}.log
GNU ddrescue 的速度比較慢,最後的 .log
是用來支持斷點作業的,算是一點彌補。龜速備份完成之後就可以抹掉全部資料換 LVM 了。
重新建立存儲區之後,可以直接 dd
回去,也可以用 Proxmox VE 的工具:
qm importdisk ${VMID} disk.raw local-lvm
自己和其他人的經驗都表明,ZFS 還是更適合作為獨立的存儲系統向其他用戶提供服務(而非作為 FS 使用)。