磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
简介
独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,谈到了RAID这个词汇,而且定义了RAID的5层级。伯克利大学研究目的是反映当时CPU快速的性能。CPU效能每年大约成长30~50%,而硬磁机只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升效能来平衡计算机的运算能力。在当时,柏克莱研究小组的主要研究目的是效能与成本。
另外,研究小组也设计出容错(fault-tolerance),逻辑数据备份(logical data redundancy),而产生了RAID理论。研究初期,便宜(Inexpensive)的磁盘也是主要的重点,但后来发现,大量便宜磁盘组合并不能适用于现实的生产环境,后来Inexpensive被改为independent,许多独立的磁盘组。
功能
RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
分类
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。
内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。
利用软件仿真的方式,是指通过 络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。
原理
磁盘阵列作为独立系统在主机外直连或通过 络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。
优缺点
优点
提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。
缺点
RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。
RAID0+1以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。
RAID级别
RAID 0
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID4
RAID4(带奇偶校验码的独立磁盘结构)。RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
RAID5

RAID5(分布式奇偶校验的独立磁盘结构)。从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的
意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6
RAID6是带两种分布存储的奇偶校验码独立磁盘结构。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
RAID7
RAID7(优化的高速数据传送磁盘结构)。RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
RAID10(高可靠性与高效磁盘结构)
RAID10(高可靠性与高效磁盘结构)。这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。
RAID53(高效数据传送磁盘结构)
RAID53(高效数据传送磁盘结构)。越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。
RAID 5E(RAID 5 Enhancement)
RAID 5E是在RAID 5级别基础上的改进,与RAID 5类似,数据的校验信息均匀分布在各硬盘上,但是,在每个硬盘上都保留了一部分未使用的空间,这部分空间没有进行条带化,最多允许两块物理硬盘出现故障。看起来,RAID 5E和RAID 5加一块热备盘好像差不多,其实由于RAID 5E是把数据分布在所有的硬盘上,性能会比RAID5 加一块热备盘要好。当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID 5级别。
RAID 5EE
与RAID 5E相比,RAID 5EE的数据分布更有效率,每个硬盘的一部分空间被用作分布的热备盘,它们是阵列的一部分,当阵列中一个物理硬盘出现故障时,数据重建的速度会更快。
实现方法
软件RAID
使用基于主机的软件提供RAID 功能,是在操作系统级上实现的,与硬件RAID相比,软件RAID具有成本低廉和简单直观的优点。但是,软件RAID有以下不足。
(1)性能:软件RAID 会影响系统整体性能。这是因为软件RAID 需要CPU 来执行RAID 计算。
(2)功能:软件RAID 支持有限的RAID 级别。
(3)兼容性:软件RAID 与主机操作系统绑定,因此,需要对软件RAID或操作系统升级进行兼容性验证,只有当RAID 软件和操作系统兼容时,才能对其进行升级,这会降低数据处理环境的灵活性。
硬件RAID
包括基于主机的硬件RAID和基于阵列的硬件RAID。基于主机的硬件RAID通常是将专用RAID控制器安装在主机上,并且所有磁盘驱动器都与主机相连,有的制造商还将RAID控制器集成到主板上。但是基于主机的硬件RAID 控制器在包含大量主机的数据中心环境下却不是高效的解决方案。而基于阵列的硬件RAID是使用外部硬件RAID控制器,它充当主机与磁盘之间的接口,将存储卷呈现给主机,主机将这些卷作为物理驱动器进行管理。硬件RAID控制器具有如下主要特点:
(1)管理与控制磁盘聚合;
(2)转换逻辑磁盘和物理磁盘之间的I/O 请求;
(3)在磁盘出故障时重新生成数据。
1、DAS–direct access storage device直接访问存储设备
DAS以服务器为中心,传统的 络存储设备都是将RAID硬盘阵列直接连接到 络系统的服务器上,这种形式的 络存储结构称为DAS( Direct Attached Storage)。
2、NAS–Network Attached Storage 络附加存储设备
NAS以数据为中心,NAS是 Network Attached Storage的简称,中文称为直接联 存储在NAS存储结构中,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过 络接口与 络直接相连,由用户通过 络访问。
3、SAN–Storage Area Networks存储区域
SAN以 络为中心,存储区域 络(SAN是一种类似于普通局域 的高速存储 络。SAN提供了一种与现有LAN连接的简易方法,允许企业独立地增加它们的存储容量,并使 络性能不至于受到数据访问的影响。这种独立的专有 络存储方式使得SAN具有不少优势:可扩展性高;存储硬件功能的发挥不受LAN的影响;易管理;集中式管理软件使得远程管理和无人值守得以实现;容错能力强。
SAN主要用于存储量大的工作环境,如医院大型PACS等,但现在由于需求量不大成本高而影响了SAN的市场。
磁盘阵列维护
加强磁盘阵列的日常管理与维护,是保证磁盘阵列正常、高效工作的重要手段。作为一名存储的管理人员,日常维护中应该关注以下:
①设置热备源盘
将一只硬盘设置为热备源盘,会造成一定的浪费,但从安全角度考虑是值得的。大容量的磁盘阵列使用RAID5,但有一个硬盘的冗余。如果一个硬盘损坏,整个阵列的安全会处于一种临界状态,此时任何一个硬盘的一点点闪失都会造成灾难性的后果,使数据全部丢失。设置有热备源盘,当硬盘发生故障时,系统会自动用热备源盘去替换故障盘并重建阵列,随后数据又会处于完全保护之中。
②重要数据勤备份
应该经常对特别重要的数据进行备份,这样就不至于将“鸡蛋放在一个篮子里”,即使是安全性较高的磁盘阵列也不会绝对安全。
③建立巡视检查制度
磁盘阵列还能够工作,并不表示没有发生故障。当磁盘阵列发生故障时,磁盘阵列存储系统的数据读写通常是正常的。这正是磁盘阵列的一种安全性措施,但往往又让管理人员产生一种错觉,以为磁盘阵列没有故障发生。对磁盘阵列定时的巡视检查,既可以发现已经发生的故障,还可以了解设备的工作状态,起到防患于未然的作用。
固态硬盘RAID技术
目前,针对固态硬盘的RAID阵列技术主要有三类,其中固态硬盘和机械硬盘组合搭建的混合式RAID阵列实现了两者特性的互补。随着固态硬盘的性价比不断提高,推进了固态硬盘与固态硬盘组合形成的RAID阵列以及固态硬盘的闪存芯片与芯片组合形成的纯固态硬盘RAID阵列的研发进程。由于目前固态硬盘价格高于机械硬盘,固态硬盘与机械硬盘构成的混合式RAID阵列与其他纯固态硬盘RAID阵列相比,在成本控制方面有较大的优势。但在性能与可靠性方面,多个固态硬盘构成的RAID阵列要优于固态硬盘与机械硬盘构成的混合式RAID阵列,而目前大多数固态硬盘厂商都采用固态硬盘内部的芯片级RAID阵列来进一步提升性能,降低功耗。
对嵌入式RAID阵列技术的iRAID,这种结构的初步研究结果表明,RAID系统将不再是一群独立的驱动器,未来将可能只有一个单一的高密度磁盘。这将使这些存储系统的磁盘阵列,如云存储系统,在性能、功率消耗、体积方面有更大的改善,成本进一步降低,同时也更容易维护。由此,嵌入式RAID技术将会成为固态硬盘RAID阵列技术的主要研究方向之一,具有广阔的应用前景,涉及教育、娱乐、国防等多个应用领域,特别是在航空、军事等工作环境复杂程度高、数据安全级别要求高的领域,将会有大的作为。另外,因目前评估固态硬盘RAID的可靠性方面的研究较少,需要尽快完善针对RAID可靠性的评价体系及方法,由此可靠性分析研究也将成为固态硬盘RAID阵列技术的研究重点之一。
除此之外,下面两方面也会在固态硬盘RAID阵列技术研究中受到关注。
- 大数据存储结构与搜索引擎研究。数据存储系统是确定数据挖掘性能和成本的核心。新型的大数据存储架构可整合分布式以及嵌入式搜索引擎内的每一个存储驱动器,突破数据吞吐量和数据访问存储系统的限制,提升大数据存储接口的带宽。
- 快速重建机制研究。固态硬盘的RAID结构采用相应的重建机制,将加快从统计错误到恢复数据等整个重建的进程,同时有助于降低重建过程中数据丢失的风险。重建机制对于一个完善的固态硬盘RAID结构来说是不可或缺的,需要根据其RAID阵列特点进行开发并优化处理。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!