Zfs
關於文件系統大小的 ZFS 列表的奇怪輸出
我使用以下選項創建了一些 zfs 數據集:
zfs create ... data/media -o reserv=1TB data/audiostudio -o reserv=600GB data/database -o reserv=20GB data/Git-Backup -o reserv=20GB data/PC-Backup-Linux -o reserv=300GB data/PC-Backup-Windows -o reserv=300GB data/docker-images -o reserv=100GB data/logs -o reserv=20GB
但是,輸出
zfs list
就像NAME USED AVAIL REFER MOUNTPOINT data 2.33T 1.18T 352K /data data/Git-Backup 192K 1.20T 192K /data/Git-Backup data/PC-Backup-Linux 192K 1.48T 192K /data/PC-Backup-Linux data/PC-Backup-Windows 192K 1.48T 192K /data/PC-Backup-Windows data/audiostudio 192K 1.77T 192K /data/audiostudio data/database 192K 1.20T 192K /data/database data/docker-images 192K 1.28T 192K /data/docker-images data/logs 192K 1.20T 192K /data/logs data/media 192K 2.18T 192K /data/media
它如何計算可用空間?我原本預計所有這些大約有 4TB(總池大小,所有數據集仍然是空的)。
我們看到總空間是
2.33TB + 1.18TB = 3.48TB
。
USED
在zfs list
輸出中考慮的保留概念。因為通過保留,ZFS 保證指定數量的磁碟空間可用於文件系統,因此保留的數量被視為已使用/data
(它不再可用於其他文件系統,因此它就像已使用的空間)所以這裡
USED
的空間/data
是保留金額的總和。
2.33T = 1TB + 600GB + 20GB + 20GB + 300GB + 300GB + 100GB + 20GB
1.18GB``AVAIL
來自這意味著任何超過保留數量的數據集都可以使用它/data
,例如/data/media``1.18TB AVAIL + 1TB RESERVED = 2.18TB available for this dataset
因為
/data/logs
是1.18TB + 20GB = 1.20TB
和…我們不能期望
3.48TB
每個數據集都可用,因為通過保留,每個數據集已經擁有保留的數量,/data
並且只有未保留的空間可用於所有數據集。