SUSE Linux 11下用系统自带多路径连接华为OceanStor存储(iSCSI实战)
SUSE Linux 11下用系统自带多路径连接华为OceanStor存储(iSCSI实战)
在企业的存储架构中,iSCSI技术因其成本效益和部署灵活性而广受欢迎。特别是对于仍在使用SUSE Linux Enterprise 11(SLES 11)这类较旧系统的企业,如何高效稳定地连接现代存储设备如华为OceanStor系列,成为运维团队面临的实际挑战。本文将深入探讨在不依赖厂商专用工具的情况下,如何利用系统自带的多路径功能实现这一目标。
1. 环境准备与基础配置
在开始配置前,确保服务器与存储之间的网络连接正常。建议使用独立的网络接口用于iSCSI通信,避免与业务流量产生冲突。华为OceanStor存储的业务IP需要与服务器在同一子网内,并确保已正确配置网关。
验证网络连通性的基本命令:
ping 192.168.1.100 # 替换为存储的业务IP traceroute 192.168.1.100对于SLES 11系统,首先需要确认必要的软件包是否已安装:
rpm -qa | grep -E 'open-iscsi|multipath-tools'若未安装,可通过YaST工具进行安装:
- 运行
yast命令进入管理界面 - 选择"Software" → "Software Management"
- 搜索并安装
open-iscsi和multipath-tools包
2. iSCSI启动器详细配置
2.1 初始化iSCSI服务
启动iSCSI服务并设置开机自启:
/etc/init.d/open-iscsi start chkconfig open-iscsi on配置iSCSI启动器名称至关重要,它将在存储系统中唯一标识该主机。编辑配置文件:
vi /etc/iscsi/initiatorname.iscsi文件内容应类似:
InitiatorName=iqn.1996-04.de.suse:01:unique-host-identifier保存后重启服务使更改生效:
/etc/init.d/open-iscsi restart2.2 发现与登录存储目标
执行发现命令,将192.168.1.100替换为存储的业务IP:
iscsiadm -m discovery -t st -p 192.168.1.100成功发现目标后,登录所有发现的存储节点:
iscsiadm -m node -l为确保故障转移时自动重连,修改配置文件:
vi /etc/iscsi/iscsid.conf将node.startup = manual改为node.startup = automatic
3. 多路径配置与优化
3.1 基础多路径设置
启用并配置多路径服务:
/etc/init.d/multipathd start chkconfig multipathd on创建多路径配置文件/etc/multipath.conf,针对华为OceanStor存储的推荐配置:
devices { device { vendor "HUAWEI" product "XSG1" path_grouping_policy group_by_prio path_checker tur features "0" hardware_handler "1 alua" prio alua failback immediate no_path_retry 30 } }3.2 多路径验证与故障排查
查看多路径设备状态:
multipath -ll典型输出示例:
mpathb (360002ac0000000000000005200016e53) dm-2 HUAWEI,XSG1 size=1.0T features='0' hwhandler='1 alua' wp=rw `-+- policy='service-time 0' prio=50 status=active |- 5:0:0:1 sdb 8:16 active ready running `- 6:0:0:1 sdc 8:32 active ready running常见问题排查命令:
dmesg | grep -i scsi # 查看SCSI层错误 iscsiadm -m session -P 3 # 查看iSCSI会话详情 multipathd -k # 进入交互式多路径调试模式4. 存储识别与持久化挂载
4.1 设备扫描与分区
重新扫描SCSI总线以识别新设备:
echo 1 > /sys/class/scsi_device/*/device/rescan使用fdisk或parted对新发现的磁盘进行分区:
fdisk /dev/mapper/mpathb创建分区后,建议使用XFS或ext4文件系统进行格式化:
mkfs.xfs /dev/mapper/mpathb-part14.2 配置持久化挂载
获取多路径设备的UUID:
blkid /dev/mapper/mpathb-part1编辑/etc/fstab文件添加挂载项:
UUID=1234-5678 /mnt/data xfs _netdev 0 0关键参数说明:
_netdev:指明这是网络设备,确保网络就绪后再挂载- 文件系统类型根据实际选择(xfs/ext4等)
- 建议使用UUID而非设备路径,避免设备名变化导致挂载失败
5. 性能调优与日常维护
5.1 iSCSI参数优化
调整内核参数提升iSCSI性能,编辑/etc/sysctl.conf:
net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.core.rmem_max = 4194304 net.core.wmem_max = 4194304 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304应用更改:
sysctl -p5.2 多路径监控策略
设置定期多路径状态检查:
*/5 * * * * root /sbin/multipath -ll > /var/log/multipath.status关键监控指标:
- 路径状态(active/failed)
- I/O错误计数
- 路径切换频率
- 设备延迟统计
5.3 故障场景处理指南
路径故障恢复:
- 检查物理连接和交换机状态
- 验证IP连通性
- 重启受影响的iSCSI会话:
iscsiadm -m node -p <target_ip> -R存储设备更换流程:
- 在存储端解除旧设备映射
- 在主机端刷新设备信息:
multipath -F echo 1 > /sys/class/scsi_device/*/device/delete iscsiadm -m node -U all iscsiadm -m node -l- 重新扫描并验证新设备
在实际生产环境中,我们曾遇到多路径自动切换不灵敏的情况,后来发现是ALUA优先级设置不当所致。通过调整path_grouping_policy和prio参数,最终实现了秒级故障切换,大幅提升了存储可用性。
