一、多路径示意图

wKioL1aE6J-hnoGrAACJ8icofiE582.png

二、多路径解决的问题:

1、预防主机HBA卡故障

2、预防磁阵控制器故障

3、可以多条path一起使用提高磁阵的iops能力


三、linux对多路径的解决

linux靠下面三个东西解决:

[root@MYSQL-DB1 dev]# rpm -qa|grep mapper
device-mapper-1.02.67-2.el5
device-mapper-multipath-0.4.7-48.el5
device-mapper-event-1.02.67-2.el5


配置文件:

[root@MYSQL-DB2 ~]# ls -l /etc/multipath.conf
-rw-r--r-- 1 root root 3626 Mar 27  2014 /etc/multipath.conf


配置要点:

1)、通过黑名单配置内置硬盘不被多路径软件管理,如:

blacklist {

devnode "^sda"

}

2)、为了管理需要,最好给每个LUN起一个别名,如:

multipaths {
        multipath {
                wwid    36f01faf000ec60a20000030653317ad3
                alias   mysql_data
                path_grouping_policy failover
        }
        multipath {
                wwid    36f01faf000ec60960000025353317a34
                alias   backup
                path_grouping_policy failover
        }
    }

3)、注意多路径的使用方式(也就是上面的path_grouping_policy)

有两个选择multipath:负载均衡

failover:主备


4)、速度测试和策略测试

速度:

#dd if=/dev/zero of=/dev/mapper/data1 bs=8192 count=1000
1000+0 records in
1000+0 records out
8192000 bytes (8.2 MB) copied, 0.050715 seconds, 162 MB/s

策略:

拔掉一块HBA卡上的光纤,看是否主机访问磁阵受到影响。


5)、业务要用/dev/mapper下生成的设备,不能用sd开头那些。

比如安装oracle rac的时候,用lun分区建立asm盘:

/usr/sbin/oracleasm createdisk asmdisk1 /dev/mapper/ora_datap1


如果内置硬盘是sda,我们在磁阵建立了2个LUN,会看到sdb,sdc,sde,sdf四个东西,还有/dev/dm-0,/dev/dm-1这种东西,这些都不能拿来mount的。


四、solaris对多路径的解决

一般来说,自家主机+自家磁阵,配置起来很简单。在solaris10+2540M2磁阵下,一条命令就可以搞定多路径:

#stmsboot -D fp -e

这一条命令就可以将多条路径缩为1条


五、关于LUN31

在用磁阵的管理软件配置完我们自己的LUN后,会发现多了一个LUN31,对应下面的dm-2,这个是所谓的Universal Xport,是用来管理磁阵的一个东西,无视它即可。


[root@MYSQL-DB1 dev]# multipath -ll
backup (36f01faf000ec60960000025353317a34) dm-1 DELL,MD36xxf
[size=838G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=0][active]
 \_ 7:0:0:1  sdc 8:32  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 8:0:0:1  sdf 8:80  [active][ready]
mysql_data (36f01faf000ec60a20000030653317ad3) dm-0 DELL,MD36xxf
[size=838G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=0][active]
 \_ 7:0:0:0  sdb 8:16  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 8:0:0:0  sde 8:64  [active][ready]
mpath3 (36f01faf000ec60960000017d53257e70) dm-2 DELL,Universal Xport
[size=20M][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=0][enabled]
 \_ 7:0:0:31 sdd 8:48  [failed][ready]
 \_ 8:0:0:31 sdg 8:96  [failed][ready]


六、linux的multipath对磁阵的支持情况

貌似主流磁阵都支持,笔者试过的有HP P2000 G3和DELL MD3600f,如果不支持,需要安装磁阵厂家自己的多路径配置软件。