我使用以下选项创建了一些 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(总池大小,所有数据集仍然为空)。
答案1
我们看到总空间是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
且仅拥有预留量毫无保留的空间可用于所有数据集。