一、前言
1、锂电池vs超级电容
为保证服务器异常掉电后,存在于缓存的数据不出现丢失,raid卡通常会配置锂电池或超级电容用于保存缓存数据
1.1、锂电池
早期raid卡普遍使用锂电池,当异常掉电后,使用锂电池直接给板载DRAM持续供电,进入DRAM自刷新模式,因此锂电池容量需要足够大,一般被设计为足够支撑板载DRAM持续自刷新72小时,即只要异常掉电后72小时能够再次恢复供电,就不会出现缓存丢失问题
此外,锂电池还有以下两个缺点,使得目前已淘汰锂电池使用方式:
- 故障率高,丢失数据风险仍然很高
- 不易于维护,需要记录其充电次数、寿命、电量估算、漏电等数据综合评估,做出相应决策
1.2、超级电容
目前raid卡普遍使用超级电容+Flash子板,当异常掉电后,不需要持续刷新DRAM,只需要掉电之后由超级电容提供数十秒供电时间,将非正常掉电脏数据下刷到Flash中永久保存
与锂电池相对较,有以下优点:
- 采用SLC Flash,数据持久性可以保存几年,没有丢失数据风险
- 超级电容可以在50°环境下持续使用5年,维护简单
2、缓存模式
2.1、Read Policy
a、策略说明
用于配置RAID读策略,支持以下策略配置
- No Read Ahead:关闭预读取功能
- Read Ahead:开启预读取功能,控制器可以预读取顺序数据或预测需要即将使用到的数据并存储在Cache中
b、配置建议
- 对于HDD(机械硬盘)而言,读策略设置为
Read Ahead
性能更优 - 对于SSD(固态硬盘)而言,读策略设置为
No Read Ahead
性能更优
2.2、Write Policy
a、策略说明
用于配置RAID写策略,支持以下策略配置
- Write Back:当控制器Cache收到所有的传输数据后,将给主机返回数据传输完成信号
- Write Through:当硬盘子系统接收到所有传输数据后,控制器将给主机返回数据传输完成信号
- Always Write Back:在RAID控制卡无电容或电容损坏的情况下,强制使用“Write Back”模式
b、配置建议
Always Write Back
模式下,当服务器出现异常下电时,如果电容不在位或者在充电状态下,RAID控制卡中DDR(即Cache)的写数据将会丢失。不推荐使用该模式- 对于HDD(机械硬盘)而言,写策略设置为
Write Back
性能更优 - 对于SSD(固态硬盘)而言,写策略设置为
Write Though
性能更优
2.3、IO Policy
用于配置RAID I/O策略,支持以下策略配置
- direct:默认策略
- cached:
2.4、Driver Cache
a、策略说明
用于配置物理硬盘Cache策略,此操作仅对有Cache的硬盘有效,支持以下策略