在企业级 Linux 系统中,尤其是使用共享存储(如 SAN)的环境中,多路径 I/O(Multipath I/O) 是一项关键技术。它通过提供冗余路径提升系统的高可用性和性能。本文将手把手教你如何在 CentOS 系统中使用
multipath命令进行多路径管理,即使你是 Linux 新手也能轻松上手。
什么是多路径(Multipath)?
当服务器通过多个物理路径(例如双 HBA 卡、双交换机)连接到同一个存储设备时,操作系统会看到多个“设备名”(如 /dev/sdb、/dev/sdc),但实际上它们指向同一个 LUN(逻辑单元)。如果不加管理,这会导致数据混乱甚至系统崩溃。
多路径技术的作用就是将这些重复的路径聚合为一个虚拟设备(如 /dev/mapper/mpatha),自动选择最优路径,并在某条路径故障时无缝切换,从而实现高可用和负载均衡。
Centos multipath命令安装与启用
首先,确保你的 CentOS 系统已安装
device-mapper-multipath软件包:
# 安装 multipath 工具sudo yum install -y device-mapper-multipath# 启动 multipathd 服务并设置开机自启sudo systemctl start multipathdsudo systemctl enable multipathd
生成默认配置文件
运行以下命令生成基础配置文件
/etc/multipath.conf:
sudo mpathconf --enable --with_multipathd y
该命令会自动创建配置文件并启用 multipath 服务。你也可以手动编辑
/etc/multipath.conf来定制策略(如路径选择算法、黑名单等)。
查看与管理多路径设备
使用以下常用命令进行多路径管理:
multipath -l:列出当前所有多路径设备及其路径状态
multipath -ll:更详细地显示路径信息(推荐使用)
multipath -r:重新加载多路径配置
multipath -F:清除所有未使用的多路径设备
例如,查看多路径设备:
$ multipath -llmpatha (360050768028200a0e800000000000010) dm-2 IBM,2145size=100G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw`-+- policy='service-time 0' prio=50 status=active |- 4:0:0:0 sdb 8:16 active ready running `- 5:0:0:0 sdc 8:32 active ready running
上面输出表示:虚拟设备
mpatha由两个物理路径
sdb和
sdc组成,当前都处于 active 状态。
常见问题与排查
1. 看不到多路径设备? 检查是否已正确连接存储、HBA 驱动是否加载、multipath 服务是否运行。
2. 路径状态为 failed? 可能是光纤链路中断或存储端口故障,检查物理连接和交换机日志。
3. 如何排除本地磁盘? 在
/etc/multipath.conf中添加黑名单:
blacklist { devnode "^(sd[a]|sr[0-9]|nvme[0-9])"}
总结
通过本文,你应该已经掌握了在 CentOS 系统中使用 Centos multipath命令 进行多路径管理的基本方法。这项技术对于构建高可用的存储环境至关重要,尤其适用于数据库、虚拟化等关键业务场景。
记住:正确的 Linux多路径配置不仅能提升系统稳定性,还能优化 I/O 性能。如果你正在管理企业存储,务必掌握 存储多路径 的核心原理与操作技巧。
希望这篇教程对你有所帮助!如有疑问,欢迎在评论区留言交流。
