1. 首页 > Linux教程 > 正文

Linux教程FG351-存储多路径配置

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档介绍存储多路径(Multipath)的配置和管理方法。

风哥提示:

Part01-多路径基础

1.1 安装多路径软件

# 安装device-mapper-multipath
[root@server ~]# dnf install -y device-mapper-multipath
Updating Subscription Management repositories.
Last metadata expiration check: 0:05:23 ago on Fri Apr 4 20:30:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository
================================================================================
Installing:
device-mapper-multipath x86_64 0.8.7-10.el9 baseos
device-mapper-multipath-libs x86_64 0.8.7-10.el9 baseos

Transaction Summary
================================================================================
Install 2 Packages

Total download size: 500 k
Installed size: 1.5 M
Downloading Packages:
(1/2): device-mapper-multipath-0.8.7-10.el9.x86_64.rpm 500 kB/s | 200 kB
(2/2): device-mapper-multipath-libs-0.学习交流加群风哥QQ1132571748.7-10.el9.x86_64 500 kB/s | 300 kB

Transaction Summary
================================================================================
Install 2 Packages

Total download size: 500 k
Installed size: 1.5 M
Downloading Packages:
Total 1.0 MB/s | 500 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/2
Installing : device-mapper-multipath-libs-0.8.7-10.el9.x86_64 1/2
Installing : device-mapper-multipath-0.8.7-10.el9.x86_64 2/2
Running scriptlet: device-mapper-multipath-0.8.7-10.el9.更多视频教程www.fgedu.net.cnx86_64 2/2
Verifying : device-mapper-multipath-libs-0.8.7-10.el9.x86_64 1/2
Verifying : device-mapper-multipath-0.8.7-10.el9.x86_64 2/2

Installed:
device-mapper-multipath-0.8.7-10.el9.x86_64
device-mapper-mu学习交流加群风哥微信: itpux-comltipath-libs-0.8.7-10.el9.x86_64

Complete!

# 启用多路径
[root@server ~]# mpathconf –enable
[root@server ~]# ls /etc/multipath.conf
/etc/multipath.conf

# 启动服务
[root@server ~]# systemctl enable –now multipathd
Created symlink /etc/systemd/system/multi-user.target.wants/multipathd.service → /usr/lib/systemd/system/multipathd.service.

# 查看服务状态
[root@server ~]# systemctl status multipathd
● multipathd.service – Device-Mapper Multipath Device Controller
Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; preset: disabled)
Active: active (running) since Fri 2026-04-04 20:35:00 CST; 10s ago
Main PID: 12345 (multipathd)
Tasks: 7 (limit: 11232)
Memory: 10.0M
CGroup: /system.slice/multipathd.service
└─12345 /sbin/multipathd -d -s

1.2 多路径配置文件

# 查看默认配置
[root@server ~]# cat /etc/multipath.conf
defaults {
user_friendly_names yes
find_multipaths yes
}

blacklist {
}

# 完整配置示例
[root@server ~]# cat > /etc/multipath.conf << 'EOF' defaults { user_friendly_names yes find_multipaths yes path_grouping_policy multibus path_selector "round-robin 0" path_checker tur failback immediate no_path_retry 30 rr_min_io 1000 rr_weight uniform prio alua features "0" } blacklist { devnode "^sda" devnode "^sr" wwid ".*" } blacklist_exceptions { wwid "36001405b5c5c5c5c5c5c5c5c5c5c5c5c" } multipaths { multipath { wwid "36001405b5c5c5c5c5c5c5c5c5c5c5c5c" alias data_storage path_grouping_policy multibus path_selector "round-robin 0" failback immediate rr_weight uniform no_path_retry 30 } } devices { device { vendor "LIO-ORG" product "storage" path_grouping_policy multibus path_selector "round-robin 0" failback immediate rr_weight uniform no_path_retry 30 } } EOF # 重启服务 [root@server ~]# systemctl restart multipathd # 验证配置 [root@server ~]# multipath -t defaults { user_friendly_names "yes" find_multipaths "yes" path_grouping_policy "multibus" path_selector "round-robin 0" path_checker "tur" failback "immediate" no_path_retry "30" rr_min_io "1000" rr_weight "uniform" prio "alua" features "0" }

Part02-多路径管理

2.1 查看多路径设备

# 扫描多路径设备
[root@server ~]# multipath -v2
Apr 04 20:40:00 | sdb: size = 1073741824
Apr 04 20:40:00 | sdc: size = 1073741824
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c5c) LIO-ORG,storage

