Chinaunix首页 | 论坛 | 博客
  • 博客访问: 138505
  • 博文数量: 34
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 331
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-15 14:11
文章存档

2009年(1)

2007年(19)

2006年(14)

我的朋友

分类: 服务器与存储

2007-06-14 12:58:44

RAID的概述
RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。在1987年由美国柏克莱大学提出RAID(Redundant Arrayof Inexpensive Disks)理论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,巳经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的稳定性。

标准的RAID写操作,包括如:RAID4或RAID5中所必需的校验计算,需包括以下几个步骤:

(1)以校验盘中读取数据

(2)以目标数据盘中读取数据

(3)以旧校验数据,新数据及已存在数据,生成新的校验数据

(4)将新校验数据写入校验盘

(5)将新数据写入目标数据盘

当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制器完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cache写入阵列硬盘中。

这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存最上面的位置,只有新数据才会被控制器按Write-Back Cache的方式最后写入硬盘。

RAID级别

NRAID:

硬盘连续使用。NRAID 意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID 不提供资料的备余。

JBOD:

JBOD 的含意是控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此外,JBOD并不提供资料备余的功能。


RAID0:RAID 0 - Disk Stripping without parity (常用)

又称数据分块,即把数据分成若干相等大小的小块,并把它们写到阵列上不同的硬盘上,这种技术又称“Stripping”(即将数据条带化),这种把数据分布在多个盘上,在读写时是以并行的方式对各硬盘同时进行操作。从理论上讲,其容量和数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。当然,若阵列控制器有多个硬盘通道时,对多个通道上的硬盘进行RAID0操作,I/O性能会更高。因此常用于图象,视频等领域,RAID0 I/O传输率较高,但平均故障时间MTTF只有单盘的N分之一,因此RAID0可靠性最差。


RAID1:RAID 1 - Disk Mirroring(较常用)

又称镜像。即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠性很高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场合,如财政、金融等领域。


RAID (0+1):

结合了RAID 0 和 RAID 1 — 条块化读写的同时使用镜像操作。 RAID (0+1) 允许多个硬盘损坏,因为它完全使用硬盘来实现资料备余。如果有超过两个硬盘做RAID 1,系统会自动实现RAID (0+1)。

RAID2:

又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,运用于大数据的读写,但冗余信息开销太大(校验盘为多个),已被淘汰。

RAID3:RAID 3 - Parallel Disk Array

为单盘容错并行传输。即采用Stripping技术将数据分块,对这些块进行异或校验,校验数据写到最后一个硬盘上。它的特点是有一个盘为校验盘,数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发生故障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对剩余数据盘和校验盘的异或计算重构故障盘上应有的数据来进行的。RAID3的优点是并行I/O传输和单盘容错,具有很高可靠性。缺点:每次读写要牵动整个组,每次只能完成一次I/O。


RAID4:

与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,无须像RAID3那样,哪怕每一次小I/O操作也要涉及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而提高了小量数据I/O速度。缺点:对于随机分散的小数据量I/O,固定的校验盘又成为I/O瓶颈,例如:事务处理。作两个很小的写操作,一个写在drive2的stripe1 上,一个写在drive3的stripe2上,它们都要往校验盘上写,所以发生争用校验盘的问题。

RAID5:RAID 5 - Striping with floating parity drive(最常用)

是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀地分布在阵列所属的硬盘上,所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5即适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。

RAID3、RAID5中,在一块硬盘发生故障后,RAID组从ONLINE变为DEGRADED方式,但I/O读写不受影响,直到故障盘恢复。但如果DEGRADED状态下,又有第二块盘故障,整个RAID组的数据将丢失。


 

##  RAID技术的应用

DAS --direct access storage device直接访问存储设备

DAS是磁盘存储设备的术语,以前被用在大、中型机上。使用在PC机上还包括硬盘设备DAS的最新形式是RAID。“直接访问”指访问所有数据的时间是相同的。

NAS --Network Attached Storage 网络附加存储设备

一种特殊目的的服务器,它具有嵌入式的软件系统,可以通过网络对个种的系统平台提供文件共享服务

SAN --Storage Area Networks 存储区域网

