关于RAID 一些概念

转自: 关于RAID的一些概念

RAID 技术入门


独立磁盘冗余阵列( RAID ) 的初衷主要是为了大型服务器提供高端的存储功能和冗余的数据安全。 RAID 系统使用许多小容量磁盘驱动器来存储大量数据, 它通过在多个硬盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量( Throughput ),而且在很多 RAID 模式中都有较为完备的相互校验 / 恢复的措施,甚至是直接相互的镜像备份,从而大大提高了 RAID 系统的容错度,提高了系统的稳定冗余性,这也是 Redundant 一词的由来。 对计算机 系统 来说,这样一个由多个磁盘驱动器构成的阵列就是一个逻辑单元 ,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样 。
RAID 组建的方式多种多样。某些类型的 RAID 强调性能,某些则强调可靠性、容错或纠错能力。因此,可根据要完成的任务来选择类型。
不过,所有的磁盘阵列( RAID 0 除外)有着共同的特点——也是其真正的优点就是“热交换”的能力:用户可以取出一个存在缺陷的磁盘,并插入一个新的予以更换。常规的备份和镜像软件速度较慢,而且,如果一个磁盘出现故障,则往往需要中断系统。对大多数类型的 RAID 来说,可以不必中断服务器或系统,就可以自动利用镜像或奇偶信息来通过剩余的磁盘重建出故障磁盘上的数据,而不必中断系统。
RAID 技术问世时是基于 SCSI 接口, 一直是 SCSI 领域的独有产品, 因 当时的技术与成本较 高 也限制了其在低端市场的发展 ,因此主要面向服务器等高端应用。
今天, 在市场的带动下,用于个人计算机的 IDE 接口设备价格大幅降低,同时性能大幅提高。但是, RAID 技术仍只基于 SCSI 接口,普通的 PC 用户在羡慕 RAID 技术的好处的同时,却无法拥有 RAID 。随着个人计算机的大众化一些厂商看到了 RAID 在低端用户中蕴涵的巨大市场, 经过不断努力将日益成熟的 RAID 技术 移植到 IDE 和 SATA 接口上,推出了基于 IDE 和 SATA 接口的 RAID 应用,称为 IDE RAID 或 SATA RAID 。而基于 SCSI 接口的 RAID 应用则相应称为 SCSI RAID 。 我们已经能够享受到相对成本低廉得多的 IDE RAID 系统 。
虽然 IDE/SATA RAID 的稳定与可靠性还不可能与 SCSI-RAID 相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。事实上,对于日常的低强度操作, IDE RAID 已足能胜任了。 与 SCSI RAID 相比, IDE RAID 具有极低的价格,和一点也不逊色的性能表现,相应的, IDE RAID 解决方案就具有 SCSI RAID 无法比拟的高性价比。因此 IDE RAID 自推出后,受到普通 PC 用户和普通商业应用的普遍欢迎。 RAID 对于普通的用户来说,再也不是什么奢侈的技术了。


RAID-0 等级


Striped Disk Array without Fault Tolerance( 没有容错设计的条带磁盘阵列)

图中一个圆柱就是一块磁盘(以下均是),它们并联在一起。从图中可以看出, RAID 0 在存储数据时由 RAID 控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘。如果发挥一下想象力,你会觉得数据 象 一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的。至于每个条带的深度则要看所采用的 RAID 类型,在 NT 系统的软 RAID 0 等级中,每个条带深度只有 64KB 一种选项,而在硬 RAID 0 等级,可以提供 8 、16 、32 、 64 以及 128KB 等多种深度参数。 Striped 是 RAID 的一种典型方式,在很多 RAID 术语解释中,都把 Striped 指向 RAID 0 。在读取时,也是顺序从阵列磁盘中读取后再由 RAID 控制器进行 组合再 传送给系统,这也是 RAID 的一个最重要的特点。
RAID-0 结构图解
这样,数据就等于并行的写入和读取,从而非常有助于提高存储系统的性能。对于两个硬盘的 RAID 0 系统,提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时 缯 加的数据分割与组合等与 RAID 相关的操作处理时间,但比单个硬盘提高 50% 的性能是完全可以的。
  不过, RAID 0 还不能算是真正的 RAID ,因为它没有数据冗余能力。由于没有备份或校验恢复设计,在 RAID 0 阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的。下面总结一下 RAID 0 的特点
这里写图片描述


RAID-1 等级


Mirroring and Duplexing (相互镜像)

对比 RAID 0 等级,我们能发现硬盘的内容是两两相同的。这就是镜像 —— 两个硬盘的内容完全一样,这等于内容彼此备份。比如阵列中有两个硬盘,在写入时, RAID 控制器并不是将数据分成条带而是将数据同时写入两个硬盘。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复。注意,这两个硬盘并不是主从关系,也就是说是相互镜像 / 恢复的。
这里写图片描述
RAID 1 已经可以算是一种真正的 RAID 系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量。下面总结一下 RAID 1 的特点:
这里写图片描述


RAID-5 等级


Independent Data disks with distributed parity blocks (独立的数据磁盘与分布式校验块)

