我们正在为HPC计算集群建立新的存储库,我们正在管理应用统计、生物信息学和基因组学。
我们有一个戴尔电磁兼容ME4084 (84x12TB 7200 and )和一个附加的外壳与戴尔EMC ME484 (28x12TB)。EMC ME4084提供了适应性的分布式RAID (类似于RAID6)和双硬件控制器。
文件服务器正在运行CentOS 7。存储使用两条SAS电缆连接到文件服务器。每个LUN对应于一个具有适配的14磁盘组,这两个SAS连接都显示为设备sdb和sdj。下面给出了LUN ID 0的例子。
我们为active-active配置配置了以下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会导致在active-active配置中写入sdb和sdj,而在启用活动的配置中只写入sdb。我们将mpatha和另一个mpathb分割成一个逻辑卷,并使用XFS对其进行格式化。
我们在以下工作负载下使用fio对I/O性能进行了基准测试:
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的选择是一致的。
是否有任何原因使active-active至少不能与启用活动的性能相匹配?我不知道问题是否与工作负载和多路径配置有关。当我们使用线性逻辑卷而不是条带时,差别甚至更惊人(20%)。我真的很想知道我是否忽略了一些显而易见的东西。
非常感谢,
尼古拉斯
发布于 2020-07-16 20:57:34
在使用HDD时,单个控制器对后端磁盘的速度已经非常快。在active/active模式下添加另一个控制器意味着不需要额外的IOP(由于HDD),而是在多路径级别增加开销,从而降低性能。
换句话说:您将在第一个控制器的CPU之前使HDD饱和,因此让它们处于主动/被动模式。此外,我将尝试使用一个单一的28个磁盘阵列并对其进行基准测试,看看它是否提供了比实际的2x14磁盘设置更多或更少的性能。
https://serverfault.com/questions/1023752
复制相似问题