Linux 配置 multipath
FC SAN 介绍
FC SAN(Fibre Channel Storage Area Network)是一种通过光纤通道协议连接的专用高速存储网络,用于将服务器与存储设备(磁盘阵列、磁带库)互联,提供块级数据访问
核心组件:
- FC HBA(Host Bus Adapter):服务器端的光纤通道卡,通常双端口支持冗余路径
- FC 交换机:构建 SAN 网络的核心设备,实现服务器与存储之间的任意互联(Fabric 架构)
- 存储阵列:提供 LUN(逻辑单元号)的最终存储系统(如 Dell EMC、NetApp、Lenovo DE 等)
主要特性:
- 高带宽、低延迟:当前主流 16/32/64 Gb FC,适合数据库、OLTP 等对延迟敏感的场景
- 块级访问:服务器将远程 LUN 视为本地 SCSI 磁盘,可分区、格式化、挂载
- 高可用与冗余:通过多路径(multipath)实现路径故障切换和负载均衡
- 远距离扩展:支持单模光纤数十公里的连接
- 隔离与安全:通过 WWN(World Wide Name)、Zoning、LUN Masking 实现精细访问控制
配置 multipath(针对 FC SAN)
# 1. 安装软件包
yum install -y device-mapper-multipath # RHEL/CentOS
apt install -y multipath-tools # Debian/Ubuntu
zypper install -y multipath-tools # SLES/OpenSUSE
# 2. 启动服务
systemctl enable --now multipathd
# 3. 生成 multipath.conf 文件
mpathconf --enable --with_multipathd y # RHEL
multipath -T > /etc/multipath.conf # SLES
或者通过存储官网提供的配置手动编辑 /etc/multipath.conf 文件(存储官网一般只提供 devices 字段配置)
# 配置文件字段详解
1、defaults: 全局属性的默认设置
2、multipaths: 多路径相关配置
3、devices: 存储设备相关配置
4、blacklist: 黑名单,multipath 会忽略黑名单中的设备(指定本地盘和非 FC 通道盘符)
5、blacklist_exceptions: 免除黑名单,加入黑名单内,但包含在这里的设备不会被忽略,是多路径管理的设备列表
# /etc/multipath.conf 配置文件示例(以 Lenovo DE 存储系列为例:数据存储文档 - Lenovo Support CN)
# 多个 multipath 时可使用 defaults 模块的 user_friendly_names yes 参数来代替 multipaths 模块的 alias 参数
multipaths { multipath { wwid xxxxxxxx alias mpath0 } } blacklist { devnode "^(sda|nvme[0-3]n1)" } devices { device { vendor "LENOVO" product "DE_Series" product_blacklist "Universal Xport" path_grouping_policy "group_by_prio" path_checker "rdac" features "2 pg_init_retries 50" hardware_handler "1 rdac" prio "rdac" failback immediate rr_weight "uniform" no_path_retry 30 retain_attached_hw_handler yes detect_prio yes } }
wwid 可通过 /lib/udev/scsi_id -g -u /dev/sdX 命令查看
# 配置成功后如图所示

# multipath 常用命令
multipath -ll # 列出当前所有多路径设备及其详细状态(路径、优先级、健康状态)
multipath -v2 # 重新扫描并聚合新发现的路径(不重启服务)
multipath -v3 # 详细调试模式,输出更多诊断信息
multipath -F # 清除所有多路径设备映射(需先卸载文件系统)
multipath -t # 测试 /etc/multipath.conf 语法并显示合并后的配置
multipath -a WWID # 将指定 WWID 的设备加入黑名单(需配合配置)
multipathd show paths # 显示所有路径状态(通过 multipathd 交互命令)
multipathd show maps # 显示所有多路径设备状态
# mpath 的挂载和使用
# 1. 查看 mpath 设备是否存在(具体名称要以 /etc/multipath.conf 中定义的 alias 为准,如果未设置 alias,也可以通过 /dev/mapper/<wwid> 挂载(不推荐))
ls -l /dev/mapper/mpath0
# 2. 创建文件系统
A:直接使用整个设备
mkfs.xfs /dev/mapper/mpath0
B:先分区再格式化(推荐用于多用途或需要单独引导的情况)注:大于 2T 的设备分区需要添加 gpt 标签,需使用 parted 或 gdisk 命令进行分区,fdisk 默认是 mbr 的标签
parted /dev/mapper/mpath0 mklabel gpt
parted /dev/mapper/mpath0 mkpart primary 0% 20TiB
mkfs.xfs /dev/mapper/mpath0p1
C:先创建 lvm 再格式化
pvcreate /dev/mapper/mpath0
vgcreate vg-mpath0 /dev/mapper/mpath0
lvcreate -n lv-mpath0 -l 100%free vg-mpath0
mkfs.xfs /dev/vg-mpath0/lv-mpath0
# 3. 创建挂载点并挂载(以 lvm 为例)
mkdir -p /mnt/fc_data
mount /dev/vg-mpath0/lv-mpath0 /mnt/fc_data
# 4. 验证挂载
df -hT /mnt/fc_data
mount | grep mpath0
# 5. 设置开机挂载
blkid /dev/vg-mpath0/lv-mpath0
vim /etc/fstab 添加如下一行:
UUID=a1b2c3d4-... /mnt/fc_data xfs defaults,_netdev 0 2

浙公网安备 33010602011771号