我现在正在配置一台怪物服务器。
有 15 个 8TB HDD 连接到 SATA 接口卡,我用它来创建 ZFS 卷。驱动器均已检测到,我已安装 ZFS 库并且它们已准备就绪等。
我使用 zpool 创建了 ZFS 卷。我选择了 RAIDZ2,因为我想要双重奇偶校验以获得额外的容错能力。
zpool create -f diskpool1 raidz2 sdc sdd sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp sdq
如果我检查状态,一切都很好:
[root@BACKUPNAS-I ~]# zpool status
pool: diskpool1
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
diskpool1 ONLINE 0 0 0
raidz2-0 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
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sdk ONLINE 0 0 0
sdl ONLINE 0 0 0
sdm ONLINE 0 0 0
sdn ONLINE 0 0 0
sdo ONLINE 0 0 0
sdp ONLINE 0 0 0
sdq ONLINE 0 0 0
errors: No known data errors
但如果我检查磁盘空间,我只显示 87Tb :(
[root@BACKUPNAS-I ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 3.0G 47G 6% /
devtmpfs 7.7G 0 7.7G 0% /dev
/dev/mapper/centos-home 154G 54M 154G 1% /home
/dev/md126p1 497M 188M 310M 38% /boot
diskpool1 87T 256K 87T 1% /diskpool1
我知道,由于 ZFS 的起源,RAID 级别与使用 ZFS 时的 RAID 标准有所不同,但我预计,使用类似 RAID6 的配置时,我将拥有大约 104TB 的可用空间,从而使池中具有 2 个磁盘的容错能力。
我是否做错了什么,或者只是使用本质上是“软件 RAID”和 ZFS 的东西占用了大量空间(大约是我的 8TB HDD 的 2 倍!)
答案1
看起来有两个问题。
第一个硬盘驱动器以 TB (1000^4) 为单位,而df
报告以 TiB (1024^4) 为单位。将您预期的 104TB 换算为 TiB,得到 94.5TiB。仍然关闭。
但你说你有两个驱动器,所以 (15*8)-(2*8)=104TB。如果您有第三个驱动器用于冗余或未使用怎么办?那么你得到(15*8)-(3*8)=96TB。转换为 TiB,您会得到 87.3TiB,这就是df
向您报告的内容。