首页/系统/服务器硬件与 RAID 速查/阵列卡缓存与 BBU/超级电容
RAID 级别与计算68 条

阵列卡缓存与 BBU/超级电容

卡上缓存从 256MB 到 4GB 不等,是随机写性能的关键;BBU(电池)或 CacheVault(超级电容+闪存)在掉电时保护缓存数据,其状态直接决定写策略能否启用。

缓存与掉电保护

阵列卡上的缓存从 256MB 到数 GB 不等,是随机写性能的关键:写请求先在缓存里合并、排序,再以更优的顺序落盘。但缓存也带来风险——掉电时里面的数据会丢。BBU(电池)与 CacheVault(超级电容加闪存)就是为此存在的保护单元,它们的状态直接决定 Write-Back 策略能不能启用,也决定同一块阵列在故障前后的性能表现。

基本信息

缓存的作用合并随机写、预读、缓存命中,提升 IOPS 并降低延迟
BBU 电池需定期充放电自检(Learn Cycle),电池老化后容量下降直至失效
超级电容无记忆效应、寿命更长,掉电时把缓存内容写入闪存模块
状态查看storcli /c0/bbu show all 或 storcli /c0/cv show all
与写策略的关系保护模块健康时才适合长期启用 Write-Back

查看保护模块状态

查看保护模块状态
storcli /c0/bbu show all            # 电池状态、容量、学习周期
storcli /c0/cv show all             # 超级电容模块
storcli /c0/v0 show all | grep -i "write"   # 当前写策略
storcli /c0 show all | grep -i -E "Cache|Memory"  # 缓存容量与配置
# megaCli 环境等效命令:MegaCli -AdpBbuCmd -GetBbuStatus -a0

BBU 与超级电容对照

维度BBU 电池超级电容(CacheVault)
原理电池供电维持缓存内容电容供电把缓存刷入闪存
寿命数年,需定期充放电自检寿命更长,无记忆效应
维护动作关注 Learn Cycle 与容量衰减关注电容健康与模块连接
故障表现策略降级为 Write-Through,性能下降电容失效时同样降级为直写

日常运维动作

  • 把保护模块状态纳入周度巡检,Learn Cycle 与 Failed 都要可见
  • 电池容量或健康度下降时提前采购备件,别等告警才动手
  • 更换模块后按文档做校准并复核写策略,避免策略被重置
  • 定期记录缓存命中与写策略,性能突变时先查这两项
BBU 进入 Learn Cycle 或故障时,缓存策略可能临时降级为 Write-Through,性能波动属正常现象;巡检脚本要把该状态纳入监控,避免误判为业务异常。

易错点

  • 把 BBU 状态告警当噪音:电池故障期间写策略降级,业务性能与掉电安全性同时受影响
  • 缓存模块与卡固件版本不匹配:更换超级电容后需按文档校准与刷新固件,否则保护不生效
  • 换电池后不复核写策略:策略可能被重置为默认值,性能与安全性同时变化
  • 以为缓存越大越好:没有保护的缓存越大,掉电时丢失的数据越多
  • 不做缓存容量与命中率记录:性能问题出现时缺少基线,只能从零排查

数据来源与参考

  • Broadcom MegaRAID 用户指南(Battery/CacheVault)
  • storcli 命令参考
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