阵列卡缓存电池充放电问题详解

本文主要详细解释了与阵列卡缓存电池充放电相关的各方面的问题。算法

磁盘阵列是服务器上历史悠久的一项技术,它可以经过不一样的阵列模式合理利用空间和性能配比出性价比极高的磁盘阵列,被大部分服务器OEM厂商所普遍采用。其中以LSI公司的MegaRAID SAS产品为主,普遍用于各品牌(除惠普外)x86服务器。缓存

为什么有缓存?

阵列卡核心技术包含三部份内容:服务器

一、数据条带化;运维

二、数据冗余;工具

三、高速缓存。性能

其中高速缓存即所谓的阵列卡内存(如下简称缓存):阵列卡控制器经过一系列算法将上层应用下发的写请求进行优化并存储在阵列卡的高速缓存内以此提升应用的写性能(上层应用没必要等待数据实际Flush到磁盘上便可完成写操做)。因为阵列卡缓存也属于RAM(易失性存储)的一种,所以也存在掉电丢数据的风险。一旦服务器断电,阵列卡缓存中的数据就会丢失,这会给应用形成数据一致性的风险。优化

电池的诞生

为了保障断电后数据的一致性,因而一种可循环充电式的电池被应用到阵列卡缓存单元上。现在大部分阵列卡缓存单元都会外接一个可充电式的电池包,以此来为断电后的缓存提供电源支持,同时保障数据在必定时间内不丢失(这个时间一般为48小时)。待到下一次服务器再次恢复电源后,阵列卡控制器会将缓存中的数据Flush到磁盘,以免脏数据的产生。spa

缓存的供电方式

一、通常状况下服务器通电时阵列卡缓存使用的是主板供电;.net

二、服务器断电后阵列卡板卡电路自动将缓存的供电方式由主板切换到电池。设计

电池为什么要进行充放电操做?

LSI阵列卡用的是锂电池方案,咱们知道锂电池有较强的惰性,它在非充电状态下会缓慢地自放电(电池特性),一段时间后电量就会降低。为了可以及时校准电量避免电池由于自放电而致使电量不明确,因而阵列卡控制器会对电池进行周期性地充放电操做(Relearn),以此保证电量的准确性,同时还能够判断电池是否故障或者老化。

电池充放电会有哪些操做?

一、控制器首先对电池进行彻底放电直至零电量;

二、控制器从新对电池进行充电操做直至充满;

三、控制器对电池的电量从新进行计算校准;

四、等待下一个充放电时间点。

为什么充放电会引起性能问题?

充放电操做时因为电池电量没法提供足够的数据保障时间,为了不风险发生阵列卡控制器默认会将缓存关闭,正是因为缓存被关闭而引起了写性能急剧降低的问题。

惠普服务器为什么没有同类问题?

一、惠普服务器使用的是自家设计的基于PMC控制器的阵列卡,它采用的是镍氢电池。镍氢电池没有太强的惰性,而且特性和锂电池不一样,它并不须要经过彻底放电来校准电量。

二、当镍氢电池因为自放电而致使电量下降时到必定程度时(好比80%),阵列卡控制器会检测到电量降低并对电池进行娟流充电以补充失去的电量。整个过程对用户是透明的,也不须要关闭缓存,所以并不会影响IO性能。

是否存在可充电式电池的替代方案?

有!闪存式电容方案不但能够替代电池提供几乎无限的数据保护时间,而且控制器也不会由于充放电操做而关闭缓存。闪存式电容可以在服务器断电时,由高容量电容向阵列卡短暂地供电(大约几分钟),随后阵列卡控制器会将缓存中的数据所有复制到同等容量的闪存介质上。由于闪存是非易失性存储器,所以能够认为数据保护时间是无限的。待下一次服务器正常通电开机,阵列卡控制器在初始化阶段会将闪存中的脏数据从新Flush到磁盘上。

固然闪存式电容方案也不是绝对完美的,缺点也显而易见,就是成本过高!

为什么采用可充电式电池?

一、基于可充电式电池的缓存单元价格低廉,比起基于闪存式电容的缓存单元要便宜许多;

二、可充电式电池经过循环充电已经可以知足必定的数据保护时间。

说到底仍是由于成本!

阵列卡自动充放电带来的运维问题?

一、电池寿命有限,更换周期一般是2-3年,更换须要停机操做,增长运维工做量;

二、电池自动充放电时会强制关闭缓存影响写性能,给业务性能形成很大影响,给运维带来压力;

三、因为电池问题引起的问题和故障数不胜数,增长运维团队的工做量。

为什么放弃阵列卡自动充放电功能?

一、一般服务器都是双电方案,单电源故障的更换操做可在线完成;

二、绑线规范使得电源和插头之间不会出现松动脱离的状况,更加减小了掉电的风险;

三、单个电源的月故障率远远低于磁盘、内存、阵列卡,双电同时故障几率极其低。

充放电问题的解决方案

一、缓存单元的供电方案更换成闪存式电容;

二、缓存设置为WT(写缓存开启)和CachedBadBBU(强制写缓存开启),AutoLearn仍旧周期性进行只是该过程进行阶段缓存不会被关闭;(推荐)

三、担忧AutoLearn期间电池的数据保护时间不够的话,也能够选择不强制打开写缓存,仅在业务低峰期时经过MegaCli工具人为地进行电池Relearn操做。

bb

来自 “ ITPUB博客 ” ,连接:http://blog.itpub.net/31559359/viewspace-2287151/,如需转载,请注明出处,不然将追究法律责任。

转载于:http://blog.itpub.net/31559359/viewspace-2287151/