我build立了一个由4 * 2 TB磁盘组成的Linux软件raid level 5。 磁盘arrays是用64k条带大小创build的,没有其他configuration参数。 初始重build后,我试图创build一个文件系统,这一步需要很长时间(大约半小时或更长)。 我试图创build一个xfs和ext3文件系统,都花了很长时间,与mkfs.ext3我观察到以下行为,这可能会有所帮助:
单独的磁盘性能非常好,我已经分别运行bonnie ++,写入/读取值约为95 / 110MB / s。 即使我在每个驱动器上并行运行bonnie ++,值也只能减less大约10 MB。 所以我通常排除硬件/ I / O调度作为一个问题来源。
我尝试了不同的configuration参数stripe_cache_size和readahead大小没有成功,但我不认为它们是相关的文件系统创build操作。
服务器详细信息:
有没有人有如何进一步debugging这个build议?
我同意,这可能与条纹alignment有关。 根据我的经验,在3 * 2 TB RAID-0上创build未alignment的XFS需要5分钟,但是如果它与条带大小alignment,则需要大约10-15秒。 这里是一个命令,将XFSalignment到256KB的条带大小:
mkfs.xfs -l internal,lazy-count=1,sunit=512 -d agsize=64g,sunit=512,swidth=1536 -b size=4096 /dev/vg10/lv00
顺便说一句,条纹宽度在我的情况下是3个单位,这将是相同的4个驱动器,但在RAID – 5。
显然,这也提高了FS的性能,所以你最好保持它的alignment。
我怀疑你正在遇到典型的RAID5小写问题。 对于条带大小的写入,它必须对数据和奇偶校验执行读 – 修改 – 写。 如果写入与条带大小相同,则可以简单地覆盖奇偶校验,因为它知道该值是什么,不必重新计算。
如果您在创build文件系统时指定了跨度和条带宽度,那么您的mkfs和后续文件系统性能可能会提高。 如果你正在使用默认的4k块,你的步幅是16(64k的RAID条带除以4k的文件系统块),并且你的条带宽度是48(文件系统步幅16乘以你的数组中的3个数据磁盘)。
mkfs.ext3 -E stride=16 stripe-width=48 /dev/your_raid_device