為什麼我增加 ZFS 共享的配額時可用空間沒有增加?
我對 ZFS 不是很熟悉,需要在 FreeNAS 上增加 ZFS 共享的大小。當我這樣做時,
zpool list
我看到我們有 2 個 ZFS 池:NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT Volume1 1.98T 1.00T 1003G - 26% 50% 1.00x ONLINE /mnt Volume2 1.98T 140G 1.85T - 2% 6% 1.00x ONLINE /mnt
我想增加大小的共享是一個
Volume1
名為的目錄releases
(應該從 100G 到 150G)[root@axxfile] ~# zfs list | grep releases Volume1/releases 100G 280K 100G /mnt/Volume1/releases [root@axxfile] ~# zfs get quota Volume1/releases NAME PROPERTY VALUE SOURCE Volume1/releases quota 100G local
為了增加我所做的大小:
zfs set quota=150 Volume1/releases
這導致:[root@axxfile] ~# zfs list | grep releases Volume1/releases 100G 280K 100G /mnt/Volume1/releases [root@axxfile] ~# zfs get quota Volume1/releases NAME PROPERTY VALUE SOURCE Volume1/releases quota 150G local
由於某種原因,配額從 100G 增加到 150G,但“可用空間”仍然是 100G。在向Google詢問解決方案後,我發現我增加了 ZFS 共享,但作業系統不知道這一點,所以我需要用類似的東西告訴作業系統
[root@axxfile] ~# growfs -M /mnt/Volume1/releases/ Volume1/releases growfs: illegal option -- M usage: growfs [-Ny] [-s size] special | filesystem
如您所見,這不起作用,因為
-M
它不是有效的屬性。我嘗試繼續Google搜尋,但無法找到解決方案。也許有人可以通過解釋我做錯了什麼或我錯過了哪一步來幫助我?也許很高興知道我們使用的是舊版本(9.3)的 FreeNAS。計劃在不久的將來進行更新,但我們還無法做到。
============== 更新1 ============ @Michael Hampton
我注意到 refquota 仍然是 100G,我猜這就是問題所在?
[root@axxfile] ~# zfs get quota,reservation,refquota,refreservation Volume1/releases NAME PROPERTY VALUE SOURCE Volume1/releases quota 150G local Volume1/releases reservation none local Volume1/releases refquota 100G local Volume1/releases refreservation none local [root@axxfile] ~# zfs get -r reservation,refreservation -t filesystem,volume Volume1 cannot open '-t': dataset does not exist cannot open 'filesystem,volume': invalid dataset name NAME PROPERTY VALUE SOURCE Volume1 reservation none local Volume1 refreservation none local Volume1/VM reservation none local Volume1/VM refreservation none local Volume1/ab reservation none local Volume1/ab refreservation none local Volume1/backup reservation none default Volume1/backup refreservation none default Volume1/backup/cloneimages reservation none local Volume1/backup/cloneimages refreservation none local Volume1/backup/sicherungen reservation none local Volume1/backup/sicherungen refreservation none local Volume1/backup/switch reservation none default Volume1/backup/switch refreservation none default Volume1/jails reservation none default Volume1/jails refreservation none default Volume1/mailserver reservation none local Volume1/mailserver refreservation none local Volume1/releases reservation none local Volume1/releases refreservation none local
在我的回復之後,
@Michael Hampton
我注意到也refquota
為共享(數據集)設置了一個。在我改變了refquota
問題之後zfs set refquota=150G Volume1/releases
,問題就解決了。
quota
這很好地解釋了和之間的區別refquota
:配額限制了數據集及其所有子節點和快照的整體大小,而 refquota 僅適用於從該數據集中直接引用的數據。
如果您將數據集委派給另一個使用者(有權在該使用者下創建其他數據集)或者如果您想限制給定數據集的整體大小,配額將很有用。例如,多使用者文件伺服器的 /home 目錄可以限制為 10TB,這將確保所有使用者主數據集和所述數據集的快照的總和不能超過 10TB。
如果您的使用者傾向於超載特定數據集,那麼 Refquota 會很有幫助。在我們上面的範例中,每個使用者的主目錄可能被限制為 100GB 配額和 50GB 引用配額。這意味著他們的主目錄可以包含 50GB 的數據,但實時數據集和所有快照的總和不能超過 100GB。