Linux系统下如何连接光纤磁盘阵列柜?

在Linux系统下连接光纤磁盘阵列柜需经历硬件准备、物理连接、驱动安装、设备发现、多路径配置及文件系统挂载等流程,以下是详细步骤:

linux系统下如何连接光纤磁盘阵列柜

硬件准备与物理连接

光纤磁盘阵列柜通过光纤通道(FC)与服务器通信,需确保以下硬件组件就绪:

组件 类型/要求 注意事项
服务器端HBA卡 PCIe接口光纤通道卡(如QLogic 2580、Emulex LPE32002) 需确认卡型号与Linux内核兼容性,优先选择厂商认证型号
光纤线缆 LC-LC或SC-SC接口,单模(长距离,≥10km)或多模(短距离,≤500m) 线缆速率需匹配HBA卡与阵列柜(如8G/16G),避免混用不同速率线缆
光纤交换机(可选) FC交换机(如Brocade、Cisco),若直连阵列柜则无需交换机 若通过交换机,需提前配置Zone(将服务器HBA WWPN与阵列柜端口WWPN划入同一Zone)
磁盘阵列柜 支持光纤通道的阵列柜(如华为OceanStor、戴尔PowerStore),已完成LUN映射配置 阵列柜需提前创建LUN并映射给服务器的HBA卡WWPN

物理连接步骤

  1. 关闭服务器电源,将HBA卡插入PCIe插槽,固定螺丝;
  2. 根据环境选择直连或交换机连接:
    • 直连:服务器HBA卡端口→光纤线缆→阵列柜前端端口;
    • 交换机:服务器HBA卡→交换机端口,阵列柜端口→交换机另一端口(需确保交换机Zone配置正确);
  3. 开机后观察HBA卡指示灯(常绿表示正常)、交换机端口灯(常亮/闪烁表示链路正常)、阵列柜端口灯(常亮表示连接成功)。

Linux系统驱动安装与设备发现

安装HBA卡驱动

Linux内核通常已包含常见HBA卡驱动(如QLogic的qla2xxx、Emulex的lpfc),若需手动安装(如驱动版本较旧):

  • 以RHEL/CentOS为例
    # 下载厂商驱动包(如QLogic驱动qla2xxx-xxx.rpm)
    rpm -ivh qla2xxx-xxx.rpm
    # 加载驱动模块
    modprobe qla2xxx
  • 以Ubuntu为例
    apt update
    apt install linux-firmware-qlogic  # 安装固件
    modprobe qla2xxx

    加载后通过dmesg | grep qla2xxx查看驱动日志,确认无报错。

发现光纤通道设备

使用以下命令确认HBA卡及LUN是否被识别:

linux系统下如何连接光纤磁盘阵列柜

  • 查看HBA卡信息
    fcinfo hba-port  # 显示HBA卡WWPN(World Wide Port Name)、状态等信息
  • 查看逻辑单元(LUN)
    fcinfo logical-unit  # 列出所有识别到的LUN,显示LUN号、设备路径(如/dev/sdb)
  • 通过SCSI设备确认
    lsscsi -g  # 显示SCSI设备及其HBA卡、LUN信息,格式为"[HBA:ID:LUN:目标] 设备名"

    若能看到阵列柜映射的LUN(如[0:0:1:0] /dev/sdc),则设备发现成功。

多路径配置(Multipathing)

为避免单点故障并提升性能,需配置多路径(通过多条物理路径访问同一LUN)。

安装多路径工具

  • RHEL/CentOS
    yum install device-mapper-multipath
  • Ubuntu
    apt install multipath-tools

配置多路径文件

编辑/etc/multipath.conf,核心参数如下:

参数 说明 示例值
defaults 默认多路径策略 path_grouping_policy multibus
path_selector 路径选择算法(轮询或优先级) path_selector "service-time 0"
hardware_handler 硬件处理程序(适配阵列柜ALUA协议) hardware_handler "1 alua"
features 功能开关(如队列调度) features "0"
blacklist 排除不需要多路径的设备(如本地磁盘) blacklist { devnode "^sda$" }

示例配置

defaults {
    path_grouping_policy multibus
    path_selector "service-time 0"
    hardware_handler "1 alua"
    features "0"
    no_path_retry fail
}
blacklist {
    devnode "^sda$"
    devnode "^sdb$"
}

启动多路径服务并检查

systemctl enable multipathd --now  # 启用并开机自启
multipath -F  # 清空旧的多路径配置
multipath -v2  # 扫描并生成多路径设备

