管理 LSI 和类似 RAID 控制器上的电池重新学习周期

eww*_*ite 13 raid cache lsi hardware-raid dell-perc

工程师如何处理 RAID 控制器电池“重新学习”周期?

如中所述:LSI MegaRaid 上的“电池重新学习”是什么?, 重新学习周期会使 RAID 控制器电池(BBWC 或 BBU)放电,从而取消写入缓存加速。检查电池寿命,充电后,重新启用写入缓存。在重新学习周期的持续时间内,这对服务器 I/O 性能有明显的影响。我认为这每月发生一次。

已经注意到性能下降,尤其是在数据库系统上:

数据库慢?检查 RAID 电池!

重新了解您的电池

我的背景是 HP ProLiant 服务器,它的Smart Array控制器没有经过这个练习(或者至少有更主动的电池寿命监控)。这似乎是一个可怕的功能(最大的不便,收益很小),但我在一个有许多 LSI 控制器(在Supermicro硬件上)的环境中,想看看是否可以将一揽子策略应用于相关系统。

  • LSI 控制器上重新学习周期的默认时间表是什么?
  • 这些重新学习周期有用吗?
  • 是否应该禁用此功能?
  • 如果您选择在您的环境中启用此功能,您将如何处理调度?您是手动安排这个还是允许控制器设置自己的时间表?
  • Dell Perc 控制器是否以同样的方式受到影响?(LSI 是 OEM

Mxx*_*Mxx 14

就在最近,我读了一篇 Godaddy 的一位工程师关于这个主题的文章:学习处理学习

在他们的硬件(戴尔 PERC 卡)上,电池学习周期每 90 天发生一次,但无法知道它究竟何时发生,即在高峰期或非高峰期。

他们谈到了不同的解决方案:

  • 彻底禁用电池学习。此选项的问题在于您不知道电池的状态以及它可以保持多长时间和多少电量,因此在断电的情况下,您可能会面临数据丢失的风险。

  • 使用不同的硬件。一些控制器有 2 个电池,并在这样的学习周期中在它们之间切换。此外,还有不需要电池而是使用非易失性 NVRAM 来存储未提交数据的 RAID 控制器(例如 Dell H710)。

  • 无论电池状态如何,都强制回写(缓存)。与第一个解决方案一样,您面临着数据丢失的风险。

最终,他们为非高峰时段设置 cron,以监控下一个学习周期,如果在接下来的 24 小时内,他们会强制立即执行。这样他们就可以保持锻炼电池的好处,而无需在高峰使用时间运行它。