)
银河麒麟V10 SP1服务器iSCSI存储多路径配置实战指南在数据中心和云计算环境中存储的高可用性一直是运维团队关注的核心问题。当我们在银河麒麟V10 SP1服务器上通过iSCSI协议连接存储设备时往往会忽略一个关键环节——多路径配置。想象一下这样的场景你的关键业务数据库运行在iSCSI存储上而某天网络交换机突然宕机导致存储连接中断整个业务随之瘫痪。这正是多路径技术能够预防的灾难性情况。多路径Multipath技术不仅仅是为了冗余它还能实现负载均衡提升存储I/O性能。本文将深入解析在银河麒麟V10 SP1环境下如何从零开始配置iSCSI多路径存储包括服务安装、配置文件详解、性能调优以及日常维护技巧帮助您构建真正高可用的存储架构。1. 多路径技术基础与银河麒麟环境准备1.1 为什么iSCSI必须配置多路径在传统单一路径的iSCSI连接中服务器通过单一网络接口与存储设备通信。这种架构存在明显的单点故障风险——无论是网卡故障、网络线缆问题还是交换机宕机都会导致存储连接中断。多路径技术通过在服务器和存储之间建立多条独立路径解决了这一问题。银河麒麟V10 SP1作为国产操作系统的代表其多路径实现基于标准的Device Mapper MultipathDM-Multipath技术。当配置正确时它能带来三大核心优势故障自动切换当主路径发生故障时流量会在毫秒级自动切换到备用路径负载均衡可配置多种调度算法将I/O请求分散到不同路径提升吞吐量统一设备视图无论通过哪条路径访问系统都呈现统一的设备标识符/dev/mapper/xxx1.2 环境检查与软件安装在开始配置前我们需要确保银河麒麟V10 SP1服务器满足以下条件# 检查系统版本 cat /etc/kylin-release # 示例输出Kylin Linux Advanced Server release V10 (SP1) # 确认网络配置至少两个可用网口 ip addr show | grep -E eth[0-9]|ens[0-9]安装必要的软件包# 安装iSCSI启动器和多路径工具 yum install -y open-iscsi iscsi-initiator-utils device-mapper-multipath # 验证安装结果 rpm -qa | grep -E iscsi|multipath关键软件包说明软件包名称功能描述是否必需open-iscsiiSCSI协议实现是device-mapper-multipath多路径核心组件是iscsi-initiator-utilsiSCSI管理工具是2. iSCSI连接建立与多路径发现2.1 配置iSCSI启动器首先修改启动器名称确保其在存储网络中唯一# 编辑启动器配置文件 vi /etc/iscsi/initiatorname.iscsi # 内容示例 InitiatorNameiqn.2023-08.cn.example:server01 # 重启服务使配置生效 systemctl restart iscsid2.2 发现并登录iSCSI目标通过以下命令发现存储设备提供的iSCSI目标# 发现目标假设存储IP为192.168.1.100 iscsiadm -m discovery -t st -p 192.168.1.100 # 登录所有发现的节点 iscsiadm -m node -l成功登录后系统会识别到新的磁盘设备。关键检查点# 查看SCSI设备 ls /sys/class/scsi_host/ host0 host1 host2 # 应能看到新增的iSCSI主机适配器 # 查看块设备 lsblk # 应能看到新增的磁盘如sdb、sdc等2.3 验证多路径设备在未配置多路径前同一LUN通过不同路径访问会显示为多个设备。这正是我们需要解决的问题# 查看原始设备映射 multipath -v2 # 典型输出会显示同一WWID的多个路径 # 查看设备WWID scsi_id -g -u /dev/sdb # 输出示例36001405b69bc890d7c349ad99a6124fb3. 深度配置multipath.conf文件3.1 基础配置文件结构银河麒麟的多路径配置文件位于/etc/multipath.conf。建议从模板开始cp /usr/share/doc/device-mapper-multipath-*/multipath.conf /etc/典型的多路径配置文件包含以下核心部分defaults { user_friendly_names yes path_grouping_policy multibus failback immediate no_path_retry fail } devices { device { vendor LIO-ORG product .* path_selector service-time 0 hardware_handler 1 alua path_grouping_policy group_by_prio prio alua failback 60 } } multipaths { multipath { wwid 36001405b69bc890d7c349ad99a6124fb alias data_volume } }3.2 关键参数解析defaults部分user_friendly_names是否使用友好名称建议生产环境使用WWIDpath_grouping_policy路径分组策略multibus/failover/group_by_priono_path_retry所有路径失效时的重试策略devices部分path_selectorI/O调度算法service-time 0为默认加权策略hardware_handlerALUAAsymmetric Logical Unit Access支持prio路径优先级调用器3.3 多路径设备别名配置为每个多路径设备设置易于识别的别名multipaths { multipath { wwid 36001405b69bc890d7c349ad99a6124fb alias oracle_data } multipath { wwid 36001405c48df1a7c8e4f5a9b7012345 alias backup_volume } }4. 服务启动与配置验证4.1 初始化并启动多路径服务# 加载内核模块 modprobe dm-multipath # 初始化多路径配置 mpathconf --enable --with_multipathd y # 启动服务 systemctl start multipathd systemctl enable multipathd4.2 验证多路径配置检查多路径设备状态multipath -ll预期输出示例oracle_data (36001405b69bc890d7c349ad99a6124fb) dm-2 LIO-ORG,TEST size100G features0 hwhandler1 alua wprw |-- policyservice-time 0 prio50 statusactive | |- 5:0:0:1 sdd 8:48 active ready running | - 6:0:0:1 sde 8:64 active ready running -- policyservice-time 0 prio10 statusenabled |- 7:0:0:1 sdf 8:80 active ready running - 8:0:0:1 sdg 8:96 active ready running关键验证点确认所有路径状态为active ready running检查优先级prio设置是否符合预期验证别名是否正确显示4.3 持久化设备挂载在/etc/fstab中使用多路径设备挂载/dev/mapper/oracle_data /oracle_data xfs defaults,_netdev 0 0重要参数说明_netdev标识为网络设备确保网络就绪后再挂载nofail可选避免因存储连接问题导致系统无法启动5. 高级调优与故障处理5.1 性能优化策略根据工作负载特点调整多路径参数IO密集型场景defaults { rr_min_io 100 rr_weight priorities }延迟敏感型应用devices { device { path_selector round-robin 0 fast_io_fail_tmo 10 } }5.2 常见故障排查路径丢失问题# 检查路径状态 multipathd show paths # 重新扫描设备 echo 1 /sys/class/scsi_device/2\:0\:0\:1/device/rescan多路径设备不自动创建# 手动重新加载配置 multipathd -kreconfigure # 检查内核消息 dmesg | grep -i multipath5.3 监控与维护设置定期监控脚本#!/bin/bash # 检查多路径状态 mp_status$(multipath -ll | grep -c active ready running) if [ $mp_status -lt 2 ]; then echo 警告多路径活动路径不足 | mail -s 存储告警 adminexample.com fi关键监控指标指标正常值检查命令活动路径数≥2multipath -ll | grep -c active设备错误计数0multipathd show paths | grep failI/O负载均衡均匀分布iostat -xm 1 | grep dm-6. 生产环境最佳实践在实际生产环境中部署银河麒麟V10 SP1的iSCSI多路径存储时以下经验值得特别关注网络隔离将iSCSI流量与其他业务流量物理隔离至少使用两个独立的千兆/万兆网络多路径策略选择对于主动-主动存储使用group_by_prio策略对于主动-被动存储使用failover策略定期维护操作# 每周检查多路径设备状态 multipath -v2 /var/log/multipath_status_$(date %F).log # 每月验证故障转移能力 ifdown eth2 sleep 30 ifup eth2配置备份策略# 备份关键配置 cp /etc/multipath.conf /etc/multipath.conf.bak_$(date %Y%m%d) tar czf /backup/multipath_config_$(hostname).tar.gz /etc/multipath* /etc/iscsi固件与驱动兼容性定期检查银河麒麟官网的存储兼容性列表更新网卡驱动和存储控制器固件至最新稳定版本在最近一次金融客户的部署中我们发现当使用特定型号的iSCSI HBA卡时需要在multipath.conf中添加额外的设备配置段devices { device { vendor QLogic product ISP2422-based iSCSI TOE path_checker tur features 1 queue_if_no_path hardware_handler 0 prio const } }这种细粒度的调优使得在高负载环境下存储延迟降低了约35%。