磁盘阵列(RAID)简介

资料

RAID(Redundant Arrays of Inexpensive Disks 廉价磁盘冗余阵列)即磁盘阵列,磁盘阵列是由多个价格比较便宜的磁盘组合成的一个容量巨大的磁盘组,其原理是利用数组方式来制作磁盘组,配合数据分散排列的设计,配合数据分散排列的设计,提升数据的安全性。它把数据分别存放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能,因为有多个硬盘,增加了平均故障间隔时间,储存了冗余数据,增加了容错机制。


1.RAID 0:无差错控制的带区组

RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输速率,但没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯提高性能。并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响所有的数据。因此RAID 0不能应用于数据安全性要求高的场合。组成RAID 0最少需要一块硬盘。图中RAID 0中的block1至block8是一组数据,按照顺序存储在两个硬盘中,从图中可以看到数据存储并没有冗余,如其中一块磁盘出现故障将有部分数据丢失。

enter image description here

2.RAID 1:镜象结构

RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,,但它提供了很高的数据安全性的可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,温柔不需要重组失效的数据,组成RAID 1最少需要两块硬盘。图中RAID 1分别在Disk1和Disk2中存储了相同两份数据,如果其中一个出现故障,数据将不会丢失,更换新盘后将自动复制一份到新盘中。

enter image description here

3.RAID 10 与 RAID 01

根据组合分为RAID 10RAID 01,其实是将RAID 0 与 RAID 1标准结合的产物。在连续的以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘制作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度与RAID 1数据高可靠性,但是CPU占用率也同样很高,而且磁盘利用率比较低。RAID 1+0是先镜像再条带化数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各视为RAID1运作。RAID 0+1RAID 1+0正好相反,是先条带再将数据镜像到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。性能上,RAID 0+1RAID 1+0拥有更快的读写速度。可靠性上,当RAID 1+0有一块硬盘受损时,其余三块硬盘会继续运作。而RAID 0+1只要有一块硬盘受损,同组的另一块硬盘亦会停止运作,可靠性较低。

enter image description here

4. RAID 5:分布式奇偶校验的独立磁盘结构

RAID 5不单独指定奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可以同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读取旧的数据及奇偶信息,两次写入新的数据及奇偶信息。组成RAID 5至少需要三块磁盘。图中block 1ablock 2ablock 3a表示一组数据,parity是这组的校验数据,如block 2a所在的磁盘diak 2出现故障,可以通过block 1ablock 3aparity数据来推算block 2a的结构并进行重构,如一块磁盘出现故障并不会导致数据丢失,连续两块磁盘出现故障将导致数据丢失。

enter image description here

5.其余RAID

RAID2:带海明码校验

 
从概念上讲,RAID 2 同RAID 3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。已被淘汰 

RAID3:带奇偶校验码的并行传送

 
这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度,它象RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。

RAID4:带奇偶校验码的独立磁盘结构

 
RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点的RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。

RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构

 
名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。

RAID7:优化的高速数据传送磁盘结构

RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。 

RAID10:高可靠性与高效磁盘结构

这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的数据库中。

原创文章,作者:zero,如若转载,请注明出处:http://www.178linux.com/73615

(1)
上一篇 2017-04-17 21:46
下一篇 2017-04-17 22:21

相关推荐

  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash LOGIN_USER=0 NOLOGIN_USER=0 for SHELLUSER in $(cat /etc/passwd | cut -d : -f 7);do…

    Linux干货 2017-07-03
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现;    #!/bin/bash     echo "可登录类型有有$(awk -F: '/[^\<nologin\&gt…

    Linux干货 2017-02-07
  • 马哥教育网络班21期-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash m=0 n=0 for i in `awk -F: '{print $NF}'&nb…

    Linux干货 2016-09-15
  • N25-第四周作业

    第四周 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zf ~]# cp -r /etc/skel/ /home/tuser1 [root@zf ~]# chmod -R&nbs…

    Linux干货 2016-12-21
  • 马哥M20-1第一周作业

    作业1:通过echo实现字体闪烁,添加下划线,改变颜色      (1)添加下划线    (2)字体闪烁   (3)改变颜色 作业2:显示前10天的年月日 作业3:screen的使用

    Linux干货 2016-07-29
  • http配置文件中文文档

    Apache中Httpd.conf详解 Apache 的 httpd.conf 详解 # # Apache服务器主配置文件. 包括服务器指令的目录设置. # 详见 <URL:http://www.apache.org/docs/>  # # 请在理解用途的基础上阅读各指令。 # # 再读取此文档后,服务器将继续搜索运行 # E:/Pro…

    Linux干货 2017-08-08

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:17

    主要介绍了RAID的分类及特性,内容总结的很详细,排版也很好,但是在排版上有一些图片没能正常的显示出来,在下次写博客的时候要检查一下,或者把图片再改改