Linux系统如何配置多路径(Multipath) 提高存储链路可靠性

陌枫酱_5261

陌枫酱_5261

2026-04-10

1110人浏览

原创

multipath服务启动后/dev/mapper/为空,主因是未识别到多路径scsi设备;需检查lun映射、多路径可见性、blacklist配置、内核模块加载,并用multipath -v2调试。

linux系统如何配置多路径(multipath) 提高存储链路可靠性

为什么 multipath 服务启动后设备没出现在 /dev/mapper/

常见现象是执行 systemctl start multipathd 后,ls /dev/mapper/ 为空,或只有 control 设备。这通常不是服务没起来,而是没有识别到符合多路径条件的 SCSI 设备。

关键检查点:

  • 确认存储阵列已正确映射 LUN 到主机,且主机端能看到多个路径(例如 /dev/sdb、/dev/sdc、/dev/sdd 等),用 lsblk 或 lsscsi -s 验证
  • 运行 multipath -v2(不是 -v3)手动触发发现——它会输出详细匹配过程,重点看是否出现 blacklisted 或 skip: no path
  • 检查 /etc/multipath.conf 中是否误启用了 blacklist,尤其注意 devnode "^sd[a-z]" 这类默认规则会把所有本地 SATA 盘也拦掉;建议先注释整个 blacklist 段再试
  • 确认内核模块已加载:lsmod | grep dm_multipath,若无输出需执行 modprobe dm_multipath 并设为开机加载

multipath.conf 最小可用配置怎么写

新手常被默认配置吓退,其实生产环境起步只需 4 行有效配置。其余全删或注释,避免干扰。

编辑 /etc/multipath.conf,确保包含:

defaults {
    user_friendly_names yes
}
devices {
    device {
        vendor "NETAPP"
        product "LUN"
        path_grouping_policy multibus
        failback immediate
    }
}

说明:

Linux Distros
Linux Distros

Linux发行版游乐场,适用于需要临时Linux沙箱、基于浏览器的Linux虚拟机、一次性终端环境、桌面Linux会话等场景

下载
  • vendor 和 product 必须与 scsi_id -g -u -d /dev/sdb 输出中的 VENDOR 和 PRODUCT 完全一致(大小写敏感),不同厂商值不同,如 "DGC"、"IBM"、"HITACHI"
  • path_grouping_policy multibus 表示所有路径都参与 I/O,适合大多数中低端阵列;高端阵列(如 VMAX)需用 group_by_prio + path_checker tur
  • 不要加 wwid 字段——那是单设备硬编码,无法泛化;靠 vendor/product 匹配才是可维护做法

multipath -ll 显示 paths=0 或状态为 failed

这表示 multipathd 认为路径不可用,但底层 SCSI 设备可能仍能读写。典型原因不是线缆松动,而是路径未通过 path_checker 探活。

排查顺序:

  • 查日志:journalctl -u multipathd | grep -i "checker\|fail",看具体哪个设备、哪个路径失败
  • 手动测试路径连通性:sg_turs /dev/sdb(需装 sg3_utils),返回非零即路径不通;部分旧阵列不支持 TUR,得换 readsector0 检查方式
  • 临时修改 checker:multipathd -k"set path_checker readsector0 sdb",再 multipath -r 重载;若恢复,说明原配置的 path_checker tur 不兼容该阵列
  • 检查 HBA 卡驱动是否启用 NPIV 或 ALPA 模式冲突,某些 QLogic 卡需禁用 qla2xxx.qlport_down_retry=1 参数

应用层如何安全使用 multipath 设备

别直接在 /dev/mapper/mpathX 上建文件系统——这是最常见误操作。设备名可能因重启、路径增减而变化(mpatha → mpathb)。

正确做法:

  • 用 wwid 创建符号链接:ln -s /dev/mapper/<code>$(cat /sys/block/mpathX/device/wwid) /dev/disk/by-id/scsi-$(cat /sys/block/mpathX/device/wwid | tr -d '[:space:]'),再让 LVM 或文件系统引用该路径
  • LVM 场景下,直接将 /dev/mapper/mpathX 加入 PV,因为 LVM 自带 UUID 识别,不受设备名变动影响:pvcreate /dev/mapper/mpathX
  • 挂载时用 UUID=... 或 NAME=...(LVM 逻辑卷名),永远别写死 /dev/mapper/mpathX
  • 如果必须脚本化识别,用 multipath -j | jq -r '.maps[].wwid' 解析 JSON 输出,比解析 multipath -ll 文本可靠得多

设备重命名和路径收敛本身不难,难的是让上层不依赖瞬态名字——这点一旦忽略,故障时扩容或替换控制器就会卡住。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2075

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3082

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1036

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3499

7

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3970

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3393

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2553

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6190

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5822

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习