适用场景

存储出问题的代价通常比服务器大:一台服务器挂了业务还能切,存储挂了所有虚机和数据库一起躺。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 运维验收:拔掉一条链路业务不中断、单盘故障能自动热备重建、时延基线在阈值内、告警能到人。三项都能实测,才算运维到位。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。