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
      }
}
/etc/multipath.conf

wwid 可通过 /lib/udev/scsi_id -g -u /dev/sdX 命令查看

# 配置成功后如图所示

image

# 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

posted @ 2026-05-19 15:20  demoduan  阅读(83)  评论(0)    收藏  举报