这里是普通文章模块栏目内容页
raid卡的读写策略

影响 RAID卡性能的因素很多,其中可调因素主要有 RAID 卡缓存( CACHE )大小、写策略( WRITE POLICY )、读策略( READ POLICY )、条带的大小( STRIPE SIZE )。不同的 RAID 卡虽然说法略有不同,但意思是一样的。很多设置可以在 RAID 卡的配置工具中调整。在这里我们主要讲raid卡读写策略的区别。

在创建虚拟磁盘时,会需要对其数据读写策略进行定义,以规范后续虚拟磁盘运行过程中数据的读写方式。

数据读策略
在配置界面中一般体现为“Read Policy”。RAID卡支持如下两种数据读策略:

预读取方式:在配置界面中一般体现为“Always Read Ahead”、“Read Ahead”、“Ahead”等字样。使用此策略后,从虚拟磁盘中读取所需数据时,会把后续数据同时读出放在Cache中,用户随后访问这些数据时可以直接在Cache中命中,将减少磁盘寻道操作,节省响应时间,提高了数据读取速度。
要使用该策略,要求RAID卡支持数据掉电保护功能,且如果此时超级电容异常,可能导致数据丢失。

非预读取方式:使用此策略后,RAID卡接收到数据读取命令时,才从虚拟磁盘读取数据,不会做预读取的操作。
数据写策略
在配置界面中一般体现为“Write Policy”。RAID卡支持如下三种数据写策略:

回写:在配置界面中一般体现为“Write Back”等字样。使用此策略后,需要向虚拟磁盘写数据时,会直接写入Cache中,当写入的数据积累到一定程度,RAID卡才将数据刷新到虚拟磁盘,这样不但实现了批量写入,而且提升了数据写入的速度。当控制器Cache收到所有的传输数据后,将给主机返回数据传输完成信号。
要使用该策略,要求RAID卡支持数据掉电保护功能,且如果此时超级电容异常,可能导致数据丢失。

写通:在配置界面中一般体现为“Write Through”等字样。使用此策略后,RAID卡向虚拟磁盘直接写入数据,不经过Cache。当磁盘子系统接收到所有传输数据后,控制器将给主机返回数据传输完成信号。
此种方式不要求RAID卡支持BBU,即使BBU故障,也无影响,缺点是写入速度较低。

与BBU相关的回写:在配置界面中一般体现为“Write Back with BBU”等。使用此策略后,当RAID卡BBU在位且状态正常时,RAID卡到虚拟磁盘的写操作会经过Cache中转(即回写方式);当RAID卡BBU不在位或BBU故障时,RAID卡到虚拟磁盘的写操作会自动切换为不经过Cache的直接写入(即写通方式)。
针对LSI SAS3108:

当Firmware版本为4.270.00-4382及以下时,“Write Policy”的可选参数表现为“Write Back”(回写)、“Write Through”(写通)、“Write Back with BBU”(与BBU相关的回写)。
当Firmware版本为4.650.00-6121及以上时,“Write Policy”的可选参数表现为“Always Write Back”(回写)、“Write Through”(写通)、“Write Back”(与BBU相关的回写)。