文件在新 RAID 阵列上占用更多空间

文件在新 RAID 阵列上占用更多空间

我刚刚升级并重新安装了家庭服务器。我做的一件事是从软件 RAID 升级到 RAID 卡。

完成此操作并开始复制备份后,我注意到我的第一个约 1TB 备份占用了新阵列上约 1.4TB 的空间。由于空间使用量增加了 400GB,我猜我做错了什么。

我的设置

我的操作系统安装在单独的 32GB SSD 上。阵列中使用的所有驱动器均为 WD Red 2TB WD20EFRX。

我以前的设置是在 Ubuntu 14.04 桌面上,带有 3x2TB RAID-5 阵列(剩余 4TB 可用)。我使用的是主板 BIOS 中的软件 raid 功能。我使用 GNOME 中的磁盘实用程序对阵列进行了分区和格式化。我不确定我使用了什么格式。这很可能是默认格式。

我的新设置是在 Ubuntu 14.10 Server 上。阵列现在是 6x2TB RAID-5 阵列(理论上还有 10TB 可用)。我现在使用的是 RocketRaid 2720SGL“假硬件”RAID 卡。

设置过程

我安装了驱动程序和 WebGUI,然后初始化驱动器并通过 RocketRaid WebGUI 创建了新的 RAID-5 阵列(我在评论中看到它比卡的 BIOS 功能更受推荐)。由于不确定更高级的设置,我选择了默认的扇区大小 512B。构建过程顺利进行了一整夜。

然后我使用 fdisk 对阵列进行分区。由于磁盘的大小,fdisk 警告我需要选择 GUID 分区表 - 我照做了。我将阵列格式化为 ext4(根据我的研究,这似乎是推荐的选择)。对于扇区大小、扇区起始和扇区结束,我选择了提供给我的默认值。

使用 fdisk -l 现在看起来像这样

Device    Start         End     Sectors Size Type
/dev/sdb1 2048  19534315486 19534313439 9.1T Linux filesystem

在构建阵列时,我最初考虑选择 4K 而不是 512B。然而,当我研究我使用的驱动器时,我发现一些关于使用 4K 扇区大小的争论,所以我决定不这样做。

我将原始阵列备份到 3 个不同的外部 1TB 驱动器上。我已将约 980GB 的目录块从原始阵列复制到第一个外部驱动器(外部驱动器的格式为 ext4)。从此外部驱动器恢复时,我通过 USB 将驱动器连接到服务器并将其安装到 /media/usb。然后我使用此命令将备份从第一个外部驱动器复制到我的新阵列。

rsync -av /media/usb /media/array/drive-one

这复制了外部驱动器上的所有内容(应该是 980GB)。这些文件现在在我的新阵列上占用了 1.38TB。

那么,这与我配置扇区的方式有什么关系吗?或者也许与我从备份中复制文件的方式有关?

答案1

6*2TB RAID5 将为您提供 8TB 数据和 4TB 奇偶校验以及 10GB 数据和 2GB 奇偶校验

前者为您提供双磁盘故障保护,而不建议使用后者,因为它为您提供单磁盘故障保护,没有任何进一步的冗余。此外,根据 UI,您将看到真实的使用情况(包括奇偶校验)或伪造的使用情况(不包括奇偶校验),因此您所看到的对我来说看起来并不异常。

理想的 RAID5 设置是 5 个磁盘+1 个热备用磁盘。 其背后的逻辑是,您同时购买所有磁盘,因此它们将(可能)在同一时间发生故障,并且如果其中一个磁盘发生故障,热备用磁盘将接管(这就是为什么它被称为“热”:它已打开电源,但不执行任何操作,直到其他磁盘之一发生故障)让您有时间订购新磁盘并继续正常操作而不是“降级模式”操作......

现在轮到你使用第 6 个磁盘作为热空闲的但作为驾驶为您提供更多平等,但你也可以用它来增加存储空间这意味着牺牲双硬盘故障保护。这就是为什么它不被鼓励... ;-)

看看这个RAID 计算器请点击此处并通过数字来获取更多信息。

了解更多信息:维基百科 RAID 解释(阅读所有内容,包括历史)以及一篇关于RAID5

相关内容