提高mdadm RAID-6写入速度


8

我的5x1Tb WD绿色硬盘的家用服务器中有一个mdadm RAID-6。读取速度绰绰有余-dd为268 Mb / s。但是写入速度仅为37.1 Mb / s。(均通过dd在48Gb文件上进行了测试,RAM大小为1Gb,测试中使用的块大小为8kb)

您能否提出为什么写入速度如此之慢并且有什么方法可以改善它?写入过程中的CPU使用率仅为25%(即Opteron 165 1核的一半),那里没有关键业务数据,服务器也没有UPS支持。

mdstat是:

Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[4] sde1[3] sdf1[2] sdb1[1]
      2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>

有什么建议么?

诸如回写,障碍,nobh之类的东西并没有帮助。DD块大小为1M,8M不变。看起来mdadm物理读取扇区以计算奇偶校验位,即使这没关系...正确吗?

更新:更改条带缓存后的速度下降实际上是因为1个HDD在测试过程中可能失败了,不错:-D

解决的方法:增加条带缓存并切换到外部位图后,我的速度为160 Mb / s写入,260 Mb / s读取。:-D


Hey Bars ..您进行了哪些调整,经过什么更改后性能下降到120Mb / s?我遇到了类似的问题,但我的表现却更糟:(任何建议都将是有用的!谢谢!

就我而言,在优化过程中我发生了磁盘故障:-)
BarsMonster 2011年

Answers:


9

您是否尝试过调优/ sys / block / mdX / md / stripe_cache_size?

根据此论坛帖子(使用挪威语,很抱歉),“磁盘越多,系统越快,调整此参数就越重要”:

在我的系统上,使用8192值可获得最佳性能。如果使用默认值256,则写入性能下降66%。

引用他的速度进行比较:

磁盘:mdadm RAID6(-n 512)中的8xSeagate 2TB LP(5900RPM)(stripe_size_cache = 8192)。

处理器:Intel X3430(4x2.4GHz,8GB DDR3 ECC RAM)

速度:387 MB / s顺序写入,704 MB / s顺序读取,每秒669次随机搜索。

使用RAID 5,我的家庭服务器的磁盘几乎与您相同:

磁盘:RAID 5中4x1.5TB WD绿色(stripe_size_cache = 256-默认值)

处理器:Intel i7 920(2.66 GHz,6 GB RAM)

速度:60 MB / s顺序写入,138 MB / s顺序读取(根据Bonnie ++)

因此,看起来顺序写入性能约为读取性能的50%。

对于期望的性能,Linux Raid Wiki讲述了RAID 5:

读取几乎类似于RAID-0读取,写入可能非常昂贵(在写之前需要读入,以便能够计算正确的奇偶校验信息,例如在数据库操作中),或者类似于RAID-1。写入(执行较大的顺序写入,并且可以直接从要写入的其他块中计算奇偶校验时)。

关于RAID 6:

读取性能类似于RAID-5,但写入性能较差。


写入速度降至15-20 Mb / s,读取速度降至110:-S这只是没有意义:-(
BarsMonster 2010年

尝试其他一些值,看看会发生什么。不是这方面的专家,但是我在md RAID 5中有WD Greens(4x1.5TB)存在相同的问题-写入速度相当慢。目前,我的系统已关闭,但我也会在最后进行试验,如果可以改进,请在此处进行更新。
jg-faustus 2010年

顺便说一句:您是否启用了AHCI?哪个文件系统-ext3,ext4?
jg-faustus 2010年

不确定AHCI,很难看一下BIOS。分机4。
BarsMonster 2010年

该死的,以120Mb / s的读取速度停留,无法回到我的268 :-(这真令人沮丧...我看不到mdadm为什么不能以〜3x90 Mb / s的速度线性读取或写入数据。 ..真是愚蠢
BarsMonster 2010年

4

尝试

echo 32768 > /sys/block/md0/md/stripe_cache_size

并检查;)


在先前的答案中,我们正在测试不同的stripe_cache_sizes。将其设置为32768并没有任何改善。即使升级后(E8500 CPU,8Gb ram和8x1Tb阵列),我的写入速度仍为〜100Mb / sec
BarsMonster 2012年

荒诞!那立即将我的写入性能从〜70MB / s提高到了〜360MB / s!?!哦,我的上帝。WTF这不是默认值吗?
stolsvik

哦,我的话。这确实有效...从[==============> ....]恢复= 82.1%(1604609136/1953382144)完成= 122.7min速度= 47348K / sec到[ ================> ....]回收率= 82.3%(1953382144分之1607712880)光洁度= 56.2min速度= 102451K /秒
Lmwangi

在我的测试中,8192的值似乎足够。尽管将我必须测试的所有东西都扔到了一个阵列上,但我无法让stripe_cache_active的峰值超过7000的低点。
乔迪·李·布鲁雄
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.