目录标题
纯SSD环境:双活存储+FC交叉连接(8路径)LUN挂载完整笔记
一、核心架构总览
架构逻辑:服务器(2个FC口)→ 2台FC交换机 → 2台双活OceanStor存储(每台双控A/B,各2个FC业务口)→ SSD存储池LUN
核心特性:全SSD介质(单盘IOPS 10万-20万、延迟1-5ms)+ 双活数据同步 + 8条物理路径冗余/负载均衡,实现“低延迟、高并发、高可用”,适配数据库等核心业务存储需求。
二、各层级核心配置与原理
1. 双活存储层(SSD为核心)
(1)存储硬件配置
- 设备规格:2台OceanStor全闪存存储(记为STO-A、STO-B),组成双活集群;
- 控制器:每台存储含双控制器(A控、B控),每控制器提供2个FC业务口(A1/A2、B1/B2),两台存储合计8个FC业务口;
- 存储介质:全SSD硬盘,组建独立SSD存储池,无HDD相关配置。
(2)存储池与LUN配置
- 存储池:基于SSD创建,推荐RAID 10策略(兼顾并行IO性能与数据冗余,适配SSD随机读写优势);
- LUN创建:从SSD存储池划分目标容量LUN(如6T),LUN为存储端最小分配单元,对外呈现为“虚拟磁盘”;
- 双活映射:将LUN配置为双活模式,数据在STO-A、STO-B间实时同步,两台存储同时对外提供LUN访问权限,任意一台存储故障不影响业务。
(3)主机组配置
- 录入服务器HBA卡WWN号(FC连接唯一标识),在存储端创建“主机”;
- 将目标服务器归为“主机组”,将双活LUN绑定到该主机组,确保服务器能识别LUN。
2. FC交换机层(路径转发枢纽)
(1)交叉连接设计
- 设备:2台FC交换机(SW1、SW2),实现“服务器FC口→交换机→存储业务口”全冗余连接;
- 连接规则:
- 服务器FC1口 → SW1,FC2口 → SW2;
- STO-A-A1、STO-A-B1、STO-B-A1、STO-B-B1 → SW1;
- STO-A-A2、STO-A-B2、STO-B-A2、STO-B-B2 → SW2;
- 核心价值:避免单交换机故障导致路径中断,保障链路冗余。
(2)转发特性
- FC交换机仅做低延迟帧转发,不处理数据,确保SSD的高IO性能无损耗传递至服务器;
- 建议链路速率配置8Gbps以上,匹配SSD高并发IO需求。
3. 服务器层(多路径聚合+SSD逻辑设备)
(1)硬件与软件配置
- 硬件:服务器内置2块FC HBA卡,对应2个FC口(FC1、FC2),分连2台FC交换机;
- 软件:启用RedHat自带
device-mapper-multipath(多路径软件),服务命令:systemctl start multipathd # 启动服务 systemctl enable multipathd # 开机自启
(2)LUN识别与路径聚合
- 扫描设备:执行
rescan-scsi-bus.sh -a扫描SCSI总线,识别存储映射的双活LUN; - 路径聚合:多路径软件自动识别8条物理路径,聚合为1个逻辑设备(
/dev/mapper/mpathX,即dm-X),上层应用仅感知单一逻辑磁盘。
(3)格式化与持久化挂载
- 格式化:对聚合后的逻辑设备(如
/dev/mapper/mpath1)格式化文件系统(推荐xfs,适配SSD性能):mkfs.xfs /dev/mapper/mpath1 - 持久化挂载:编辑
/etc/fstab配置挂载信息,确保服务器重启后正常访问:/dev/mapper/mpath1 /opt/qfusion xfs defaults,_netdev 0 0 - 生效挂载:
mount -a使配置生效,通过lsblk验证挂载状态。
(4)K8s层面识别(若适用)
- 节点挂载LUN后,通过K8s的StorageClass/PV/PVC将LUN抽象为“存储卷”,分配给数据库实例(Pod)使用,实例直接访问低延迟SSD存储。
4. 8条物理路径详情(核心链路)
| 序号 | 服务器端 | 交换机层 | 存储端(双活) | 完整路径 | 核心作用 |
|---|---|---|---|---|---|
| 1 | FC1口 | SW1 | STO-A-A1口 | FC1→SW1→STO-A-A1 | 冗余备份+负载均衡 |
| 2 | FC1口 | SW1 | STO-A-B1口 | FC1→SW1→STO-A-B1 | 冗余备份+负载均衡 |
| 3 | FC1口 | SW1 | STO-B-A1口 | FC1→SW1→STO-B-A1 | 冗余备份+负载均衡 |
| 4 | FC1口 | SW1 | STO-B-B1口 | FC1→SW1→STO-B-B1 | 冗余备份+负载均衡 |
| 5 | FC2口 | SW2 | STO-A-A2口 | FC2→SW2→STO-A-A2 | 冗余备份+负载均衡 |
| 6 | FC2口 | SW2 | STO-A-B2口 | FC2→SW2→STO-A-B2 | 冗余备份+负载均衡 |
| 7 | FC2口 | SW2 | STO-B-A2口 | FC2→SW2→STO-B-A2 | 冗余备份+负载均衡 |
| 8 | FC2口 | SW2 | STO-B-B2口 | FC2→SW2→STO-B-B2 | 冗余备份+负载均衡 |
三、架构核心价值与原理
1. 8条路径的核心作用
(1)极致冗余
- 覆盖全组件故障场景:任意单一组件(FC口、交换机、存储控制器、单台存储)故障,剩余7条路径正常承载业务,无感知切换,保障业务零中断;
- 无单点故障:链路、设备层面均实现双重冗余,符合核心业务高可用要求。
(2)负载均衡
- 多路径软件默认启用“轮询(round-robin)”算法,将IO请求均匀分散到8条路径;
- 充分利用SSD高并发特性,避免单路径带宽瓶颈,最大化IO带宽(8条路径协同承载,突破单路径速率限制)。
2. SSD介质的核心优势
- 性能指标:单盘IOPS 10万-20万,读写延迟1-5ms,支持高并发随机读写(适配数据库日志写入、数据更新等场景);
- 适配特性:与RAID 10结合,并行IO能力更强;双活同步延迟极低(<1ms),切换无感知;
- 稳定性:无机械损耗,故障率低于HDD,适配长期高负载运行。
3. 双活存储的核心保障
- 数据同步:两台存储实时同步LUN数据,均保留完整副本,任意一台存储故障不丢失数据;
- 切换机制:故障时自动切换至备用存储,切换时间<1秒,业务无感知;
- 对外呈现:双活集群对外为单一逻辑存储,上层应用无需适配双活架构,配置简单。
四、关键配置与监控命令
1. 多路径配置优化(/etc/multipath.conf)
- 启用轮询算法,适配SSD负载均衡需求,配置示例:
defaults { user_friendly_names yes path_grouping_policy multibus # 多路径负载均衡 path_selector "round-robin 0" # 轮询算法 failback immediate # 故障恢复后立即切回 } - 配置后重启服务:
systemctl restart multipathd
2. 核心验证命令
# 1. 查看多路径状态(确认8条路径正常、SSD LUN识别)
multipath -ll
# 2. 监控SSD逻辑设备IO性能(关注延迟、利用率)
iostat -x 1 /dev/mapper/mpathX # 正常指标:%util < 70%,w_await < 10ms
iotop -o -P # 实时查看IO密集型进程
# 3. 检查8条路径状态与IO分布(验证负载均衡)
multipathd show paths status # 各路径IO计数器应大致均衡
multipathd show paths # 确认所有路径为"active"状态
# 4. 扫描SCSI总线,识别新挂载LUN
rescan-scsi-bus.sh -a
# 5. 验证挂载状态
lsblk # 查看dm-X设备挂载点
mount | grep /dev/mapper/mpathX # 确认挂载生效
# 6. 检查FC链路状态
systool -c fc_host -v # 查看FC口速率、连接状态(建议8Gbps以上)
3. 日常监控重点
- 路径状态:确保8条路径均为“active”,无故障路径;
- IO性能:
%util(IO利用率)<70%,读写延迟<10ms; - SSD健康度:通过存储管理平台监控SSD磨损寿命(剩余寿命>80%为正常);
- 双活状态:两台存储同步状态为“正常”,无同步延迟告警。
五、常见问题排查
1. 延迟偏高
- 排查方向:8条路径是否全部生效(部分路径故障)、多路径算法配置错误、FC链路速率不匹配(<8Gbps)、存储控制器负载过高;
- 解决步骤:
multipath -ll检查路径状态 →multipathd show paths确认活跃路径数 → 调整多路径算法 → 检查FC链路速率。
2. IO负载不均衡
- 排查方向:多路径算法未启用轮询、部分路径带宽受限;
- 解决步骤:修改
multipath.conf启用轮询算法 → 重启multipathd服务 →multipathd show paths status验证IO分布。
3. LUN无法识别
- 排查方向:存储LUN未映射到主机组、FC链路未连通、未扫描SCSI总线;
- 解决步骤:检查存储LUN映射配置 →
systool -c fc_host -v确认FC连接 → 执行rescan-scsi-bus.sh -a扫描。
4. 双活切换异常
- 排查方向:存储双活同步故障、网络中断;
- 解决步骤:检查存储双活状态 → 验证两台存储间网络连通性 → 查看存储告警日志。
六、架构流程图(Mermaid)
graph TD
subgraph 应用层
App[数据库/K8s Pod]
end
subgraph 服务器层
S[服务器<br/>2个FC口:FC1、FC2]
M[多路径软件mpath<br/>聚合为逻辑设备dm-X]
end
subgraph 交换机层
SW1[FC交换机1(SW1)]
SW2[FC交换机2(SW2)]
end
subgraph 双活存储层(全SSD)
subgraph 存储1(STO-A,双控)
A1[STO-A-A1口]
A2[STO-A-A2口]
B1[STO-A-B1口]
B2[STO-A-B2口]
end
subgraph 存储2(STO-B,双控)
C1[STO-B-A1口]
C2[STO-B-A2口]
D1[STO-B-B1口]
D2[STO-B-B2口]
end
L[双活LUN(SSD存储池)]
end
% 8条路径连接
S -->|FC1口| SW1
S -->|FC2口| SW2
SW1 --> A1
SW1 --> B1
SW1 --> C1
SW1 --> D1
SW2 --> A2
SW2 --> B2
SW2 --> C2
SW2 --> D2
% 存储内部双活连接
A1 & B1 & A2 & B2 --> L
C1 & D1 & C2 & D2 --> L
% 应用访问链路
L -->|8条物理路径| M
M --> App
总结
1. LUN挂载核心逻辑链
SSD存储池创建LUN → 双活集群同步数据 → 绑定服务器主机组 → 8条物理路径(FC口→交换机→存储控)→ 多路径聚合为dm-X → 格式化挂载 → 应用访问
2. 架构核心亮点
- 全SSD环境:低延迟、高并发,适配核心业务需求;
- 8路径冗余:无单点故障,业务零中断;
- 双活存储:数据无丢失,故障自动切换;
- 配置简单:上层应用无需适配底层架构,仅需访问逻辑设备。
3. 运维建议
- 定期检查8条路径状态、SSD健康度、双活同步状态;
- 备份
/etc/multipath.conf配置,避免误操作导致负载均衡失效; - 监控IO性能趋势,提前扩容或优化,避免触及性能上限;
- 定期演练双活切换,验证故障恢复能力。
LUN挂载完整笔记&spm=1001.2101.3001.5002&articleId=155572150&d=1&t=3&u=e57421dc0ad64eeca08705f7adbae1e3)
766

被折叠的 条评论
为什么被折叠?



