我有一个最初的软件RAID 5设置在Ubuntu10.04.03,3个设备,64k块。业绩是可以接受的:
# 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然后我去了一个带有3个设备的软件RAID 6(其中2个被标记为丢失,需要从它们复制数据),128 k块。我还在新数组上设置了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我想弄清楚是什么使读写速度下降了一半。会不会是LVM?还是新raid阵列的降级状态?或者是块大小的差异(64k比128 k)?除此之外,我使用ext4作为文件系统,没有选项。
发布于 2011-08-17 13:47:38
这种情况的错误之多是令人震惊的。
我去了一个带有3个设备的软件RAID 6。
RAID-6阵列有两个参数.这意味着,对于所写的每一个位,都有(实质上)两个计算,每个奇偶计算一个。不建议在小于5的数组上使用RAID-6 (在小于4的数组上使用RAID-6会适得其反!)从本质上说,你做了太多的工作却一无所获。
2人被标记为失踪
这就是它真正开始走下坡路的地方。你在做RAID-6,两个装置不见了。所以你在计算奇偶,然后把it..nowhere放进去?(嘿,有RAID 6软件经验的人,这是真的吗?)它还在计算吗?如果是的话,它是被丢弃了,还是试图将奇偶写入驱动器?)
你从多个纺锤体中获得的任何收益都被完全消除了,因为你没有任何其他的主轴在使用。
表现极差。
在这一点上,它并不是那么令人震惊,而是自以为是。你做了大量的事情却毫无益处。
那你该怎么办?
问你自己一些问题。你为什么要RAID-6?是因为它比RAID-5更容错吗?如果是这样的话,您应该了解RAID-6的哪种故障模式可以保护您免受以下影响:
它有两个配偶。每当您遇到驱动器故障时,这都会起作用,然后更换驱动器,然后在重建过程中再次发生驱动器故障。这通常发生在你得到了一批坏的驱动器,或者当你的驱动器不断暴露在高温下(可能比你想象的还要高)。此外,大约每10^14位读取就有一个不可恢复的读取错误(URE) (这比11 the的数据稍多一点)。如果它发生在RAID重建过程中,那就不好了,RAID-6可以保护它。
告诉我们更多关于您想要构建的数组的信息。你为什么要建立它,你需要什么样的能力,你需要什么样的表现?有了这些信息,我们可以给你建议。
发布于 2011-08-17 13:14:51
你的问题是丢失的磁盘。当其中一个磁盘丢失时,RAID 5的性能会大大降低。当两个磁盘丢失时,RAID 6会退化。基本上,系统需要为每个块重新生成平价,因此出现了减速。
在替换丢失的磁盘和完成raid重建之后,您至少应该获得良好的性能。
https://serverfault.com/questions/302043
复制相似问题