软件 RAID 5 与 RAID 6 性能

ger*_*ard 1 raid ubuntu performance software-raid

我在 Ubuntu 10.04.03、3 个设备、64k 块下设置了原始软件 RAID 5。性能是可以接受的:

# 4GB write
dd if=/dev/zero of=ddfile.big bs=1MB count=4k
4095290816 bytes (4.1 GB) copied, 51.743 s, 79.1 MB/s

# 4GB read
dd if=ddfile.big of=/dev/null
4095290816 bytes (4.1 GB) copied, 62.5932 s, 65.4 MB/s
Run Code Online (Sandbox Code Playgroud)

然后我去了一个带有 3 个设备的软件 RAID 6(2 个被标记为丢失,需要从它们中复制数据),128k 块。我还在新阵列上设置了 LVM。性能差得令人震惊:

# 4GB write
dd if=/dev/zero of=ddfile.big bs=1MB count=4k
4096000000 bytes (4.1 GB) copied, 106.406 s, 38.5 MB/s 

# 4GB read
dd if=ddfile.big of=/dev/null
4096000000 bytes (4.1 GB) copied, 129.317 s, 31.7 MB/s
Run Code Online (Sandbox Code Playgroud)

我试图了解是什么使这些读写速度减慢了一半。会不会是LVM?还是新raid阵列的退化状态?或者可能是块大小差异(64k 与 128k)?除此之外,我使用 ext4 作为文件系统,别无选择。

Mat*_*ons 8

这种情况的错误数量在这里令人震惊。

我去了一个有 3 个设备的软件 RAID 6

RAID-6 阵列有两个奇偶校验。这意味着对于写入的每一位,(基本上)进行两次计算,每个奇偶校验一次。不建议在少于 5 的阵列上使用 RAID-6(少于 4 会适得其反!)。本质上,你做了太多的工作却没有任何收获。

2 被标记为丢失

这就是它真正开始走下坡路的地方。您正在执行 RAID-6,但缺少两个设备。所以你正在计算平价并将其放在......无处可去?(嘿,任何有软件 RAID-6 经验的人,这是真的吗?它还能计算吗?如果是,它会被丢弃,还是会尝试将奇偶校验写入驱动器?)

并且您从多个主轴中获得的任何收益都被完全消除了,因为您没有使用任何其他主轴。

性能差得惊人

在这一点上,它并没有像不言自明的那么令人震惊。你正在做大量的事情,但绝对没有任何好处。

那你该怎么办?

问自己一些问题。为什么要使用 RAID-6?是因为它比 RAID-5 更容错吗?如果是这样,您应该了解 RAID-6 保护您免受哪些故障模式:

它有两个奇偶校验。每当您遇到驱动器故障,然后更换驱动器,然后在重建过程中另一个驱动器出现故障时,这就会起作用。这通常发生在您收到一批坏驱动器时,或者当您的驱动器持续暴露在高温下(可能比您想象的要高)时。此外,每读取 10^14 位(即超过 11TB 的数据)就有可能出现不可恢复的读取错误 (URE)。如果它发生在 RAID 重建期间,那不好,而 RAID-6 可以保护它。

告诉我们更多有关您要构建的阵列的信息。你为什么要建造它,容量需要是什么,你需要什么样的性能?有了这些信息,我们可以为您提供建议。