工程师如何处理RAID控制器电池“重新学习”周期?
如下所述: LSI MegaRaid上的“电池重新学习”是什么? ,重新学习循环放电RAID控制器电池(BBWC或BBU),从而消除写入caching加速。 电池的使用寿命被检查,一旦充电,写caching被重新启用。 这对重新学习周期期间的服务器I / O性能有明显的影响。 我认为这是每月发生的。
已经注意到性能下降,特别是在数据库系统上:
数据库缓慢? 检查RAID电池!
重新了解您的电池
我的背景是在HP ProLiant服务器中,其Smart Array控制器不通过此练习( 或者至less有更主动的电池寿命监视 )。 这似乎是一个可怕的特点( 最大的不便,收益不大 ),但是我处在一个有许多LSI控制器(在Supermicro硬件上)的环境中,并且希望看到是否可以在相关系统上应用一揽子策略。
就在最近,我读了一篇Godaddy的工程师关于这个话题的文章: 学习对付学习
在他们的硬件(戴尔PERC卡)电池学习周期每90天发生一次,但没有办法知道什么时候会发生,即在高峰期或非高峰时间。
他们谈到了不同的解决scheme:
夺取禁用电池学习。 这个选项的问题是,你不知道你的电池的状态,以及它可以保持多久和多less费用,所以在停电的情况下,你可能会有数据丢失的风险。
使用不同的硬件。 有些控制器在这种学习周期中有2节电池并在它们之间翻转。 此外,还有RAID控制器(如Dell H710)不需要电池,而是使用非易失性NVRAM来存储未提交的数据。
强制回写(caching),不pipe电池的状态如何。 就像第一个解决scheme一样,您冒着数据丢失的风险。
最终,他们设置了非高峰时段的crons来监测下一个学习周期,如果是在接下来的24小时内,他们会立即强制它发生。 这样,他们就可以保持锻炼电池的好处,而不用在高峰时间使用电池。