Linux

multipath f multipath问题解决方案

 Multipath是多路径聚合软件,用于解决SAN环境下,多条I/O路径的流量分配、路径管理。对于OS而言,每条路径都是一块物理盘,在没有多路径聚合软件的情况下,会出现实际上单一盘由于多链路导致系统认到多块盘的情况。多路径软件常用于故障切换和链路冗余和I\O流量的负载均衡 Multipath的应用操作1、查看服务进程multipathd

# ps -ef | grep multipathd
root      6790     1  1 Dec19 ?        02:52:54 /sbin/multipathd
root     29693 23820  0 00:11 pts/0    00:00:00 grep multipathd

    若没有启动则执行如下命令,启动multipath服务

# service multipathd start

    或者

#/etc/init.d/multipathd start

 2、查看磁盘WWID文件/var/lib/multipath/bindings

# cat /var/lib/multipath/bindings

# Multipath bindings, Version : 1.0

# NOTE: this file is automatically maintained by the multipath program.

# You should not need to edit this file in normal circumstances.

#

# Format:

# alias wwid

#

mpath0 36005076b08164f4077654321a3efb95fe

mpath1 3600508a4010c3a920000c00002370000

     *注意,表中的英文提示,文件内容由multipath自动生成,一般情况下,不需要自动更改。 3、编辑multipath配置文件/etc/multipath.conf

cp /usr/share/doc/packages/multipath-tools/multipath.conf.synthetic /etc/multipath.conf

# cat /etc/multipath.conf

********************ignore****************************

## Use user friendly names, instead of using WWIDs as names.

defaults {

        user_friendly_names yes }

# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.

devnode_blacklist {
       wwid 36005076b08164f4077654321a3efb95fe
#       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#       devnode "^hd[a-z]"
}

multipaths {
        multipath {
                wwid 3600508a4010c3a920000c00002370000
                alias example

        }

********************ignore****************************

        说明:1、默认情况下所以的设备都在multipath的黑名单中,例如我们不希望本地盘被聚合,则在黑名单中绑定本地盘的wwid即可。

              2、本例中,将wwid 3600508a4010c3a920000c00002370000的磁盘,绑定别名 example,默认情况下Use user friendly names没有被解注,multipath生成dm设备之后,会同时在/dev/mapper/下生成以磁盘wwid为名的符号链接指向对应的dm设备,但此例中,Use user friendly names已解注,/dev/mapper/中会显示名为example的设备。

 4、每次编辑修改multipath.conf文件之后都应该重启multipath服务

# service multipathd restart

 5、扫描磁盘,建议重启主机reboot后,执行下列命令

multipath -F        

#multipath -v2

说明:使用上面命令之后,系统中会出现链路聚合之后的dm设备,同时也会在/dev/mapper/、/dev/mpath/目录下生成相应的设备。关于设备,扫描出来的盘若绑定了alias,则盘/dev/mapper下为alias名称,查看聚合后的dm盘则需查看/proc/partitions

# cat /proc/partitions

****************ignore******************************

253     0   94371840 dm-0

 253     1   94371840 dm-1

 253     2   94371840 dm-2

****************ignore******************************

 6、查看multipath拓扑结构

# multipath -ll

Mpath1 (3600508a4010c3a920000c00002370000)

[size=40 GB][features="1 queue_if_no_path"][hwhandler="0"]

\_ round-robin 0 [prio=200][active]

 \_ 4:0:4:27    sdbs 68:96   [active][ready]  \_ 4:0:6:27   sdey 129:160 [active][ready]  \_ 5:0:4:27    sdka 65:480 [active][ready]  \_ 5:0:6:27    sdng 71:288 [active][ready]

\_ round-robin 0 [prio=40][enabled]

 \_ 4:0:5:27    sddi 71:0    [active][ready]  \_ 4:0:7:27    sdgo 132:64 [active][ready]  \_ 5:0:5:27    sdlq 68:384 [active][ready]  \_ 5:0:7:27    sdow 129:448 [active][ready]

说明:1、mpath1 有八条路径聚合,大小为40GB,存储对应lun号为27,由HBA卡系统显示为host4、host5扫描得到。关于host,请查看路径/sys/class/scsi_host 。并通过查看对应host下的port_name得到对应wwn以确认盘与HBA卡对应关系。 下表中,显示对应光纤卡连接的存储和存储前端端口WWN

# cat /proc/scsi/lpfc/4

lpfc0t00 DID 050600 WWPN 50:00:1f:e1:50:14:f0:f8 WWNN 50:00:1f:e1:50:14:f0:f0

lpfc0t01 DID 050400 WWPN 50:00:1f:e1:50:14:f0:fc WWNN 50:00:1f:e1:50:14:f0:f0

  结语:本文只是概括性的介绍multipath的基本应用,至于multipath的device属性及优化配置等操作没有详细介绍。后期将会择期介绍一些配置属性。