![raidz1 6x4TB = 16.9t?](https://linux22.com/image/763798/raidz1%206x4TB%20%3D%2016.9t%EF%BC%9F.png)
我正在运行 Ubuntu 服务器,其中安装了最新版本的 zfs-utils。我安装了 6x4TB 磁盘(lsblk -b 显示所有磁盘分区 1 大小 = 4000787030016),并创建了包含所有 6 个磁盘的 raidz1 配置。raidz 计算器网站说我应该看到 20TB“可用”。当我运行“zpool list”时,我看到 21.8T“FREE”。当我运行“zfs list”时,我看到 16.9T“AVAIL”。当我运行“df -h”时,我看到 17T“Size”。据我了解,这与 RAID5“类似”。我很惊讶地发现,我一开始有大约 24T 的磁盘,但在 raidz1 之后,我只剩下 17T?据我了解,raidz1 与 RAID5“类似”,预计至少会因条带化而损失 4T,但其他 3T 去哪儿了?
2021/02/20 更新 - 我删除并重新创建了 /tank 几次,可能发布了之前版本的统计数据。以下是使用 6x4TB 磁盘时的统计数据。抱歉显示混乱。我还不熟悉如何在这个论坛上正确输入/显示内容。
root@bignas1:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 805K 16.9T 153K /tank
root@bignas1:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 21.8T 1.12M 21.8T - - 0% 0% 1.00x ONLINE -
root@bignas1:~# zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 21.8T 1.12M 21.8T - - 0% 0% 1.00x ONLINE -
raidz1 21.8T 1.12M 21.8T - - 0% 0.00% -
ONLINE
sda - - - - - - - - ONLINE
sdb - - - - - - - - ONLINE
sdc - - - - - - - - ONLINE
sdd - - - - - - - - ONLINE
sde - - - - - - - - ONLINE
sdf - - - - - - - - ONLINE
root@bignas1:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 21.8T 912K 21.8T - - 0% 0% 1.00x ONLINE -
root@bignas1:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 594K 16.9T 153K /tank
root@bignas1:~# zfs version
zfs-0.8.3-1ubuntu12.6
zfs-kmod-0.8.3-1ubuntu12.5
2021/02/20 更新 2
root@bignas1:~# cat /sys/module/zfs/parameters/spa_slop_shift 5
root@bignas1:~# lsblk | grep sd sda 8:0 0 3.7T 0 磁盘
═─sda1 8:1 0 3.7T 0 部分
└─sda9 8:9 0 8M 0 部分
sdb 8:16 0 3.7T 0 磁盘
═─sdb1 8:17 0 3.7T 0 部分
└─sdb9 8:25 0 8M 0 部分
sdc 8:32 0 3.7T 0 磁盘
═─sdc1 8:33 0 3.7T 0 部分
└─sdc9 8:41 0 8M 0 部分
sdd 8:48 0 3.7T 0 磁盘
═─sdd1 8:49 0 3.7T 0 部分
└─sdd9 8:57 0 8M 0 部分
sde 8:64 0 3.7T 0 磁盘
═─sde1 8:65 0 3.7T 0 部分
└─sde9 8:73 0 8M 0 部分
sdf 8:80 0 3.7T 0 磁盘
═─sdf1 8:81 0 3.7T 0 部分
└─sdf9 8:89 0 8M 0 部分
答案1
首先,您需要考虑 4 TB 磁盘实际上是 3.64 TiB 磁盘(由于十进制/二进制转换,即:1 TB 定义为 10^12 而不是 2^40)。
所以,3.64 TiB * 5 个数据盘 = 18.2 TiB。注意:根据设计,zpool list
报告总原始空间,不考虑奇偶校验开销。这就是它显示 21.8 TiB(3.64 * 6)的原因
从中,您需要减去 ZFS 为自己保留的空间。默认情况下,它设置为总池大小的 3.2%(可通过以下方式调整spa_slop_shift
)
18.2 TiB-3.2%=17.61 TB
奇怪的是,你又损失了约 600 GB,我无法解释。在我的一台配置了 6x 3.64 TiB 虚拟磁盘的测试机上,zfs list
报告预期的 17.6 TiB 为可用。
cat /sys/module/zfs/parameters/spa_slop_shift
你能展示一下和的输出lsblk
吗?
答案2
我很惊讶地发现我开始时大约有 24T 的磁盘,而在 raidz1 之后只剩下 17T?
4000787030016
字节大约为3.64 T
,您的“感谢”归于营销。