Pav*_*vel 5 zfs raid5 raidz zpool
我在 7 个磁盘的 4 个阵列中拥有 28 个 2TB 磁盘 (56T) 的池。由于它是 raidz1 (~RAID5),我希望每个阵列中的奇偶校验使用 1 个磁盘,因此生成的卷应该是 2TB*4*(7-1)=48TB,对吗?
现在,我在我的系统上看到的:
$ zpool list volume
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
volume 50.5T 308K 50.5T 0% 1.00x ONLINE -
$ zfs list volume
NAME USED AVAIL REFER MOUNTPOINT
volume 2.00T 40.3T 75.8K /volume
$ df -h /volume
Filesystem Size Used Available Capacity Mounted on
volume 42T 75K 40T 1% /volume
Run Code Online (Sandbox Code Playgroud)
所以,只有42T而不是48T。缺少的 6TB 在哪里?50.5T这个数字从何而来?
2TB 磁盘的大小不是 2 TiBi - 它只有 2*10^12 / 2^30 ~ 1862 GiBi。
4 个包含 6 个有效磁盘的阵列将是 24 * 1862 = 44703 GiBI,或43.6 TiBi的实际可用存储空间。
我认为它有一些您没有考虑的额外开销 - IIRC RAIDZ 还执行快照和清理,这会占用额外的空间。
要澄清命令之间的输出差异:
该zpool
命令将用于冗余的磁盘计算为空间,而该zfs
命令不计算;因此,50.5 TB 数字是您的原始磁盘大小,而 42T 是在取出 4 个磁盘以进行冗余之后。