当前位置: 首页 > news >正文

学习Multipath多路径

前言

在之前部署的达梦DMDSC共享存储集群中,需要给共享磁盘配置多路径,然后通过UDEV绑定块设备,才能把磁盘格式化为ASM,作为共享存储。但是一直不太理解多路径的作用,后续翻阅了网上各位大神分享的文章,也算是有更深的理解,写篇文章记录一下。

多路径概念

多路径是一种存储网络技术,允许服务器通过多条物理路径访问同一个存储设备。这些路径通常是独立的光纤通道、iSCSI连接或SAS链路。换句话说,就是在服务器上配置多个链路指向同一个存储设备。如下图所示,服务器指向同一个LUN有多条链路可达。若某个网卡故障或者某台交换机故障了,也可以保证业务不中断(毕竟几台设备同时坏的可能性比较低)。

多路径配置

配置前需要先安装multipath工具

# 安装multipath yum install -y device-mapper* mpathconf --enable --with_multipathd y

multipath配置,是通过/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" } } EOF

DM 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 --query=all --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 --query=all --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
http://www.jsqmd.com/news/497773/

相关文章:

  • Windows10如何更改Microsoft Store默认存储路径?如何把已安装的应用迁移到其他磁盘?(安装路径、安装目录)
  • 工业AI的十字路口:适应场景应用的小模型将胜出
  • 817169-73-6,Fmoc-Glu (biotinyl-PEG)-OH:生物素 PEG 化氨基酸试剂说明
  • Nano Banana2 最新国内直发入口
  • AIoT器件小型化:福尔蒂微米级荧光母粒实现0.3mm壁厚精准识别|项目实战
  • 基于springboot+Java的在线学习平台15827286
  • AI应用架构师实战:如何设计支持百万级用户的企业虚拟办公AI平台?
  • HyperView 基于Python Tcl二次开发之 模型分组并配色
  • 登月者杨植麟:90后清华学霸,如何用200万字上下文撬动AI版图?
  • 3月17日笔记
  • OmniLottie - 一键生成高质量Lottie矢量动画 支持文字、图片或视频生成 支持50系显卡 一键整合包下载
  • Vue3 vant4 解决引入的Toast和dialog样式丢失的bug
  • Java毕业设计基于SpringBoot的公寓出租系统的设计与实现7ogi87rn_213
  • 搜索 会员中心 创作中心 web安全学习路线(非常详细),零基础入门到精通,看这一篇就够了
  • 2026高压设备局放检测设备优质推荐榜:绝缘靴手套预防性试验装置、绝缘靴绝缘手套耐压试验装置、绝缘靴绝缘手套试验装置选择指南 - 优质品牌商家
  • OpenClaw如何命令Cursor做事,利用Cursor会员模型
  • JUnit单元测试框架
  • 从零起步学习MySQL 第十六章:MySQL 分库分表的考量策略
  • GBase 8a数据库运维管理系统GDOM解析
  • 全网都在抢的「AI龙虾」大乱斗!4家神仙打架,普通人只能看馋
  • 用了三周ArkClaw,我说说真实感受
  • 校园小卖部web开发项目-1(SpringBoot3+Vue3)
  • 外卖跑腿系统如果没有调度算法,本质只是个下单工具
  • 本地-导表导错数据库,导致数据库数据混乱问题
  • Moonshot AI发布AttnRes架构:革新大语言模型信息处理机制
  • 提示工程架构师必学:AI提示设计多元化发展的4个关键维度
  • 位、字节和字的关系与应用
  • 【uniapp】(1)创建uniapp项目并运行
  • 2133亿元!自动驾驶SOC芯片市场扩容迅猛,成智能驾驶核心赛道新引擎
  • OpenClaw“龙虾热”背后:从狂热到冷静的AI工具反思