【RAID技术】RAID入门级——RAID级别、原理

序言

RAID是“Redundant Array of Independent Disks“的缩写,称为"独立磁盘冗余阵列",通常简称为”磁盘阵列(DiskArray)“。通常简单来说,RAID技术就是将多个硬盘按照一定方式有机的组合在一起,形成一个大的硬盘阵列,从而提高硬盘数据的存储性能和数据备份技术。对于用户而言,操作磁盘阵列就像操作一般的单个硬盘一样,而且这样比操作单个硬盘的数据存储速度更快,并具有数据自动备份的机制。根据组成硬盘的不同方式成为RAID级别(RAID
Levels),目前主要的RAID级别有六种(RAID0,RAID1,RAID2,RAID3,RAID4,RAID5),而且还有其中的各种组合,如:RAID10(RAID0和RIAD1的组合),RAID50(RIAD0和RAID5的组合)等等。

为何有RAID技术的存在呢?在数据化快速发展的时代,数据的存储速度,数据的安全性是至关重要的,因此,RAID技术显著的特点是:速度、安全。采用RAID技术,最吸引人的地方还是其数据的备份能力,数据备份能力是指数据一旦发生丢失或者损坏后,利用备份数据能够快速地进行数据的恢复,从而保障数据的安全性。

目前RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。在Linux环境下,就可以通过系统自带的软件实现RAID功能,这样就可以替代了购买昂贵的RAID硬件控制器。(PS:通常可以采用虚拟机在Linux环境下来体验RAID技术)。由于是用软件去实现的RAID功能,所以它配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当然基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。

1、RAID级别

按照硬盘的不同方式组合及数据存放顺序,RAID级别也就不同,因此其优缺点也不尽相同。

RAID级别 优点 缺点
RAID 0 存取速度快 没有容错能力
RAID 1 完全容错 成本高
RAID 2 海明码校验 数据冗余多、速度慢
RAID 3 写入性能最好 没有多任务能力
RAID 4 具备多任务及容错能力  
RAID 5 具备多任务及容错能力  
RAID 0+1/RAID 10 速度快、完全容错 成本高

2、RAID 0原理

RAID 0也成为条带(stripe)存储,即把数据连续依次的分布存储到每个硬盘上,形成条带状,如下图所示。当系统有数据请求时,就可以被多个硬盘并行的处理,每个硬盘只需处理自己盘上的那部分数据,这种数据的并行操作,充分的提高了系统总线的负荷,从而提高了阵列整体的性能。是目前存储速度最快的一种,一旦某个硬盘发生了故障损坏,所有数据将无法恢复。

实现RAID0必须要有2个以上的硬盘,数据将分成数据块依次保存到各个硬盘上。因为数据是分布到各个硬盘上的,所有数据的读写负荷也就分布在不同的硬盘上了,其负荷就比较平衡。由于没有进行数据容错处理,一旦其中一个盘的数据发送了损坏,即使其他盘完好无损,其所有数据也是无法恢复的。RAID0不适合用于对数据稳定性要求高的数据存储,一般可以用来存储一些视频监控等数据,从而提高了数据的存储速度。

3、RAID 1原理

RAID又称为镜像存储,一种具有完全冗余的方式。可以使用2个或者2N个硬盘,一个盘用来作为数据盘,另一个或者多个盘作为镜像盘,在数据读写的过程中,同时百分之一百的将数据盘的数据也写入一份到镜像盘中,如下图所示。这种方式的数据可靠性很高,但数据的有效容量只有总容量的一半。在配备上应选择容量大小相同的硬盘,否则有效容量只有最小硬盘容量的大小。

RAID 1技术支持”热替换“机制,即在不需要断电的情况下,可以对故障盘进行替换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。

3、RAID 2原理

RAID 2又称为带海明码校验的RAID技术,和RAID
3比较相似,都是将数据条带化,分不到不同的硬盘上,然后RAID 2却应用了海明码校验来提供数据错误检查及恢复机制,如下图所示。这种校验技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更为复杂。因此,在商业环境中很少使用。下图的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。

4、RAID 3原理

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

