多路径环境下的换盘操作
多路径环境下同一块盘会以多条路径出现,操作系统侧看到的是聚合后的 mpath 设备,底层则是若干条 scsi 路径。换盘时多一层核对:换盘前确认目标 mpath 对应哪几条路径、这些路径能否安全摘除;换盘后确认新盘是否被两条路径同时识别,以及 WWID 对应的别名与权限是否与预期一致。
基本信息
| 适用平台 | Linux 的 device-mapper multipath,常见于双控存储与 SAS 双端口盘 |
|---|---|
| 关键命令 | multipath -ll 看映射,multipathd show paths 看路径状态 |
| 身份依据 | 按 WWID 识别设备,别名与权限规则依赖 WWID |
| 常见问题 | 新盘 WWID 未纳入别名或黑名单规则,导致命名与权限异常 |
| 权限要求 | 查看普通用户即可,重载与调整映射需要 root |
典型使用场景
- 双控存储换盘:换盘前后核对两条路径是否都恢复可用
- 应用按别名挂载:确认新盘仍映射到既有别名,挂载脚本无需改动
- 路径抖动排查:换盘后路径状态异常时,先看内核是否重新扫描到设备
- 扩容与替换:批量换盘时逐台核对映射关系,避免设备名漂移
- 变更前留档:记录当前映射与路径状态,为回退提供依据
换盘前后核对
换盘前后核对
multipath -ll | head -40 # 查看 mpath 设备与其路径
ls -l /dev/disk/by-id/ | grep -i wwn # 按 WWID 确认设备身份
multipathd show paths format "%w %i %s %t" | head -20 # 路径状态与归属
# 换盘后:
multipathd show maps # 复查映射是否恢复
rescan-scsi-bus.sh # 需要时扫描新设备(脚本名称随发行版不同)
dmesg -T | grep -i -E "sd[a-z]|multipath" | tail -20 # 内核侧识别过程核对项与依据
| 核对项 | 查看方式 | 异常表现 |
|---|---|---|
| 设备身份 | by-id 下的 WWID 链接 | 新盘 WWID 不匹配导致别名缺失 |
| 路径数量 | multipathd show paths | 只剩一条路径,冗余消失 |
| 映射状态 | multipath -ll 的状态字段 | 映射未重组或处于失败态 |
| 别名与权限 | multipath.conf 与设备节点 | 应用按别名挂载失败 |
多路径换盘失败多数与规则有关:别名与黑名单是按 WWID 匹配的,新盘 WWID 未被覆盖就会出现命名与权限异常。
换盘操作前先确认目标设备已从上层解除使用,直接摘除在用路径会造成文件系统错误。