raid4 校验盘之殇
我们都知道Raid4系统时有独立校验盘的,也都知道Raid4并没有被广泛应用,而被Raid5取代了。但是鲜有人知道为何Raid4为何会被取代。Raid4的关键问题就在于它这块独立的校验盘,其产生了2个严重制约性能的问题:
1. 平时该盘不承载任何用户数据IO,只管承载校验IO,浪费资源。
2. 制约了写IO的并发性,每一笔写IO都至少要更新校验盘,而机械硬盘的并发度为1,也就是不能并发,IO必须一个一个的串行执行,所以所有的写IO就在这里被串行化,多个写IO不能同时结束,也就不能并发完成。
之前有人认为Raid4的校验盘的IO压力比较大,是所谓“热点盘”,其实这得分场景来看。一般场景下校验盘的IO压力并不高,因为读IO根本就不会访问校验盘,只有写IO会。如果单看写IO的话,校验盘所承载的写IO压力确实要比任何一块数据盘都要高。
也正因如此,Raid5通过巧妙的设计,将校验盘上的块打散在所有盘上,同样的盘数,并发度可以上来,因为任何一块盘都可以承载用户数据的IO了。而且写IO在一定几率上可以并发。在条带深度=IO Size时,小块随机写场景下每笔写IO平均占用两块盘,所以Raid5阵列的写IO并发度可以用“盘数/2”来等效计算,读IO并发度=盘数。