是将数据先做XOR 运算,产生Parity Data后,在将数据和Parity Data 以并行存取模式写入成员磁盘驱动器中,因此具备并行存取模式的优点和缺点。进一步来说,RAID 3每一笔数据传输,都更新整个Stripe﹝即每一个成员磁盘驱动器相对位置的数据都一起更新﹞,因此不会发生需要把部分磁盘驱动器现有的数据读出来,与新数据作XOR运算,再写入的情况发生﹝这个情况在
RAID 4和RAID 5会发生,一般称之为Read、Modify、Write Process,我们姑且译为为读、改、写过程﹞。因此,在所有 RAID级别中,RAID 3的写入性能是最好的。

RAID 3 的 Parity Data 一般都是存放在一个专属的Parity Disk,但是由于每笔数据都更新整个Stripe,因此,RAID 3的 Parity Disk 并不会如RAID 4的 Parity Disk,会造成存取的瓶颈。

RAID 3 的并行存取模式,需要RAID 控制器特别功能的支持,才能达到磁盘驱动器同步控制,而且上述写入性能的优点,以目前的Caching 技术,都可以将之取代,因此一般认为RAID 3的应用,将逐渐淡出市场。

RAID 3 以其优越的写入性能,特别适合用在大型、连续性档案写入为主的应用,例如绘图、影像、视讯编辑、多媒体、数据仓储、高速数据撷取等等。

5、RAID 4原理

创建RAID 4需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以RAID 0方式将数据写入其它磁盘,如图所示。因为一块磁盘是为校验信息保留的,所以阵列的大小是(N-l)*S,其中S是阵列中最小驱动器的大小。就像在 RAID 1中那样,磁盘的大小应该相等。

                                           

如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据。如果两个驱动器出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入其它磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈,所以目前这个级别的RAID很少使用了。

RAID 4 是采取独立存取模式,同时以单一专属的Parity Disk 来存放Parity Data。RAID 4的每一笔传输﹝Strip﹞资料较长,而且可以执行Overlapped I/O,因此其读取的性能很好。

但是由于使用单一专属的Parity Disk 来存放Parity Data,因此在写入时,就会造成很大的瓶颈。因此,RAID 4并没有被广泛地应用。

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

6、RAID 5原理

在希望结合大量物理磁盘并且仍然保留一些冗余时,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就像 RAID 4一样,得到的 RAID5 设备的大小是(N-1)*S。

RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个驱动器上,如图4所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5 可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。

RAID 5也是采取独立存取模式,但是其Parity Data 则是分散写入到各个成员磁盘驱动器,因此,除了具备Overlapped I/O 多任务性能之外,同时也脱离如RAID 4单一专属Parity Disk的写入瓶颈。但是,RAI?D 5在座资料写入时,仍然稍微受到"读、改、写过程"的拖累。

由于RAID 5 可以执行Overlapped I/O 多任务,因此当RAID 5的成员磁盘驱动器数目越多,其性能也就越高,因为一个磁盘驱动器再一个时间只能执行一个 Thread,所以磁盘驱动器越多,可以Overlapped 的Thread 就越多,当然性能就越高。但是反过来说,磁盘驱动器越多,数组中可能有磁盘驱动器故障的机率就越高,整个数组的可靠度,或MTDL (Mean Time to Data Loss) 就会降低。

由于RAID 5将Parity Data 分散存在各个磁盘驱动器,因此很符合XOR技术的特性。例如,当同时有好几个写入要求发生时,这些要写入的数据以及Parity Data 可能都分散在不同的成员磁盘驱动器,因此RAID 控制器可以充分利用Overlapped I/O,同时让好几个磁盘驱动器分别作存取工作,如此,数组的整体性能就会提高很多。

时间: 2024-08-07 00:16:06

【RAID技术】RAID入门级——RAID级别、原理的相关文章

RAID技术介绍

RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵. 容量巨大的硬盘.RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把

oracle学习笔记 存储及raid技术概述

