配置

配置

我们正在为管理应用统计学、生物信息学和基因组学的 HPC 计算集群设置新的存储。

配置

我们有一个装有 Dell EMC ME4084(84x12TB 7200rpm)的主机箱和一个装有 Dell EMC ME484(28x12TB)的附加机箱。EMC ME4084 提供 ADAPT 分布式 RAID(类似于 RAID6)和双硬件控制器。

文件服务器运行的是 CentOS 7。存储使用两根 SAS 电缆连接到文件服务器。每个 LUN 对应一个具有 ADAPT 的 14 磁盘组,两个 SAS 连接均显示为设备 sdbsdj。以下示例针对 LUN ID 0 给出。

我们multipath对主动-主动配置进行如下配置:

$ cat /etc/multipath.conf
defaults {
    path_grouping_policy multibus
    path_selector "service-time 0"
}

$ multipath -ll
mpatha (3600c0ff000519d6edd54e25e01000000) dm-6 DellEMC ,ME4
size=103T features='0' hwhandler='0' wp=rw
`-+- policy=‘service-time 0' prio=1 status=active
  |- 1:0:0:0  sdb 8:16  active ready running
  `- 1:0:1:0  sdj 8:144 active ready running

故障转移配置:

$ cat /etc/multipath.conf
defaults {
    path_grouping_policy failover
    path_selector "service-time 0"
}

$ multipath -ll
mpatha (3600c0ff000519d6edd54e25e01000000) dm-6 DellEMC ,ME4
size=103T features='0' hwhandler='0' wp=rw
|-+- policy=’service-time 0' prio=1 status=active
| `- 1:0:0:0  sdb 8:16  active ready running
`-+- policy=’service-time 0' prio=1 status=enabled
  `- 1:0:1:0  sdj 8:144 active ready running

我们验证了在主动-主动配置中写入mpatha会导致写入sdb和,而在主动启用配置中仅写入。我们将和另一个条带化到逻辑卷中,并使用 XFS 对其进行格式化。sdjsdbmpathampathb

测试设置

fio我们对以下工作负载下的I/O 性能进行了基准测试:

  • 单个 1MiB 随机读写过程
  • 单个 4KiB 随机读写过程
  • 16 个并行 32KiB 顺序读/写进程
  • 16 个并行 64KiB 随机读/写进程

检测结果

                       Failover           Active-Active
                 -------------------   -------------------
   Workload        Read       Write      Read       Write
--------------   --------   --------   --------   --------
1-1mb-randrw     52.3MB/s   52.3MB/s   51.2MB/s   50.0MB/s
1-4kb-randrw     335kB/s    333kB/s    331kB/s    330kB/s
16-32kb-seqrw    3181MB/s   3181MB/s   2613MB/s   2612MB/s
16-64kb-randrw   98.7MB/s   98.7MB/s   95.1MB/s   95.2MB/s

我只报告了一组测试,但结果在重复(n=3)和选择上是一致的path_selector

有什么原因导致主动-主动模式的性能至少无法与主动-启用模式相媲美?我不知道问题是否出在工作负载和多路径配置上。当我们使用线性逻辑卷而不是条带化时,差异更加惊人(20%)。我真的很好奇,想知道我是否忽略了一些显而易见的事情。

非常感谢,

尼古拉斯

答案1

由于您使用的是 HDD,因此单个控制器已经非常快 用于后端磁盘。在主动/主动模式下添加另一个控制器意味着没有额外的 IOP(由于 HDD),但在多路径级别会增加开销,因此性能会降低。

换句话说:你的硬盘空间将饱和很久以前第一个控制器的 CPU,因此请将它们保留在主动/被动模式。此外,我会尝试使用单个 28 磁盘阵列并对其进行基准测试,以查看它提供的性能是否比实际的 2x 14 磁盘设置更高或更低。

相关内容