可以在SSD上组建传统RAID吗?(2)

1、RAIDpartial-stripe写问题。在RAID5之类的Parity-RAID中,一旦发生Partial-stripe写,那么首先需要将条带中没有被更新的数据读出来,然后和新写入的数据进行合并,最后计算校验值,将新更新的数据和校验值一同写入磁盘。整个Partial-stripe写的过程就是一次“读-修改-写”。从性能的角度来看,partial-stripe写过程严重影响了性能,增加了IO延迟。更为重要的是partial-stripe写会频繁的更新parity数据。由于SSD采用的是out-of-place的数据更新方式,所以这种频繁parity数据更新会导致SSD写放大系数增大,影响SSD的使用寿命。

2、数据重构问题。传统RAID的数据重构是针对盘的。也就是说当RAID中一块盘出现故障时,RAID会将该盘从RAID组中剔除,并且找一个空闲Spare盘进行数据重构。盘级数据重构会从头至尾对SSD进行数据重构,即Spare SSD会被从头至尾写一遍。在SSD中采用FTL进行page/block映射,如果SSD中的所有page页都被耗尽,那么SSD会被迫启动Garbage Collection,使得SSD性能达到最差。

3、数据同步问题。该问题和数据重构问题类似。

4、SSD盘同时发生故障问题。Parity-RAID将条带中的数据均匀分布到所有磁盘上,使得所有磁盘上的IO均等。对于SSD盘而言,其寿命基本是相同的。因此,在RAID这种使用模式下,SSD在短时间内同时发生故障的概率是很高的。

SSD盘和磁盘相比,底层技术是完全不同的。传统RAID不能很好的配合SSD盘,使得整体性能和SSD使用寿命都会受到严重影响。因此,在SSD上建RAID不是件那么容易的事情。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17858.html