oracle学习笔记 存储及raid技术概述 本课以oracle数据库所运行的环境,讲一下存储和raid技术. 一)oralce生产环境里的结构 先说一下oracle所在的环境. 有一种结构: 两个服务器.两个光纤存储交换机.两个存储, 它们通过网线相互连接在一起. 每个服务器接两个交换机, 每个交换机连两个服务器同时连两个存储, 每个存储和两个交换机有连接. 这是oracle数据库相对比较典型的正规的运行环境. 每个服务器上都装Linux和oracle数据库软件, oracle数据库建在存储上

磁盘阵列 RAID 技术原理详解

RAID一页通整理所有RAID技术.原理并配合相应RAID图解,给所有存储新人提供一个迅速学习.理解RAID技术的网上资源库,本文将持续更新,欢迎大家补充及投稿.中国存储网一如既往为广大存储界朋友提供免费.精品资料. 1.什么是Raid;RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列.RAID 的基本原理是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大.价格昂贵的磁盘.目前 RAID技术大致分为两种:基于硬件的

常见RAID级别原理, Linux中软RAID实现方式详解

前言:本文章耗费作者大量时间,转载声明转自anyisalin.blog.51cto.com RAID简介 RAID(Redundant Arry of Independent Disks)独立冗余阵列,旧称(Redundant Arry of Inexpensive Disks)廉价冗余阵列,其主要目的是将多个硬盘组成在一起来达到提高I/O.读写.冗余性. RAID分为硬件RAID和软件RAID 硬件RAID通过RAID卡连接多个硬盘.或者主板中集成了RAID控制器来实现RAID的相关功能. 软

raid技术简介

Raid是什么? 独立磁盘冗余阵列(RAID,Redundant Array of Independent Disks),在早期也称为廉价磁盘冗余阵列,简称为磁盘阵列.Raid就是将两个以上的物理磁盘在逻辑上捆绑在一起,数据以条带式的形式顺序保存在各个磁盘上,对外作为一个逻辑的设备提供服务.磁盘阵列中可包含配置成Raid的磁盘和用于后备的磁盘. 简单来说,RAID把多个物理硬盘组合成为一个逻辑磁盘,因此,操作系统只会把一个raid阵列当作一个硬盘.RAID常被用在服务器计算机上,并且常使用完全相

Raid 0 1 5 10的原理、特点、性能区别

1.1 RAID介绍 RAID是磁盘冗余阵列(redundant array of independent disks)简称磁盘阵列. RAID是一种把多块独立的物理磁盘按不同的raid级别组合起形成一个磁盘组,在逻辑上看是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不同级别数据冗余备份的一种技术. 用RAID最直接的好处是: 提升数据安全性 提升数据读写性能 提供更大的单一逻辑磁盘数据容量存储 1.2.实现模式 软件磁盘阵列(software RAID),主

Raid技术精简总结

说明: 该总结来自个人的技术文档总结,代号101. 一.Raid介绍 1.Raid基本情况 Raid:磁盘阵列 ·把多块物理磁盘按不同方式组合起来形成磁盘,逻辑上是一块磁盘,这就是Raid技术: ·Raid可以提供比单个磁盘更大容量和更高性能,同时提供多种级别数据冗余备份: 2.Raid级别 Raid级别:把磁盘通过一定的技术方式做成Raid,技术方式即是Raid级别 ·Raid级别有:Raid 0.Raid 1.Raid 2.Raid 3.Raid 4.Raid 5.Raid 6.Raid 7

【转】RAID技术介绍和总结

转自http://blog.jobbole.com/83808/ 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵. 容量巨大的硬盘.RAID通常被用在服务器电脑上,使用完

Linux课程笔记 Day08 课上内容总结 Apache及Raid技术

一 http基础概念 1.1   静态网页的特点: (1)       静态网页每个页面都有一个固定的URL,而且URL一般以.htm..html..shtml等形式为后缀,而且地址中不含有问号”?” (2)       静态网页是实实在在保存在服务器上的文件,每个都是一个独立的文件 (3)       静态网页的内容相对稳定,容易被搜索引擎收录(优点) (4)       静态网页没有数据库的支持,在网站制作和维护方面工作量较大(缺点) (5)       静态网页的交互性较差,在功能方面有较