Zfs
是否可以將數據集轉換為稀疏卷(精簡配置)?
我創建了 ZFS 數據集並在其中安裝了虛擬伺服器。突然間,我的 ZFS 卷可用空間消失了,但並非每個數據集中都使用了所有空間。我想介紹精簡配置(使用 ZFS 稀疏卷)。
是否可以將數據集轉換為稀疏捲而不刪除它們?謝謝。
據我所知,不可能將現有的 zvol 轉換為稀疏的;一開始就必須將它們創建為稀疏的。
但是,您可以創建一個新的稀疏 zvol,並
zfs send
從舊zfs recv
的到新的,然後交換它們的名稱。
我認為接受的答案實際上並不正確,但我沒有足夠的代表發表評論。
假設當 OP 說“數據集”時,它們的意思是“ZFS 卷”(或 ZVOL)。
精簡配置(又名稀疏)ZVOL 和正常 ZVOL 之間的唯一區別是是否通過
refreservation
屬性保留完整大小,例如# zfs create -V 10G tank/test_full # zfs create -s -V 10G tank/test_sparse # zfs list -o name,used,usedbydataset,usedbyrefreservation,logicalused,logicalreferenced,refreservation tank/test_sparse tank/test_full NAME USED USEDDS USEDREFRESERV LUSED LREFER REFRESERV tank/test_full 10.3G 136K 10.3G 30K 30K 10.3G tank/test_sparse 136K 136K 0 30K 30K none
因此,您可以通過更改現有 ZVOL 將現有 ZVOL 轉換為稀疏,
refreservation
例如# zfs set refreservation=none tank/test_full # zfs list -o name,used,usedbydataset,usedbyrefreservation,logicalused,logicalreferenced,refreservation tank/test_sparse tank/test_full NAME USED USEDDS USEDREFRESERV LUSED LREFER REFRESERV tank/test_full 136K 136K 0 30K 30K none tank/test_sparse 136K 136K 0 30K 30K none