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

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

如下所述: LSI MegaRaid上的“电池重新学习”是什么? ,重新学习循环放电RAID控制器电池(BBWC或BBU),从而消除写入caching加速。 电池的使用寿命被检查,一旦充电,写caching被重新启用。 这对重新学习周期期间的服务器I / O性能有明显的影响。 我认为这是每月发生的。

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

数据库缓慢? 检查RAID电池!

重新了解您的电池

我的背景是在HP ProLiant服务器中,其Smart Array控制器不通过此练习( 或者至less有更主动的电池寿命监视 )。 这似乎是一个可怕的特点( 最大的不便,收益不大 ),但是我处在一个有许多LSI控制器(在Supermicro硬件上)的环境中,并且希望看到是否可以在相关系统上应用一揽子策略。

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

就在最近,我读了一篇Godaddy的工程师关于这个话题的文章: 学习对付学习

在他们的硬件(戴尔PERC卡)电池学习周期每90天发生一次,但没有办法知道什么时候会发生,即在高峰期或非高峰时间。

他们谈到了不同的解决scheme:

  • 夺取禁用电池学习。 这个选项的问题是,你不知道你的电池的状态,以及它可以保持多久和多less费用,所以在停电的情况下,你可能会有数据丢失的风险。

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

  • 强制回写(caching),不pipe电池的状态如何。 就像第一个解决scheme一样,您冒着数据丢失的风险。

最终,他们设置了非高峰时段的crons来监测下一个学习周期,如果是在接下来的24小时内,他们会立即强制它发生。 这样,他们就可以保持锻炼电池的好处,而不用在高峰时间使用电池。