DeviceMapperMultipath配置指导书全解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Device Mapper Multipath配置指导书
华为技术有限公司
版权所有侵权必究
Device Mapper Multipath配置指导书文档密级:内部公开修订记录
目录
目录 (1)
前言 (3)
1检查系统DM-Multipath (4)
1.1检查DM-Multipath是否正确安装 (4)
1.2查看DM-Multipath版本 (5)
1.3检查DM-Multipath配置文件 (5)
1.4检查DM-Multipath服务multipathd是否开机启动 (5)
2修改DM-Multipath配置 (6)
2.1修改multipath.conf文件 (6)
2.1.1 CentOS 6.3 对接阵列S5800T 配置 (7)
2.1.2 NeoKylin Advance Linux Server V5.6 对接阵列18500配置 (8)
2.2 FAQ (9)
2.2.1如何获取阵列vendor及product (9)
2.2.2 DM-Multipath可用的磁盘在哪里 (9)
3注意事项 (11)
3.1集群应用 (11)
3.2 DM-Multipath与UltraPath共存 (11)
3.3设备屏蔽 (11)
3.4驱动超时参数 (11)
3.4.1 FC驱动 (11)
3.4.2 ISCSI驱动 (12)
附录A DM-Multipath盘符绑定 (13)
附录B DM-Multipath磁盘屏蔽 (14)
附录C 常用命令 (16)
关键词:
Device Mapper Multipath、配置
摘要:
本指导书是针对Linux系统自带多路径Device Mapper Multipath对接我司阵列,配置操作过程中需要的步骤、注意事项等提供的指导,本指导书描述了Multipath配置过程及注意事项。
缩略语清单:
DM-Multipath(Device Mapper Multipath ):Linux系统自带多路径
LUN(Logical Unit Number): 逻辑单元号
ALUA(Asymmetric Logical Unit Access):非对称逻辑单元
IALUA(Implicit Asymmetric Logical Unit Access):隐式ALUA
EALUA(Explicit Asymmetric Logical Unit Access):显式ALUA
参考资料清单:
无。
前言
对于以下系统,可参照Red Hat系统进行处理。
●Oracle Linux
●Oracle VM Server
●Asianux
●Rocky 4
Rocky 4.2.40 系统自带DM-Multipath配置说明见3.6小节。
●Kylin(NeoKylin)
●XenServer
●CentOS
●Fedora
●Scientific Linux
对于以下系统,可参照Debian系统进行处理。
●Ubuntu
●Rocky 6
对于以下系统,可参考SUSE系统进行处理。
●UVP
1 检查系统DM-Multipath
1.1 检查DM-Multipath是否正确安装
执行
rpm -qa | grep device-mapper
命令。
查看系统是否安装或者装全DM-Multipath,特别关注multipath相关项。
注:对于debian系统,使用deb安装包。
执行
dpkg -l | grep multipath
命令查询DM-Multipath是否正确安装。
例如,ubuntu的DM-Multipath包为multipath-tools。
若系统为SAN引导方式,要需要multipath-tools-boot包。
如图1-1所示,系统(Red Hat 6.3)正确安装Device Mapper时,会有多个rpm包被安装到系统中,其中与Multipath相关的有两个(如图中红框内容)。
如果没有安装,或者安装不全,须先从系统安装源获取rpm安装包,进行DM-Multipath的安装。
图1-1 Red Hat 6.3 DM-Multipath
注1:不同版本会有差异,以系统发布版本的实际情况为准。
例如,Red Hat 5.7系统DM-Multipath的rpm包,如图1-2所示。
图1-2 Red Hat 5.7 DM-Multipath
注2:SuSE系统multipath相关rpm包是multipath-tools-*.rpm。
例如,SuSE11SP1系统DM-Multipath的rpm包,如图1-3所示。
图1-3 SuSE11SP1 DM-Multipath
1.2 查看DM-Multipath版本
如1-1小节示例,图1-1中Red Hat 6.3系统中DM-Multipath版本是0.4.9;图1-2中Red Hat 5.7系统中DM-Multipath版本是0.4.7;图1-3中SuSE11SP1系统中DM-Multipath版本是0.4.8。
1.3 检查DM-Multipath配置文件
查看系统中/etc/multipath.conf文件是否存在。
如果不存在,将
/usr/share/doc/device-mapper-multipath-*/multipath.conf (Red Hat 6.3)
或
/usr/share/doc/device-mapper-multipath-*/multipath.conf.synthetic (Red Hat 5.7)
或
/usr/share/doc/packages/multipath-tools/multipath.conf.synthetic (SuSE11SP1)
或
/usr/share/doc/multipath-tools/examples/multipath.conf.synthetic (ubuntu 11.04)
文件拷贝一份,文件命名为multipath.conf放置于/etc/目录下。
注:上述加粗部分“*”表示相应DM-Multipath版本。
有些版本提供mpathconf 命令,可以使用mpathconf --enable 命令来创建配置文件。
1.4 检查DM-Multipath服务multipathd是否开机启动
执行
chkconfig –list multipathd
命令,查看multipathd服务是否开机启动。
Red Hat 6.3系统查询结果如图1-4所示。
图1-4 Red Hat 6.3查询结果
若multipathd在需要的启动级别未配置开机启动,执行
chkconfig --level 35 multipathd on
命令,设置multipathd服务开机启动。
注:上述加粗的“35”表示系统启动级别3和5。
2 修改DM-Multipath配置
2.1 修改multipath.conf文件
1)执行
vi /etc/multipath.conf
打开配置文件,在文件的devices {}配置项中添加阵列相应配置。
具体配置内容见本小节后续内容。
Red Hat 6.3系统对接S5500T阵列的示例配置,如图2-1所示。
图2-1 Red Hat 6.3对接S5500T阵列DM-Multipath配置
基本配置项说明:
1. vendor 与product 阵列信息,阵列相关;
2. path_grouping_policy 是路径分组策略配置,策略相关;
3. getuid_callout 获取lun wwn方法,系统相关;
4. path_checker 路径检查方法,策略相关;
5. prio(或prio_callout) 获取路径优先级方法,版本、策略相关;
6. path_selector 选路方法,策略相关;
7. failback failback配置,策略相关;
8. dev_loss_tmo fc超时配置,策略相关(dm-multipath低版本不支持);
注意:具体配置的说明,可参考随机文档multipath.conf.annotated
确保multipath.conf配置文件中,blacklist{}配置项没有设置对阵列的屏蔽。
例如,在Red Hat 5.7系统中,multipath.conf配置文件中,默认进行了如图2-2所示配置,屏蔽了所有的devnode。
需要将屏蔽设置注释掉,或者在blacklist_exceptions{}配置项中设置屏蔽例外。
图2-2 Red Hat 5.7 DM-Multipath默认配置
2)配置修改完毕后,依次执行
multipath –F
service multipathd reload
multipath –v2
命令,使配置生效。
注1:/etc/multipath.conf文件修改后,需要执行service multipathd reload命令重新加载配置,否则更改不生效。
注2:debian系统重新加载multipathd 参数的命令为service multipath-tools reload。
注3:若servie multipathd rload 命令执行失败,请根据回显提示操作。
或使用multipathd reconfigure 命令更新配置。
3)执行
multipath –ll
命令,查看修改效果。
Red Hat 6.3系统对接S5500T阵列示例中,如图2-1的配置,查询结果如图2-3所示。
可以观察,阵列映射给主机有3个LUN,每个LUN有2条路径,每条路径通过alua获取到了不同的优先级。
例如:虚拟LUN mpatha,两条路径的物理LUN是sdb、sdd,路径优先级分别是50、10。
图2-3 Red Hat 6.3对接S5500T阵列DM-Multipath查询路径信息
2.1.1 CentOS 6.3 对接阵列S5800T 配置
隐式ALUA配置:
#
# HUAWEI:S5800T IALUA
#
device {
vendor "HUAWEI "
product "S5800T"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_checker tur
prio alua
path_selector "round-robin 0"
failback immediate
}
注:1. 本配置仅用于CentOS 6.3系统对接S5800T阵列
2. 由于阵列与DM-Multipath对接,使用了IALUA配置,故须手动在阵列侧开启ALUA
配置(非默认配置)。
操作方法:在ISM界面上,对相应启动器配置ALUA。
详细说明,参见阵列ISM使用手册。
2.1.2 NeoKylin Advance Linux Server V5.6 对接阵列18500配置
device {
vendor "HUAWEI "
product "HVS85T"
path_grouping_policy multibus
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
path_selector "round-robin 0"
path_checker tur
failback immediate
}
2.2 FAQ
2.2.1 如何获取阵列vendor及product
vendor和product信息,依赖阵列的厂商和型号及固件版本。
方式一:直接填写2.1小节中相应配置(经过测试无误的)。
方式二:在DM-Multipath多路径可用,但尚未添加阵列专属配置前(确保配置文件blacklist 列表未把阵列设置屏蔽),在阵列映射LUN给主机,在主机侧扫LUN成功后,会根据默认配置接管阵列映射的LUN。
执行multipath –ll可观察vendor及product信息。
此时,可与2.1小节中给出的vendor和product信息进行印证。
例如,在Red Hat 6.3系统上,未添加如图2-1的配置前(示例系统默认配置),multipath –ll查看到的信息如图2-4所示。
图2-4 查看阵列vendor及product
方式三:对于特定设备的vendor和product,可在文件/sys/block/device_name/device/vendor 和/sys/block/device_name/device/model文件中找到。
其中,device_name是指磁盘设备,例如:“sdb”、“sdc”。
执行如下命令可查看sdb设备的vendor和product信息。
cat /sys/block/sdb/device/vendor
cat /sys/block/sdb/device/model
2.2.2 DM-Multipath可用的磁盘在哪里
安装DM-Multipath的系统,允许使用的DM-Multipath虚拟盘盘符位于/dev/mapper/目录下。
例如,在Red Hat 6.3系统上,使用如图2-1的配置,映射3个LUN时,DM-Multipath 生成的虚拟盘符mpatha、mpathb、mpathc,如图2-5所示。
图2-5 Red Hat 6.3系统上DM-Multipath 虚拟盘符
参考图2-3,DM-Multipath虚拟盘mpatha 对应有两条路径 4:0:0:1、 3:0:0:1,两条路径上的物理盘符分别是sdb、sdd。
不同系统会有差异,以实际情况为准。
例如,在Red Hat 5.7系统上,如图2-6所示。
图2-6 Red Hat 5.7系统上DM-Multipath虚拟盘符
3 注意事项
3.1 集群应用
若做集群应用,在无法确定应用是否可以自动处理盘符漂移时,DM-Multipath配置需要做盘符绑定处理,不同主机对应相同的LUN需要绑定相同的盘符。
盘符绑定的具体操作方法见附录A。
3.2 DM-Multipath与UltraPath共存
若DM-Multipath与自研多路径UltraPath同时存在于系统中时,修改配置文件/etc/multipath.conf屏蔽DM-Multipath对UltraPath虚拟盘的接管,应用直接使用UltraPath虚拟盘。
屏蔽盘符的具体操作方法见附录B。
3.3 设备屏蔽
若需要,请在/etc/multipath.conf文件的blacklist {} 中,将所需要屏蔽的设备进行屏蔽(例如:本地盘)。
3.4 驱动超时参数
3.4.1 FC驱动
若因FC驱动超时时间原因,导致IO failover 时间过长,而不可接受,可通过调整fc remote port的dev_loss_tmo参数进行改善。
方法一:
直接修改fc remote port 的dev_loss_tmo参数。
例如:
echo 10 > /sys/class/fc_remote_ports/rport-*/dev_loss_tmo
方法二:
对于高版本(0.4.8及以上)的DM-multipath,可在配置文件的device{}中,通过dev_loss_tmo 参数对该属性进行配置,重新建立fc remote port时,会使用新配置参数。
系统重启后,配置仍旧有效。
例如:
device {
vendor “HUAWEI”
product “S5500T”
……
dev_loss_tmo 10
……
}
注:修改DM-Multipath的dev_loss_tmo参数,并重新加载配置后,参数即生效。
但不会影响已经建立的fc remote port,若想对fc驱动即时生效,需要重新建立所有fc remote port或修改fc remote port的超时参数。
3.4.2 ISCSI驱动
若因ISCSI驱动超时时间原因,导致IO failover时间过长,而不可接受,可通过调整ISCSI 的node.session.timeo.replacement_timeout参数。
例如:把ISCSI配置文件/etc/iscsi/iscsid.conf中的node.session.timeo.replacement_timeout 参数,修改为5。
修改后需要删除已经建立的node,并重新discovery.
附录A DM-Multipath盘符绑定
在配置了user_friendly_names参数为yes时,绑定物理LUN对应DM-Multipath盘符的方法有两种。
方法一:
在/etc/multipath.conf文件中的multipath {}配置项中添加绑定信息。
执行service multipathd reload命令,使配置生效。
如图2-2所示,若要把阵列LUN与DM-Multipath盘符mpath*的对应关系固定下来,需要在multipath.conf文件中添加的配置信息,如图A-1所示。
图A-1 DM-Multipath盘符绑定
注:阵列LUN对应wwid的获取:执行multipath –ll 会看到阵列所有映射LUN的信息中有wwid,如图2-3所示。
方法二:
在/var/lib/multipath/bindings文件中,保存有wwid 和alias的对应关系。
保持所有机器该文件内容一致。
注:bindings文件需要在系统启动就加载的目录下,可通过binding_file参数设置。
附录B DM-Multipath磁盘屏蔽
在/etc/multipath.conf文件,blacklist {}配置项中添加磁盘屏蔽信息;blacklist_exceptions {}配置项中设置屏蔽例外。
执行service multipathd reload命令,使配置生效。
1)屏蔽所有UltraPath生成的虚拟盘
例如,在以上示例的Red Hat 6.3系统中,同时安装了DM-Multipath和UltraPath。
DM-Multipath会接管UltraPath生产的虚拟盘。
UltraPath(以R5C01版本为例)虚拟盘信息,如图B-1、B-2所示,UltraPath生产虚拟盘sdb、sdc、sdd。
DM-Multipath接管UltraPath虚拟盘,如图B-3所示。
图B-1 UltraPath VLUN信息
图B-2 SCSI信息
图B-3 DM-Multipath查询信息
在配置文件multipath.conf中,添加配置信息,屏蔽所有UltraPath产生的虚拟盘。
配置信息,如下:
blacklist {
device {
vendor “up”
product “updisk”
}
}
在配置文件的屏蔽列表中添加UltraPath虚拟盘的vendor ID和product ID。
添加配置后,效果如图B-4,与图B-3对比配置效果。
图B-4 屏蔽UltraPath虚拟盘
2)屏蔽指定LUN
例如,在以上示例的Red Hat 6.3系统中,屏蔽指定LUN。
在配置文件multipath.conf的屏蔽列表中,添加配置信息,屏蔽指定LUN。
通过wwid屏蔽指定LUN的配置信息如下:
blacklist {
wwid 360022a11000afe910001dbc800000004
}
在配置文件的屏蔽列表中添加wwid 屏蔽mpathc 。
添加配置后,效果如图B-5,与图2-3对比配置效果。
图B-5 屏蔽mpathc盘
附录C 常用命令
系统驱动常用命令:
1)删除磁盘
echo 1 > /sys/block/sdX/device/delete
2)查询系统中物理host
ls /sys/class/iscsi_host或者ls /sys/class/fc_host
3)扫描物理host,使上报LUN
echo “- - -” > /sys/class/scsi_host/hostX/scan
4)重新获取磁盘大小(例如,sdb)
echo 1 > /sys/block/sdb/device/rescan
DM-Multipath 常用命令:
1)显示DM-Multipath路径信息
multipath –ll
2)删除全部DM-Multipath 设备
multipath –F
3)删除指定的DM-Multipath设备(例如,mpatha)
multipath –f mpatha
4)扫描生成DM-Multipath设备
multipath –v2
Device Mapper 命令dmsetup
执行不带参数的dmsetup 命令,可以查看该命令的帮助。
例如执行如下命令,可查看DM-Multipath设备的主次设备号。
dmsetup ls
Device Mapper守护进程multipathd交互界面
执行multipathd –k 命令进入界面,CTRL-D退出,help获取命令列表。