在多个硬件RAIDarrays负载平衡 – 软RAID 0可以接受?

我们有一个中央存储服务器(PowerEdge R720)为HPC群集提供共享文件,并有两个硬件RAID控制器(PERC H810,每个驱动2个MD1200机箱,装满7200转4TB磁盘)。 与典型的HPC工作负载一样,访问模式预计将是高度并行的顺序读取/写入。 我认为将文件分条到两个arrays将会提供更好的总吞吐量,但是在硬件RAID之上的软件RAID 0的想法听起来很疯狂。

我想出了两个select:

  1. 硬件RAID 6上的软件RAID 0上的XFS上的NFS
  2. 每个硬件RAID 6的光泽

XFS优点:项目配额。

XFS缺点:XFS上的NFSperformance出非常差的元数据性能(如果吞吐量很大,会降低到几乎不可用的程度,我是否调整了错误?)。

光泽优点:显着改善元数据性能。

光泽缺点(?):我们没有专门的元数据设备,不得不对数组进行分区。 听起来不是一个推荐的做法。

我们考虑元数据性能,因为虽然顺序R / W是主要的工作量,但我们有一些程序可以处理大约40k 1GB的文件。 以交互方式pipe理这些文件确实需要可接受的元数据性能

最后一个问题,在硬件和软件上使用什么条带大小?

我们解决了这个问题:

  • 每个MD1200机箱中的硬件RAID-6
  • 两个LVM LV位于四个硬件arrays上,每个LVM LV组合两个卡上的两个arrays,而不分条
  • 两个LV上的XFS,条带化选项与裸露硬件arrays相同
  • 两块砖头上的萤光体,没有条纹

我们调查了我们用户的所有应用程序,发现它们都在许多文件上运行。 因此,不是许多客户正在访问单个大文件的情况,在这种情况下希望在gluster层面上进行条带化处理; 相反,只是将文件随机分发给砖块,能够提供足够的总吞吐量。

虽然这种设置的元数据性能比光泽性差(大约一半),但是在吞吐量大的时候不会降低性能。 结果是可以接受的。

glusterconfiguration目录的配额,再加上它更容易设置比光泽,因此需要明显less于pipe理的努力。 在我的(粗略的)testing中,这个设置的顺序吞吐量与光泽相当,所以我们决定在元数据性能中交换这个部分以便于pipe理。