学习Multipath多路径

发布时间:2026/5/19 1:55:54

学习Multipath多路径 前言在之前部署的达梦DMDSC共享存储集群中需要给共享磁盘配置多路径然后通过UDEV绑定块设备才能把磁盘格式化为ASM作为共享存储。但是一直不太理解多路径的作用后续翻阅了网上各位大神分享的文章也算是有更深的理解写篇文章记录一下。多路径概念多路径是一种存储网络技术允许服务器通过多条物理路径访问同一个存储设备。这些路径通常是独立的光纤通道、iSCSI连接或SAS链路。换句话说就是在服务器上配置多个链路指向同一个存储设备。如下图所示服务器指向同一个LUN有多条链路可达。若某个网卡故障或者某台交换机故障了也可以保证业务不中断毕竟几台设备同时坏的可能性比较低。多路径配置配置前需要先安装multipath工具# 安装multipath yum install -y device-mapper* mpathconf --enable --with_multipathd ymultipath配置是通过/etc目录下的multipath.conf文件进行配置配置内容如下#配置多路径写入 /etc/multipath.conf文件其中wwid后的为查询出的磁盘的scsi_id cat EOF/etc/multipath.conf defaults { user_friendly_names yes } blacklist { devnode ^sda } multipaths { multipath { wwid 36000c2960a442a26bb366de627f2c8f3 alias asm-dmdata } multipath { wwid 36000c29b88f6b4658c0c62fae5d0e870 alias asm-dmarch } multipath { wwid 36000c29b2ff08c69338a9c6f828ab7cb alias asm-dmvote } multipath { wwid 36000c294bbe5139d83453eba3ebe930f alias asm-dmredo } multipath { wwid 36000c29ea286f2d620ad19a395084057 alias asm-dmdcr } } EOFDM Multipath - 多路径设备描述:若不采用 DM Multipath 那么从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备即使I/O路径连接的是相同的服务器节点到相同的储存控制器也是如此, DM Multipath提供了有逻辑的管理I/O路径的方法即在基础设备顶端生成单一多路径设备;WWID - 全球识别符描述:每个多路径设备都有一个WWID全球识别符它是全球唯一的无法更改的号码, 默认情况下会将多路径设备的名称设定为它的WWID, 可以在多路径配置文件(/etc/multipath.conf)中设置user_friendly_names选项该选项可将别名设为格式为mpathn的节点唯一名称也可以也可以自定义存储设备名称;# 查看磁盘的scsi_id /usr/lib/udev/scsi_id -g -u /dev/sdb配置完成后重新进行识别扫描查看本地的设备在/dev/mapper目录下系统会识别出绑定的多路径设备multipath -F #清空已有的multipath记录 multipath -v2 #重新扫描设备 multipath -ll #查看multipath配置信息UDEV绑定在配置达梦共享集群DSC中需要用到DMASM来管理磁盘DMDSC 如果直接使用块设备作为共享存储来存放数据库文件会因为块设备本身的诸多功能限制造成 DMDSC 集群在使用、维护上并不是那么灵活方便。为了克服块设备的这些使用限制DM 专门设计了一款分布式文件系统 DMASM来管理块设备的磁盘和文件。DMASM 的出现为 DMDSC 灵活管理和使用块设备提供了完美的解决方案。但是ASM无法识别通过多路径配置的链路因此还需要通过udev来配置多路径链路的别名权限等配置方式一般是通过脚本来完成通过udevadm info --queryall --name/dev/mapper/命令获取配置了多路径的磁盘wwid然后进行绑定给路径设置别名以及授权等脚本如下curr$(cd $(dirname $0);pwd) rm -f $curr/88-dm-asmdevices.rules for i in mpatha mpathb mpathc mpathd mpathe; do str1$i:udevadm info --queryall --name/dev/mapper/$i | grep DM_UUID str2${str1#*} echo KERNEL\dm-*\,ENV{DM_UUID}\${str2}\,SYMLINK\asm-${i}\,OWNER\dmdba\,GROUP\dinstall\,MODE\0660\ /etc/udev/rules.d/88-dm-asmdevices.rules done运行上述脚本后通过下面的命令就可以在配置的路径上查看绑定情况后续就可以进行ASM磁盘的创建和初始化了。udevadm control --reload-rules sudo udevadm trigger

相关新闻