适用场景
存储出问题的代价通常比服务器大:一台服务器挂了业务还能切,存储挂了所有虚机和数据库一起躺。SAN 运维的核心就三件事:路径别断、盘别同时坏、性能基线心里有数。
配置步骤(RAID 降级与换盘)
# 1) 确认 RAID 与物理盘状态(以常见控制器为例)
# MegaCli:
MegaCli -LDInfo -Lall -aALL | grep -E 'State|Degraded'
MegaCli -PDList -aALL | grep -E 'Slot|Firmware state|Inquiry'
# 2) 定位坏盘:注意 Foreign / Failed / Unconfigured Good 的区别
# 3) 换盘流程
# a. 确认业务已备份,确认非同一 RAID 组第二块盘
# b. 记录槽位与 SN,拔盘前先看灯(不要只看管理界面)
# c. 插新盘,确认被识别为 Unconfigured Good
# d. 设热备或手动重建,观察重建进度与业务时延
# 4) 重建期间禁止的操作
# - 不要跑全量备份、不要做大表变更、不要重启存储
关键参数与建议
- 双控双路径:主机侧多路径(MPIO/multipath)必须启用,两条路径分别走不同交换机
- RAID 策略:业务盘优先 RAID10 或 RAID6 + 热备盘,热备盘要定期检查是否真的在被使用
- LUN 映射:命名与用途要能对应到业务(禁止 LUN01/02 这种命名),映射变更要留记录
- 快照与克隆:快照不是备份,只用于短时回滚;克隆用于测试环境并限制生命周期
- 性能基线:IOPS、时延(读/写)、队列深度,按月采集,扩容与业务上线前必须复测
- 告警接入:控制器、电源、风扇、电池、盘、链路、卷容量全部接入统一监控
- 固件与驱动:控制器固件、HBA 驱动、多路径软件版本要在兼容列表内,升级走变更窗口
- 容量水位:卷使用率 75% 预警、85% 必须处理,避免写满导致业务异常
容易踩的坑
- 看到告警立刻拔盘,没确认是不是第二块坏盘,直接 RAID 失效
- 热备盘没有真的配成热备(Unconfigured Good 不等于 Hot Spare)
- 重建期间跑备份,重建时间从 4 小时拉长到 20 小时
- 换盘不看 SN 和槽位,拔错盘
- 换完不核对 RAID 状态,以为自动重建其实没启动
- 同一 RAID 组用同批次同型号盘,同寿命同时坏
验证与巡检
# 重建进度与状态
MegaCli -LDInfo -Lall -aALL | grep -E 'State|Rebuild|Progress'
MegaCli -PDList -aALL | grep -E 'Firmware state|Slot'
# 业务影响观察
iostat -x 1 5 | grep -E 'Device|sd'
# 一致性校验(如配置了 Patrol Read / Consistency Check)
MegaCli -LDInfo -Lall -aALL | grep -i 'Patrol'
- 巡检:RAID 状态 Optimal、无 Failed 盘、热备盘可用、重建完成后做一次一致性校验
小结
SAN 运维验收:拔掉一条链路业务不中断、单盘故障能自动热备重建、时延基线在阈值内、告警能到人。三项都能实测,才算运维到位。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。