一种高速的专用网络,用于建立服务器、磁盘阵列和磁带库之间的一种直接联接。它如同扩展的存储器总线,将专用的集线器、交换器以及网关或桥路互相连接在一起。 SAN 常使用光纤通道。一个 SAN 可以是本地的或者是远程的,也可以是共享的或者是专用的。SAN 打破了存储器与服务器之间的束缚,允许你独立地选择最佳的存储器或者是最佳的服务器,从而提高可扩性和灵活性

##  RAID全攻略
    计算机制造商们全面打起了提速战。作为计算机最重要的外部存储设备,硬盘当然也不甘落后,相继推出速度更快的硬盘。即便如此,硬盘存储仍然摆脱不了系统性能瓶颈的角色。不仅如此,硬盘存储在数据安全上也是问题多多。现在人们的工作已无法摆脱计算机,这一方面使得人们的工作效率大大提高,但潜在的危险也是明摆着的:一旦硬盘的数据损坏,人们长时间的工作就可能毁于一旦。
    那么,有没有基于现在的硬盘提升存储性能和数据安全的技术呢?有,它就是RAID技术。
    RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。
    RAID 的优点
    传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
    可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
    RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低很多。
    RAID 的级别
    具体实现起来,RAID的级别很多,各级别有着各自的优缺点,用户可以根据不同的需求来选择合适的级别。
    RAID 0

    RAID 0需要至少两个硬盘,是没有任何保护的,它只是将两个或多个相同型号及容量的硬盘组合起来,而当系统提取数据时,它可以同时由所有硬盘(同一个阵列里)读出数据,速度会比一个硬盘快得多。而亦因为它没有任何的数据保护,只要其中一只硬盘出事,所有数据便会被破坏。所以RAID 0通常应用在一些非重要资料上,如影像撷取。磁盘阵列的总容量为各个硬盘容量之和。
    RAID 1

    这个级别由两个(只有两个)硬盘组成,亦可称为镜像(Mirroring)。每一个资料均会相同的写在两个硬盘上,镜像就是因为两个硬盘的内容将会一模一样,但对于系统来说都只会见到一个硬盘。当然,资料写入的时间可以会长一点,但读则没有影响,因为两个硬盘是可以同时读取资料的。磁盘阵列的总容量为其中一块硬盘的容量。
    RAID 2

    RAID 2又叫纠错海明码磁盘阵列。磁盘阵列中的第一个、第二个、第四个……第2n个硬盘是专门的校验盘,用于校验和纠错,例如七个硬盘的RAID 2,第一、二、四个硬盘是校验盘,其余的用于存放数据。使用的硬盘越多,校验盘在其中占的百分比越少。RAID 2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID 2很少实际使用。
    RAID 3

    这个级别需要至少三个硬盘。数据会被分割成相同大小的基带条(stripe)并存放于不同的硬盘上。其中的一个硬盘将会被指定为用来储存校验值,这个校验值是RAID卡根据前面硬盘中存放的数据而运算出来,这样当其中一个硬盘有问题时,用户可以更换硬盘,RAID卡便会根据其他数据重构并存放在新硬盘里。RAID 3可以提供高速数据读取,但只针对单用户模式;如果多人同时读取资料,RAID 3不是理想选择。它更适用于I/O传输,而不是大文件传输。 因为提供奇偶校验的磁盘常成为瓶颈,所以在没有相应技术的情况下,如回写高速缓存技术,不常使用。如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量为各个硬盘容量之和减去一块硬盘的容量。
    RAID 5

    这个级别也是需要至少三个硬盘。数据会分割跟RAID 3一样,但并不会有一个特定的硬盘将来储存校验值,所有数据及校验值都会分布在所有硬盘上。RAID 5消除了RAID 3在写数据上的瓶颈,可以提供高速数据读取并针对多用户模式,RAID 5所提供的功能及表现是有RAID级别之中最好的。RAID 5常使用缓冲技术来降低性能的不对称性。与RAID 3一样,如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量也为各个硬盘容量之和减去一块硬盘的容量。RAID 5级以合理的价位提供了最佳的性能和数据安全性,因此目前它很受欢迎。
    多层级别 RAID
    除了以上的RAID级别外,也可以将多个RAID 级别结合成一个多层级别的RAID。在设定一个双层级别(dual-level)的RAID时,卡的软件(firmware)会负责将两个或多个单层RAID组合成一个多层级别的RAID或数组。比较常见的多层级别RAID是RAID 0+1或称 RAID 0/1 及 RAID 0+5 或称 RAID 0/5。
    RAID 的种类及应用
    IDE和SCSI是计算机的两种不同的接口,前者普遍用于PC机,后者一般用于服务器。基于这两种接口,RAID分为两种类型:基于IDE接口的RAID应用,称为IDE RAID;而基于SCSI接口的RAID应用则相应称为SCSI RAID。
    以前,一提起RAID往往会联想到SCSI硬盘,因为它的传统接口一直使用的是SCSI,而具有SCSI接口的硬盘要比传统的IDE硬盘昂贵得多,因此RAID技术自产生以来似乎就被定义在了高端“贵族家庭”。在较大的阵列系统中,随着硬盘的数量增多,SCSI RAID系统的整体造价就明显地提高。与此相反,可以看到被视为低端产品的IDE硬盘却具有明显的价格优势,近年来随着IDE接口标准的升级, IDE的传输速度有了明显的提高,串行ATA又可加大IDE硬盘连接数量,于是RAID产品逐步开始渗透到了所谓低端的IDE硬盘领域。
    与此同时,基于不同的架构,RAID 又可以分为:
    ● 软件RAID (软件 RAID)
    ● 硬件RAID (硬件 RAID)
    ● 外置RAID (External RAID)
    软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如 Windows、Netware及Linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统—主要是中央处理器的功能—提供所有现成的资源。
    硬件RAID通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。
    在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个(大型)硬盘,而它具有容错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。
    外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。
    外置式RAID可以安装任何的操作系统,因此是与操作系统无关的。为什么呢?因为在系统里只存在一张SCSI卡,并不是RAID卡。而对于这个系统及这张SCSI卡来说,这个外置式的RAID只是一个大型硬盘,并不是什么特别的设备,所以这个外置式的RAID可以安装任何的操作系统。唯一的要求就是你用的这张SCSI卡在这个操作系统要安装驱动程序。
    产品篇
    Adaptec
    由于RAID的种类很多, Adaptec公司将众多的RAID产品根据不同的服务方向分为三类。
    第一类是为工作站设计的低成本的ATA RAID卡,IDE接口的扩展能力不强,所以基于IDE的RAID的种类也相对少。
    第二类是提供高性能的RAID卡—Ultra320 SCSI RAID等。Ultra320解决方案的数据传输速率可达到320MB/s,是Ultra160产品的两倍,同时还具有信息封包及其他一些关键特性以实现整个系统的高性能、高可靠性和数据完整性。Ultra320解决方案为主线存储、视频音频流、视频编辑以及其他对带宽要求很高的应用所设计。
    第三类为外部RAID子系统。Adaptec DuraStor 7320SS是一个从光纤通道到SCSI的子系统,它有一个LUN分区技术,这种技术为SAN领域提供了最高级别的安全和可管理性能。LUN分区技术允许网络存储很方便地给特定的服务或者应用分配适当的存储容量,同时还能预防存储空间的不足,可以扩展到7TB容量左右。Adaptec DuraStor 7320SS附加了Adaptec's Storage Manager Pro管理软件,它基于Java语言的设计,图形用户界面简化了对远程和本地存储管理,能让用户建立和管理RAID阵列,管理软件可以建立用户和管理员不同安全级别,能够检测故障磁盘。
    HDS
    雷电9980V系列内置的虚拟化帮助功能,专门用于帮助您搭建信息平台而设计。这些独特的系统有助于存储资源智能缓冲池的设置和复杂信息平台突破性的简化。主要的功能是实现大量数据系统的合并,灵活的容量配置,顶级的带宽和多连接方式/协议的选择。同时降低总拥有成本,带来更快的投资回报。
    雷电9980V系列以高速的日立第二代Hi-Star交换架构为基础,消除了通常由于存储系统合并而带来的停机和瓶颈的风险。多机架的雷电9980V系列的性能和可扩展性将引起大量的开放系统、主机系统存储方案的合并,您可以用一个雷电9980V系统替换先前所有的存储系统,大大地降低IT成本并通过合并存储资源和不同平台间信息的共享让您的投资最大化。
    雷电9980V系列存储数据的容量可以达到70TB, 同时允许UNIX、Windows NT/Windows 2000、Linux、Novell Netware、OpenVMS、TPF 和OS/390互连,对内部的业务运行和您的客户提供高可用性,能够实现多数据系统的合并和存储资源缓冲池,通过虚拟策略实现单一的系统化管理,具有超过15GB/秒的内部系统总带宽,支持导向器、SAN、NAS或iSCSI附件,方便集中管理SAN和NAS,减少维护费用。
    IBM
    依靠存储保持快速发展是因为日常的业务流程越来越依靠数据,各公司开始大力发展自己的存储基础设施。但是,如今的公司必须在存储需求和紧张的预算之间作权衡。因此,所采用的解决方案必须经济高效、可扩展,并且能够满足各种存储需求。IBM TotalStorage FAStT500存储服务器是一种全光纤的SAN解决方案,能够以最合适的价格提供您所需要的性能。
    依靠多达8个光纤通道直接主机或SAN连接,FAStT500存储服务器提供了快速数据访问能力(高达383MBps),特别适合于那些实时性能是关键因素的计算环境。除了高带宽外,FAStT500还支持各种操作系统,包括IBM AIX、Linux和Windows NT等。
    FAStT500 模块化设计使您可以按照需要来购买部件,它可以从18GB扩展到使用22个扩展柜的16TB。每一个FAStT EXP500最多支持10个光纤通道硬盘驱动器。另外,您还可以采用和选择合适的RAID级别,从0、1、3、5到10,这样做的目的是为了与应用相匹配或满足用户的特殊经费需要,从而使用户能够扩展和充分利用现有和将来的投资。
    TotalStorage FAStT500解决方案是高度可用的解决方案,能够提供部件发生故障时的安全性。双热插拔RAID控制器提供了高吞吐量和冗余度,并且每个控制器支持高达512MB的电池备份高速缓存。
    FAStT存储管理器软件使您能够在单个控制台上管理多个FAStT500系统。
    惠普
    高性能Ultra3阵列控制器的智能阵列5300系列产品能够为惠普ProLiant服务器提供可靠的数据保护,同时由于创新的模块化设计和最新的高级数据保护(RAID ADG)技术,该系列产品把灵活性提高到了一个新的水准。智能阵列5300控制器通过使用全新的内存体系结构和RAID引擎等几项增强型技术,把产品标准提升到更高的性能等级。
    RAID ADG(Advance Data Guarding),可译为先进的数据保护技术,是惠普RAID容错方案,将能解决企业所有的数据损失的问题。RAID ADG技术最大特点是部署了两个奇偶校验集,并提供了2个硬盘(但不是独立的2个校验硬盘)的容量存储这些奇偶校验信息,能同时容忍两块硬盘出现故障,这突破了以往RAID级别只允许在同一时刻出现一块硬盘故障的限制,大大提高了企业数据的可靠性。在RAID容量超过2TB和单个RAID卷的总磁盘驱动器达56个的时候,该技术实现了错误保护等级的突破。
    智能阵列5300控制器便于升级的设计允许您根据需要来优化性能并增加容量,信道可以从2个增加到4个,自备电池的高速缓存可以选择32MB、64MB、128MB或者256MB,能够有效保护ROM的失败或错误,Ultra3 SCSI技术可实现更高的性能,每信道的数据带宽最多达160 MB/s。同时自备电池的高速缓存,在突然断电、服务器或控制器出现错误时,能够保护缓存内的数据,而且,冗余的、可插拔的电池也实现了更深层的数据保护。最大的缓存配置是256MB,备有电池。66MHz PCI接口,使带宽的总传输率最高可达533 MB/s。
    研宇
    RAID-500 U3是一个独立的磁盘阵列子系统,用户能方便快捷地将普通SCSI硬盘应用到RAID 500系列产品中,可以使用独立的存储子系统提高数据高可用性,在双机热备份的应用中,无论任意一台主机宕机,存储系统均能照常工作。
    RAID-500系列提供几种不同配置,以提高数据可靠性,失效硬盘被新硬盘热插拔,系统会动态重新配置并自动重建丢失的数据,而无需重新启动。用户可预先指定空硬盘,RAID-500能用备用硬盘自动恢复数据热备份。
    RAID-500会自动检测并报告机箱状态,包括电源、风扇失效和机箱过热状态。用户可进行系统设置,使报警通过Modem传输到远程主机或呼机上,也可提供服务系统的实时和智能管理。
阅读(646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~