各种 Linux 光纤通道多路径选项的优缺点

各种 Linux 光纤通道多路径选项的优缺点

在我们的 Linux 服务器上,我们目前使用 HP qla2xxx 驱动程序,因为它内置了多路径(主动/被动)。

但是,还有各种其他选项,例如带有库存 qla2xxx 驱动程序(多总线和故障转移)的 Red Hats device-mapper-multipath 以及 SecurePath 和 PowerPath 之类的东西(据我回忆,两者都可以进行中继)。

除了 {Secure,Power}Path 选项花费大量金钱这一显而易见的事实之外,有人能告诉我各种选项的优缺点是什么吗(如果我可以问这样的问题)?我主要对免费提供的选项感兴趣,例如 HPs qla2xxx 与 Red Hats multipathd 以及其他可能的开源解决方案,但我也想听听选择商业解决方案的充分理由。

更新:我将在接下来的几天对各种选项进行基准测试(每个选项运行 10 次 iozone 的平均值(选项包括本机 qla2xxx 故障恢复、本机 qla2xxx 多总线、HP qla2xxx 故障转移))。我将在这里为感兴趣的人发布结果摘要。

答案1

过去我曾经使用过:

  • IBM 子系统设备驱动程序(IBM SAN 设备)
  • RDAC(IBM DS4000 和 Dell MD3000)
  • 设备映射器多路径(IBM SAN、DS4000 和 Dell MD3000)

我非常喜欢设备映射器多路径,因为它简单、与内核紧密耦合并且可靠。

IBM SDD 最初是移植到 Linux 的 AIX 驱动程序。它运行良好,但为了避免内核污染,需要特定的 Linux 内核修订版,这通常比最新和最好的版本落后 3-6 个月。

我讨厌 RDAC 存储,也不想让任何类型的多路径软件与它兼容。如果您有 RDAC 存储,请避免使用 RDAC 驱动程序并使用 dm-multipath。根据我的经验,它更可靠。

对于 HBA 驱动程序,我通常坚持使用 Linux 内核自带的驱动程序,因为它也适用于 dm-multipath。我职业生涯中遇到的最大挫折之一就是尝试让 RDAC 或 SDD 驱动程序与 HBA 驱动程序配合使用。通常会出现某个地方不匹配的情况,一半的 LUN 都看不到,或者发生冲突,导致您看到两次相同的 LUN。

答案2

另一次投票支持 DM 多路径。

我以前曾因 QLogic 自己的 qla3xxx/qla4xxx 驱动程序和用于控制它们的用户空间实用程序而深受其害。我们的体验可能略有不同,因为这些卡是 IBM OEM 的,是其刀片服务器唯一可用的 iSCSI HBA,但我认为情况也一样。驱动程序和实用程序使用起来简直是一场噩梦。此外,IBM 和 QLogic 都无法提供在其推荐环境中使用这些卡的技术指导。

相比之下,上游内核驱动程序工作得非常完美。我们所需的所有接口都通过 sysfs 呈现。来自不同路径的 LUN 以块设备的形式到达,正如您所期望的那样,可供 multipathd 识别。multipathd 相对容易配置,并且在繁忙时完全按照其说明执行。如果您拥有技术专业知识,无需他们提供任何基本支持,那么这就是我的建议。

PS:如果您希望启动 root-on-multipath 设置,那么这有点棘手,但完全可以实现。如果需要,我可以提供一些说明。

答案3

到目前为止,DM 对我来说也是如此。我在 DS4700 上尝试过 RDAC 和 DM,两者都无法在 ds4700 上进行动态负载平衡,只能进行故障转移。如果启用循环平衡,吞吐量就会下降……我读到过一些东西,认为这是 ds4700 无法做到这一点的原因。

我没有看到 rdac 和 dm 之间的性能差异,尽管 dm 会导致 Sansurfer 软件抱怨由于某种原因选择了非首选控制器。

对于我来说,在 Debian 下编译 RDAC 也是一场噩梦,我希望人们不要再认为 Linux 只有 RHEL 和 SuSE!

SDD 怎么样?与这 2 个相比,它有什么优点吗?

相关内容