build议创buildCentOS mdadm软件RAID6

编辑:我的问题的解决scheme如下

我想在CentOS系统上用mdadm和XFS分区创build一个经过优化的RAID6arrays。 它将涉及10台ST3000DM001 Seagate 3TB硬盘,我将通过千兆以太网连接一次写入几TB,所有文件都超过100 MB。 我对configurationRAID的了解越多(让事物彼此alignment等等)越多,我觉得我不知道自己在做什么。

具体来说,我会喜欢一些帮助我的mdadm –create和mkfs.xfs命令,并build议如果我需要改变硬件或操作系统中的其他东西。

从看网上资源我最好的猜测是

RAID6块大小:2MiB(这只是一个猜测)

XFS块大小:4KiB(我假设这是我的系统的pagesize,我收集我不能走得更高)

XFS的agcount:64(这只是一个猜测)

苏尼特= 4096,swidth = 32768

所以看起来我的命令应该是:

# mdadm --create /dev/md0 --chunk=2048 --level=6 --raid-devices=10 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdh /dev/sdi /dev/sdj /dev/sdk # parted /dev/md0 mklabel gpt mkpart primary 0.00TB 27.00TB # mkfs.xfs -L /big_raid -b size=4096 -d agcount=64,sunit=4096,swidth=32768 /dev/md0p1 

但我只是喜欢任何build议。 我制作了一个类似设置的RAID5arrays,速度非常慢,写入速度为20 MB /秒(这是我用单个驱动器获得的速度的1/5)

编辑:

所以我发现希捷ST3000DM001可能是我可能根据Backblazeselect的最糟糕的驱动器,所以首先:不要购买它们! 我曾经想过,在十年中有四分之一的人失败了

我构build了RAID6,进行了以下更改,速度提高了5倍,但是我不确定每个单独的更改有多大影响

  • 在每个驱动器上创buildalignment的分区 ,并从它们构buildRAID,如下面的答案所述

从这个页面

  • 在每个驱动器上禁用NCQ。 对于每个驱动器

    # echo 1 > /sys/block/sd[driveletterhere]/device/queue_depth

  • 设置预读

    # blockdev --setra 65536 /dev/md[raidnumberhere]

  • 为RAID设置stripe-cache_size

    # echo 16384 > /sys/block/md[raidnumberhere]/md/stripe_cache_size

希望能帮助任何发现这种情况的人寻找同样的东西! 为了logging我的CPU是AMD A4-5300,我有8GB的内存,这个设置几乎没有接触任何一个

我同意。 除了你不必在md0上运行,只需创build一个分区。

 # mdadm --create /dev/md0 --chunk=2048 --level=6 --raid-devices=10 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdh /dev/sdi /dev/sdj /dev/sdk # mkfs.xfs -L /big_raid -b size=4096 -d agcount=64,sunit=4096,swidth=32768 /dev/md0 

根据我的经验,改变块大小并不能提高性能。 它一直只有1-2%,没什么大不了的。

直接在驱动器上创buildRAID可能会在某些系统上造成一些问题,如果要将其用作启动驱动器,则会更糟糕。 因此,我会使用分区驱动器,每个创build1 gpt分区。 分区将很好地alignment – 哪些分区支持(请按照https://www.google.cz/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=parted%20alignment%20partitions )和比在/ dev / sda1,/ dev / sdb1上创buildmd0,…