# 查看详细信息
[root@server ~]# multipath -ll
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c) dm-0 LIO-ORG,storage
size=1.0T features=’0′ hwhandler=’1 alua’ wp=0
`-+- policy=’round-robin 0′ prio=50 status=active
|- 33:0:0:1 sdb 8:16 active ready running
`- 34:0:0:1 sdc 8:32 active ready running

# 查看设备映射
[root@server ~]# dmsetup ls –target multipath
mpatha (253:0)

# 查看设备信息
[root@server ~]# lsblk | grep mpath
mpatha 253:0 0 1T 0 mpath

# 查看WWID
[root@server ~]# /lib/udev/scsi_id -g -u /dev/sdb
36001405b5c5c5c5c5c5c5c5c5c5c5c5c

[root@server ~]# /lib/udev/scsi_id -g -u /dev/sdc
36001405b5c5c5c5c5c5c5c5c5c5c5c5c

# 查看路径状态
[root@server ~]# multipath -v3
Apr 04 20:40:00 | sdb: size = 1073741824
Apr 04 20:40:00 | sdb: serial = 36001405b5c5c5c5c5c5c5c5c5c5c5c5c
Apr 04 20:40:00 | sdb: vendor = LIO-ORG
Apr 04 20:40:00 | sdb: product = storage
Apr 04 20:40:00 | sdb: rev = 4.0
Apr 04 20:40:00 | sdb: hwhandler = 1 alua
Apr 04 20:40:00 | sdb: path checker = tur
Apr 04 20:40:00 | sdb: state = active ready running
Apr 04 20:40:00 | sdc: size = 1073741824
Apr 04 20:40:00 | sdc: serial = 36001405b5c5c5c5c5c5c5c5c5c5c5c
Apr 04 20:40:00 | sdc: vendor = LIO-ORG
Apr 04 20:40:00 | sdc: product = storage
Apr 04 20:40:00 | sdc: rev = 4.0
Apr 04 20:40:00 | sdc: hwhandler = 1 alua
Apr 04 20:40:00 | sdc: path checker = tur
Apr 04 20:40:00 | sdc: state = active ready running

2.2 多路径故障处理

# 模拟路径故障
[root@server ~]# multipath -f mpatha
[root@server ~]# multipath -v2
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c) LIO-ORG,storage

# 查看故障状态
[root@server ~]# multipath -ll
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c) dm-0 LIO-ORG,storage
size=1.0T features=’0′ hwhandler=’1 alua’ wp=0
`-+- policy=’round-robin 0′ prio=50 status=active
|- 33:0:0:1 sdb 8:16 failed faulty running
`- 34:0:0:1 sdc 8:32 active ready running

# 恢复路径
[root@server ~]# multipath -r mpatha
Apr 04 20:45:00 | mpatha: map in use

# 强制重新配置
[root@server ~]# multipath -F
Apr 04 20:45:00 | mpatha: map in use
[root@server ~]# multipath -v2

# 查看多路径状态
[root@server ~]# multipath -ll
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c) dm-0 LIO-ORG,storage
size=1.0T features=’0′ hwhandler=’1 alua’ wp=0
`-+- policy=’round-robin 0′ prio=50 status=active
|- 33:0:0:1 sdb 8:16 active ready running
`- 34:0:0:1 sdc 8:32 active ready running

# 添加新路径
[root@server ~]# multipath -v2
Apr 04 20:45:00 | sdd: size = 1073741824
Apr 04 20:45:00 | sdd: serial = 36001405b5c5c5c5c5c5c5c5c5c5c5c
Apr 04 20:45:00 | sdd: vendor = LIO-ORG
Apr 04 20:45:00 | sdd: product = storage

[root@server ~]# multipath -ll
mpatha (36001405b5c5c5c5c5c5c5c5c5c5c5c) dm-0 LIO-ORG,storage
size=1.0T features=’0′ hwhandler=’1 alua’ wp=0
`-+- policy=’round-robin 0′ prio=50 status=active
|- 33:0:0:1 sdb 8:16 active ready running
|- 34:0:0:1 sdc 8:32 active ready running
`- 35:0:0:1 sdd 8:48 active ready running

风哥针对多路径配置建议:

  • 使用友好的设备名称
  • 配置路径故障重试策略
  • 启用负载均衡策略
  • 定期检查路径状态
  • 配置黑名单排除本地磁盘

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息