我有一个问题,无法解释我的 raidz2 中缺少的容量
# zpool status -v nas
pool: nas
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
nas ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
sdh ONLINE 0 0 0
errors: No known data errors
# zpool list nas
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
nas 21.8T 6.11G 21.7T - 0% 0% 1.00x ONLINE -
# zfs list nas
NAME USED AVAIL REFER MOUNTPOINT
nas 4.34G 15.0T 4.34G /nas
我使用 8x3TB (2,72TiB)。物理大小约为 21,8TiB,还可以。但可用空间为 15,0TiB,但我预计为 16,3 TiB。
我知道 raidz 使用了一些额外的空间用于元数据(1/64),但这并不能解释 1.3 TiB 的差距。
我可以进行其他解释或检查来找出造成差距的罪魁祸首吗?
提前致谢。
编辑1:
zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
nas 4.34G 15.0T 4.34G /nas
EDIT2:这似乎与 ashift 有关。我尝试创建一个 ashift=9 的 zpool,结果如下:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
nas 99.9K 15.8T 35.9K /nas
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
nas 21.8T 152K 21.7T - 0% 0% 1.00x ONLINE -
恢复 0.8 TiB,但仍有 0.5 TiB 损失。此外,写入性能也下降。
解决方案: 首先感谢您的信息。就我个人而言,我没有找到正确的解决方案,但我决定使用 ashift=12 (4k) 的 raidz,以获得更好的性能和更低的容量。顺便说一句,我也认为使用硬盘的实际物理扇区大小不是一个坏主意。