今天我们将介绍在高级 RAID 系统中最常见的等级 ——RAID 5 ,由于其出色的性能与数据冗余平衡设计而被广泛采用。与 RAID 3 、 4 一样,它也是一种即时校验 RAID 系统,但设计更为巧妙,而管理也相对复杂。其结构见图:
这里写图片描述
与RAID 4相对照,我们可以发现它仍采用了数据块的存储方式,但没有独立的校验硬盘,这是因为它在每个独立的数据盘中都开辟了单独的区域用于存储同级数据的XOR校验数据,至于什么是同级数据,在上一期中已经讲过了。在写入时,同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性。从图中可以发现,RAID 5的硬盘利用率较高,数据吞吐量比较容易得到发挥。
RAID 5是目前最常用的高级RAID等级,是RAID 3、4的理想替代者,许多高档RAID控制器都提供了对RAID 5的支持,并以此做为高档RAID系统的标志。
下面就来总结一下RAID 5的特点:
这里写图片描述


RAID-10 等级


Very High Reliability combined with High Performance (高可靠性与高性能的组合)

RAID 10 是建立在 RAID 0 和 RAID 1 基础上的,具体的组合结构看图:
这里写图片描述
从中可以看出, RAID 1 在这里就是一个冗余的备份阵列,而 RAID 0 则负责数据的读写阵列。其实,图 1 只是一种 RAID 10 方式,更多的情况是从主通路分出两路(以 4 个硬盘时为例),做 Striping 操作,即把数据分割,而这分出来的每一路则再分两路,做 Mirroring 操作,即互做镜像。这就是 RAID 10 名字的来历(也因此被很多人称为 RAID 0+1 ),而不是像 RAID 5 、 3 那样的全新等级。

由于利用了 RAID 0 极高的读写效率和 RAID 1 较高的数据保护、恢复能力,使 RAID 10 成为了一种性价比较高的等级,目前几乎所有的 RAID 控制卡都支持这一等级。但是, RAID 10 对存储容量的利用率和 RAID 1 一样低,只有 50% 。下面就让我们总结一下它的特点:
这里写图片描述


RAID-53 等级


High I/O Rates and Data Transfer Performance (高带宽与数据传输性能)

与 RAID 10 一样, RAID 53 也是一种组合 RAID 等级,但不要拿 RAID 10 的观点套用,认为它是 RAID 5 和 RAID 3 的组合,事实上, RAID 53 应该称为 RAID 30 或 RAID 03 (也可以说是 RAID 0+3 ),即 RAID 3 与 RAID 0 的组合,具体形式见图:
这里写图片描述
与图 1 相对比,可以发现, RAID 53 中将备份等级由 RAID 0 变为了 RAID 3 ,也就是说把原来的镜像阵列变成了分割式( Segments )存储阵列。但它不是对每个 RAID 0 硬盘都用一个 RAID 3 系统进行,而是用 RAID 3 对所有数据进行冗余存储(或者说是校验),而且读写与 ECC 效率比 RAID 0 要高不少。
值得注意的是, RAID 3 在 RAID 53 的数据传输中占有相当重要的位置。在介绍 RAID 3 时,曾说过它有很高的读写传输率。因此,在进行大数据量吞吐时,由于 RAID 3 的传输率高的缘故, RAID 53 的性能要比 RAID 10 好(因为冗余备份的时间缩短)。而且,借助于 RAID 0 ,其 I/O 带宽并没有降低。不过,从它的配置形式上就可以看出来,它的存储空间利用率要比 RAID 10 低,为 40% 。下面就让我们总结一下 RAID 53 的特点:
这里写图片描述


软硬RAID比较


与Modem一样,RAID也有全软、半软半硬与全硬之分,全软RAID就是指RAID的所有功能都是操作系统(OS)与CPU来完成,没有第三方的控制/处理(业界称其为RAID协处理器——RAID Co-Processor)与I/O芯片。这样,有关RAID的所有任务的处理都由CPU来完成,可想而知这是效率最低的一种RAID。半软半硬RAID则主要缺乏自己的I/O处理芯片,所以这方面的工作仍要由CPU与驱动程序来完成。而且,半软半硬RAID所采用的RAID控制/处理芯片的能力一般都比较弱,不能支持高的RAID等级。全硬的RAID则全面具备了自己的RAID控制/处理与I/O处理芯片,甚至还有阵列缓冲(Array Buffer),对CPU的占用率以及整体性能是这三种类型中最优势的,但设备成本也是三种类型中最高的。早期市场上所出现的使用HighPoint HPT 368、370以及PROMISE芯片的IDE RAID卡与集成它们的主板都是半软半硬的RAID,并不是真正的硬RAID,因为它们没有自己专用的I/O处理器。而且,这两个公司的RAID控制/处理芯片的能力较弱,不能完成复杂的处理任务,因此还不支持RAID 5等级。著名的Adpatec公司所出品的AAA-UDMA RAID卡则是全硬RAID的代表之作,其上有专用的高级RAID Co-Processor和Intel 960专用I/O处理器,完全支持RAID 5等级,是目前最高级的IDE-RAID产品。表1 就是典型的软件RAID与硬RAID在行业应用中的比较。


补充资料


CSDN下载:介绍RAID的文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值