Tag Archives: MPIO

Linux 的 多路径 IO 技术

作为 DBA,多多少少要关注点儿关于主机到存储这段链路上 IO 的可靠性问题,Multipath I/O(MPIO) 是需要要了解一下的。业界 MPIO 相关的软件不下几十种,但商业软件居多,开源的似乎只有 Device-Mapper,这也是 Linux Kernel 支持的多路径 IO 软件解决方案。

Redhat 应该是从 RHEL4 U2 开始正式增加的对 Device Multipath IO (MPIO) 的支持。SuSE Linux 则是在 SLES9.2 以后就提供支持了,谁先谁后我还真的不知道,不过SuSE 在这方面还真是一直比较激进,或许这也反映了追赶者的一些急躁心态。

关于如何设置 DM 可以参考 RedHat 站点上的一篇 FAQ:How do I setup device-mapper multipathing in Red Hat Enterprise Linux 4?。对于 RHEL 5 ,有一本 Using Device-Mapper Multipath 手册。另外,这里有篇中文的测试,步骤比较详细。

有些存储厂商在 Linux 上没有自己专有的多路径工具,如果需要类似的功能一般是推荐用 DM,但是我对负载均衡算法还有些持保留意见。 IO 路径选择器只有默认的 round-robin 。在负载均衡配置下,似乎这东西每个路径 在 1000 个 IO 之上就会重新选择路径(这个地方我不确定,谁来澄清一下?)。没有最小 IO 队列算法和最小服务时间等算法可供选择。

涉及到的 Oracle 支持情况: Oracle ASM 支持 DM 映射出来的设备.

EOF