通过multipath -ll查看多路径设备,输出示例:

linux系统下如何连接光纤磁盘阵列柜

mpathb (360014051abcdef1234567890abcdef) [size=10T][features=1][hwhandler=1 alua][rw]
_ round-robin 0 [prio=10][active]
  _ 0:0:1:0 sdc 8:32 [active][ready]
_ round-robin 0 [prio=10][enabled]
  _ 1:0:1:0 sdd 8:48 [active][ready]

其中mpathb为多路径设备名,包含两条路径(sdcsdd)。

文件系统创建与挂载

  1. 分区(可选):若需分区,使用partedfdisk
    parted /dev/mapper/mpathb mklabel gpt
    parted /dev/mapper/mpathb mkpart primary ext4 0% 100%
  2. 格式化
    mkfs.ext4 /dev/mapper/mpathb  # 或xfs(mkfs.xfs /dev/mapper/mpathb)
  3. 挂载
    mkdir /data
    mount /dev/mapper/mpathb /data
  4. 配置开机自启:编辑/etc/fstab,添加:
    /dev/mapper/mpathb /data ext4 defaults,_netdev 0 0

    _netdev表示网络设备,避免启动时挂载失败)

测试验证

  1. 多路径状态检查:拔掉一根光纤线(如拔掉HBA卡与交换机的线缆),通过multipath -ll确认路径是否标记为failed,读写是否正常(如dd if=/dev/zero of=/data/test bs=1M count=1024)。
  2. 性能测试:使用fio测试读写性能,确保多路径负载均衡生效。

相关问答FAQs

Q1:Linux下如何确认HBA卡是否被系统正确识别?
A:可通过以下命令确认:

  • lspci | grep -i fibre:查看PCI设备列表,若包含HBA卡型号(如“QLogic”或“Emulex”),则硬件识别成功;
  • fcinfo hba-port:若显示HBA卡的WWPN和“Online”状态,则驱动加载成功;
  • dmesg | grep qla2xxx(或对应驱动名):查看驱动日志,无“error”等报错即正常。

Q2:多路径配置后,设备未显示(如multipath -ll无输出)怎么办?
A:排查步骤如下:

  1. 检查multipathd服务状态:systemctl status multipathd,确保服务运行;
  2. 验证multipath.conf语法:multipath -t,若有语法错误会提示;
  3. 确认LUN是否映射:通过fcinfo logical-unit查看LUN是否存在,若未找到需检查阵列柜LUN映射配置;
  4. 查看多路径日志:tail -f /var/log/multipath.log,定位错误(如路径未绑定、设备被黑名单拦截)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32519.html

(0)
酷番叔酷番叔
上一篇 2025年9月29日 16:01
下一篇 2025年9月29日 16:11

相关推荐

  • Linux如何退出普通用户登录状态?

    在Linux系统中,普通用户的退出操作通常涉及两种核心场景:一是用户主动结束当前会话(如注销、关闭终端),二是管理员协助终止特定用户的会话,由于Linux是多用户多任务操作系统,退出操作需结合权限、会话类型(图形界面/命令行)及具体需求展开,以下是详细操作说明及注意事项,命令行环境下普通用户的退出操作命令行是L……

    2025年10月5日
    6000
  • Linux系统中,如何准确区分ARM与x86架构处理器类型?

    在Linux系统中区分ARM和x86架构是系统管理、软件开发和硬件适配中的基础需求,这两种架构因设计理念不同(x86为CISC,ARM为RISC),在指令集、硬件实现和系统标识上存在显著差异,以下从多个维度详细说明如何通过Linux系统工具和文件信息进行区分,通过系统架构标识命令检测最直接的方法是使用Linux……

    2025年8月24日
    8300
  • linux虚拟机如何退出

    Linux虚拟机中,可使用命令exit或按Ctrl + D来退出当前

    2025年8月17日
    7400
  • Linux中文乱码?UTF-8一键解决!

    检查当前系统编码查看环境变量终端执行:locale若LANG或LC_CTYPE非en_US.UTF-8或zh_CN.UTF-8,则需修改,检查可用编码locale -a | grep -i utf8确认是否已安装UTF-8编码包(如未安装,需执行sudo apt install locales),修改系统全局编……

    2025年6月14日
    11000
  • 在linux如何操作usb

    Linux中,可使用lsusb查看USB设备信息,通过dmesg查看系统对

    2025年8月10日
    9200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信