理解RAID

来源:互联网 发布:免费刷空间留言软件 编辑:程序博客网 时间:2024/06/07 22:29

        RAID技术,即Redundant Array of Independent Disks技术,也就是由独立磁盘组成的具有冗余特性的磁盘阵列。

1 RAID 0 -- 条带化

        RAID 0将一系列连续编号的数据Data分布到多个物理磁盘上,如下面一段连续的数据       

        进行条带化分布存储后,如下


        连续的数据被存储在四个磁盘上,产生两个条带(stripe),他们在磁盘相同便宜处横向逻辑分割,一个stripe横跨的扇区或者块的个数或者字节容量,即是stripe width(或者stripe length),一个stripe占用的单个磁盘的区域交个segment,一个segment上的区域数据局部连续,叫作chunk,如上图,stripe width = 4,chunk =2,而下图中,stripe width = 4,chunk = 1。

2 RAID 1 -- 副本

        RAID 1 和RAID 0不同,RAID 0对数据没有任何保护措施,每个数据没有备份或者校验保护措施,RAID 1对虚拟逻辑盘上的每个物理Block都有一个镜像备份,也就是说数据有两份。


3 RAID 3 -- 专门校验盘

        RAID 3和RAID0的思想大致一致,但是RAID 0没有校验保护,RAID 3使用了XOR对数据进行校验,那么存储时除了数据盘,还需要校验盘存储校验数据。RAID 3中每个segment一般是一个或者几个扇区的大小,对数据的分割也以扇区为单位。

       

        假如本处一个segment的大小为4个扇区,即2KB(每个扇区512B),那么控制器收到IO大小为1KB的写入请求, 也就是2个连续扇区,那么控制器就只能同时写入1个磁盘,那么会有其余的磁盘IO处于空闲状态,现在考虑IO SIZE大于条带长度的情况如果控制器收到的IO SIZE为16KB,则控制器一次所能并行写入的文件是2KB,那么这16KB就要分成8批写入条带,这里的8批中,前后两次同时写入磁盘,每次4批。

       因此可以发现与其使IO SIZE小于一个条带的大小,从而空闲出一些磁盘,不如使IO SIZE大于或者等于条带大小,取消磁盘空余。

       但是RAID 3不能并发IO,因为一个IO要占用全部盘,这是因为RAID 3中校验盘无法共享。

4 RAID 4 -- 允许并发

        RAID 3由于校验盘无法共享,导致无法IO并发,RAID 4进行了一定程度上的优化。即在磁盘控制器驱动程序的上层,也就是文件系统层将两个不同事务的IO写操作,尽可能放到相同的条带上,实现同时更新各自的校验盘。

5 RAID 5 -- 无专门校验盘

        RAID 5 是高盲并发几率,所谓盲并发几率是指上层不必感知下层的结构,即可增加并发系数。

        RAID5如上图所示,将校验盘打乱放入每个磁盘中,用于解决校验盘的争抢问题,每个条带都有一个校验segment,但是不同磁盘上位置不同,在相邻条带之间循环分布。为了保证并发IO,RAID5将条带做的比较大,保证每次IO数据不会占满整个条带。RAID磁盘数量越多,可并发的几率就越大。

6 RAID 6 -- 允许两块盘失效

        RAID 6为增加保险系数,又增加了一块校验盘,与RAID5一样分布在每个磁盘上,RAID6可以保证坏掉两块盘的时候,数据仍然可以访问。


(完)


原创粉丝点击