RAID(冗余硬盘阵列)
一. RAID定义
RAID( Redundant Array of Independent Disk 独立冗余磁盘阵列 )技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
二. RAID的几种工作模式
1. RAID 0
即Data Stripping数据分条技术。RAID 0 可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID 0 没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。
(1)RAID 0 最简单方式
就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的x倍,在电脑数据写时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块
磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n。
(2)RAID 0 的另一方式——Stripe条带模式
是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。提高系统的性能。
2. RAID 1
RAID 1 称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1 有以下特点:
(1)RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。
(2)磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
(3)只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
(5)更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
3.(1)RAID 0+1
先做条带(0),再做镜像(1)。
先对数据进行RAID 0条带化,然后将Stripe后的数据进行备份。
RAID01几乎不会在实际环境中应用,因为RAID0+1和RAID1+0在读取效率上没有差异,但是RAID0+1在安全性和可靠性低。
优点:兼顾了RAID0和RAID1的优点,在可靠性和I/O性能上有保证。只要不是数据盘和对应的镜像盘同时出现损坏,数据就能保证完整性,写功能不会受到影响。如果损坏了其中一块比如HDD0时,读性能可能会稍微降低(读取数据时可以并行操作)。
缺点:从上图可以看出,需要分出一半的磁盘组作为Mirror,因此空间利用率只有50%,成本大。
(2)RAID 1+0
先做镜像(1),再做条带(0)。
比如,有HDD0~HDD7共7个磁盘,其中HDD0~HDD3是数据盘,HDD4~HDD7是对应的镜像盘。同时,有”ABCD”四个数据的磁盘写请求。
当数据A的写请求在磁盘HDD0上执行时,就在对应的镜像盘HDD4中进行镜像A’。与此同时,按照与数据A类似的步骤,并行在相应磁盘中写入数据B、数据C和数据D。
4. RAID 2
可以认为是RAID0的改进版,加入了汉明码(Hanmming Code)错误校验。电脑在写入数据时在一个磁盘上保存数据的各个位,同时把一个数据不同的位运算得到的海明校验码保存另一组校验磁盘上,使用校验磁盘作为错误检查和纠正ECC(Error Correcting Code)
盘。如下图,A0-A3四个盘是数据盘,Ax-Az三个盘是校验盘。由于海明码可以在数据发生错误的情况下将错误校正,以保证输出的正确。但海明码使用数据冗余技术,使得输出数据的速率取决于驱动器组中速度最慢的磁盘。RAID 2控制器的设计简单。
RAID2技术过于极端,目前基本已经被淘汰了。根据原理,RAID2需要在IO数据到来之后,控制器将数据按Bit分开,顺序并同时在每个数据盘和相应校验盘中存放1Bit,而磁盘上的IO最小单位是扇区512B,那么如何确保写入1Bit并且不至于浪费过多空间的算法就很复
杂。此外,需要占用相对较多的校验盘也是原因之一。
5. RAID 3:带奇偶校验码的并行传送
RAID 2的缺点主要是将数据以bit位作为单位来分割,将原本物理连续的扇区转变成了物理不连续、逻辑连续的,这样导致效率低下。RAID3 就准备从根本上就绝这个问题。
在一个磁盘阵列中,一般情况下多于一个磁盘出现故障的几率是很小的,所有一般情况下,RAID3的安全性还是有保障的。
同RAID2一样,由于需要多磁盘同时联动,同时还需要校验。显然,RAID3不适用于有大量写操作的情况,因为这样会使得校验盘的负荷较大,降低RAID系统的性能。RAID3 常用于写操作较少,读操作较多的应用环境,比如数据库和WEB服务器。
校验算法只能判断数据是否有误,不能判断出有那一位有误,更不能更正错误。
6. RAID 4
RAID4即带奇偶校验码的独立磁盘结构,RAID 4和RAID 3很象,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘,RAID 4的特点和RAID 3也挺象,不过在失败恢复时,它的难度可要比RAID 3大得多了,控制器的设计难度也要大许多,而且访问
数据的效率不怎么好。
7. RAID 5
RAID 5把校验块分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。RAID 5的读出效率很高,写入效率一
般,块式的集体访问效率不错。RAID 5提高了系统可靠性,但对数据传输的并行性解决不好,而且控制器的设计也相当困难。
8. RAID 6
RAID 6即带有两种分布存储的奇偶校验码的独立磁盘结构,它是对RAID 5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性
所花费的时间比较多,造成了不必须的负载,很少人用。
9. RAID 7
RAID 7即优化的高速数据传送磁盘结构,它所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性和系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议
进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,当多用户访问系统时,访问时间几乎接近于0。但如果系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作,RAID 7系统成本很高。
10. RAID 10
RAID 10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的。这种新结构的价格高,可扩充性不好。
三、应用RAID技术
要使用磁盘RAID主要有两种方式,第一种就是RAID适配卡,通过RAID适配卡插入PCI插槽再接上硬盘实现硬盘的RAID功能。第二种方式就是直接在主板上集成RAID控制芯片,让主板能直接实现磁盘RAID。这种方式成本比专用的RAID适配卡低很多。此外还可以用Windows 2000 /xp 或 linux系统做成软RAID 。个人使用磁盘RAID主要是用RAID 0、 RAID 1或RAID 0+1工作模式。
参考一:https://www.cnblogs.com/emanlee/archive/2011/08/27/2155766.html
参考二:http://storage.chinabyte.com/296/13892796.shtml
RAID(冗余硬盘阵列)的更多相关文章
- RAID对硬盘的要求及其相关
Raid 0:至少需要两块硬盘,磁盘越多,读写速度越快,没有冗余. Raid 1:只能用两块硬盘,两块硬盘的数据互为镜像(写慢,读快),一块磁盘冗余. Raid 5:至少需要3块硬盘,一块磁盘冗余. ...
- RAID冗余磁盘阵列的创建
RAID 0 :条带化,数据被拆分到多个驱动中,写速度最快,但并没有数据镜像或校验信息. RAID 1 :镜像化,完全磁盘镜像,在独立磁盘上创建数据的两份拷贝,这个级别提供最好的数据安全,但写速度慢. ...
- RAID一个硬盘FAIL。
周六本想清静学习一下,刚把咖啡冲好还没有来得及坐下,机房却传来让人心揪的报警声,原来一台服务器一个硬盘FAIL(挂了...... 抽换好的一个容量大小的SCSI硬盘,再次进入这个介面,选择Force ...
- RAID配置多阵列
感谢: https://www.cnblogs.com/hystj/articles/8672029.html
- [转] ESXI6.5 误将硬盘阵列卡配置为passthru直通模式后, 找不到硬盘的问题
There is no easy way to do it, it seems. So I wanted to say that I couldn't afford to do an upgrade ...
- 独立硬盘冗余阵列与HDFS
http://zh.wikipedia.org/wiki/RAID 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Re ...
- RAID详解[RAID0/RAID1/RAID10/RAID5]
一.RAID定义RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘 ...
- 转载: RAID详解[RAID0/RAID1/RAID10/RAID5]
一.RAID定义 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁 ...
- Dell R720上的系统安装问题的解决办法(关于RAID建立磁盘阵列的技术)
摘要:本篇是本人在搭建大数量存储.搜索环境时,对于使用Dell PowerEdge R720 and R720xd作为服务器所遇到的一些问题进行的总结. 开始时,我们使用Dell提供的安装光盘(蓝色) ...
随机推荐
- python入门16 递归函数 高阶函数
递归函数:函数内部调用自身.(要注意跳出条件,否则会死循环) 高阶函数:函数的参数包含函数 递归函数 #coding:utf-8 #/usr/bin/python """ ...
- (String)、toString()与String.valueOf()的区别
(String).Object.toString()正常情况下跟String.valueOf()没有区别. 但当Object是null的时候.toString会抛出异常.valueOf返回" ...
- VMware,win7与linux centos6.4文件互传,linux下挂载windows共享文件夹,vmware tools安装方法
本方法是以win7,VMware9.0.1 ,centos6.4为基础实验的. 对于linux的初级使用阶段,都会Windows中使用linux虚拟机VMWare或者其它的.在Windows与linu ...
- 笔记本win8系统共享wifi上网方法
华硕笔记本电脑,安装了win8系统,使用wifi上网,由于连接无线路由的机器太多,超过路由连接数上限,因此转为使用笔记本共享wifi方式给手机上网. 最终上网方式为: 笔记本网卡接入无线路由器上网,笔 ...
- 解决 Your project contains error(s),please fix them before running your applica ..
解决 Your project contains error(s),please fix them before running your application问题 http://www.cnblo ...
- 【Linux-CentOS】CentOS安装Win双系统后Win启动项丢失及默认启动项修改
转载自:搁浅bky,有部分更正,建议看此文. 1.Windows启动项消失的原因: 在安装Win7.8/10系统+CentOS7双系统后,默认会将mbr(Main Boot Record)改写为g ...
- 使用Dapper处理多个结果集和多重映射的教程
在本文中,我们将介绍如何使用DAPPER从单个数据库调用中读取数据库中的多个结果集.我们将看看我们可能希望这样做的场景,以及如何使用它的Query和QueryMultiple方法更简洁地实现这一点. ...
- 【Nowcoder 上海五校赛】1 + 2 = 3?(斐波那契规律)
题目描述 小Y在研究数字的时候,发现了一个神奇的等式方程,他屈指算了一下有很多正整数x满足这个等式,比如1和2,现在问题来了,他想知道从小到大第N个满足这个等式的正整数,请你用程序帮他计算一下. (表 ...
- ABAP术语-Business Object
Business Object 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/07/1028364.html Represents a ce ...
- Keras模型的保存方式
Keras模型的保存方式 在运行并且训练出一个模型后获得了模型的结构与许多参数,为了防止再次训练以及需要更好地去使用,我们需要保存当前状态 基本保存方式 h5 # 此处假设model为一个已经训练好的 ...