`
flyPig
  • 浏览: 139828 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

RAID 主要概念

阅读更多
一、RAID技术名词解释

RAID技术主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:

RAID 0:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。

RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

RAID 0+1: 也被称为RAID 10标准,实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。

RAID 2:将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业环境中很少使用。

RAID 3:它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。 RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

RAID 4:RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。

RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID 6:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。

RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准(如表1),我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。

开始时RAID 方案主要针对SCSI硬盘系统,系统成本比较昂贵。1993年,HighPoint公司推出了第一款IDE-RAID控制芯片,能够利用相对廉价的IDE 硬盘来组建RAID系统,从而大大降低了RAID的“门槛”。从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计算机的本身价格。在花费相对较少的情况下,RAID技术可以使个人用户也享受到成倍的磁盘速度提升和更高的数据安全性,现在个人电脑市场上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,此外还有一部分来自AMI公司(如表 2)。

面向个人用户的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID规范的支持,虽然它们在技术上无法与商用系统相提并论,但是对普通用户来说其提供的速度提升和安全保证已经足够了。随着硬盘接口传输率的不断提高,IDE-RAID芯片也不断地更新换代,芯片市场上的主流芯片已经全部支持ATA 100标准,而HighPoint公司新推出的HPT 372芯片和Promise最新的PDC20276芯片,甚至已经可以支持ATA 133标准的IDE硬盘。在主板厂商竞争加剧、个人电脑用户要求逐渐提高的今天,在主板上板载RAID芯片的厂商已经不在少数,用户完全可以不用购置 RAID卡,直接组建自己的磁盘阵列,感受磁盘狂飙的速度。


二、RAID进阶
RAID 代表Redundant Array of Inexpensive (or Independent) Drive。它通过将多个相对比较便宜的磁盘组合起来,并相互连接,同时都连到一个或多个计算机上,以组成一个磁盘组,使其性能和容量达到或超过一个价格更昂贵的大型磁盘。RAID是1988年由美国加州大学的Berkeley分校的David Patterson等几人提出来的。从那以后,磁盘阵列技术发展很快,并逐渐走向成熟。

RAID的优点在于三个方面即可用性(Availability)、大容量(Capacity)及高性能(Performance)。

根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5,RAID6,RAIDS,RAID7等。为提高可靠性和性能,常使用RAID5和RAID0+1。下面分别简要介绍各自的原理及特点:

NRAID - 即Non-RAID,所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)。NRAID不提供数据冗余。要求至少一个磁盘。

JBOD - 代表Just a Bunch of Drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。JBOD也不提供数据冗余。要求至少一个磁盘。

RAID0 - 即Data Stripping数据条带化技术。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。RAID0代表了RAID系统的高性能,成本最低的方案。由于没有容错功能,RAID0适用于低成本,低可靠性的台式系统,在这里,高速的数据吞吐比可靠性更重要。

RAID1 -把一个磁盘的数据镜像到另一个磁盘上,只能在两个磁盘上实施,具有最高的数据冗余能力, RAID1又称镜像(Mirror)盘,采用镜像容错来提高可靠性。即每一个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出。一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据,然后由系统再恢复工作盘正确数据。因此这种方式数据可以重构,但工作盘和镜像盘必须保持一一对应关系。这种盘阵列可靠性很高,但其有效容量减小到总容量一半以下。因此RAID1常用于对出错率要求极严的应用场合,如财政、金融等领域。只允许一颗硬盘失败。

RAID0+1 - 把RAID0和RAID1技术结合起来,即Mirroring + Stripping。数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。要求至少4个硬盘才能作成RAID0+1。只允许一颗硬盘失败。

RAID3 -带有一个专门的校验盘的分条技术。数据被分布在多个磁盘上以提高读/写速度,并用一个专门的校验盘来存储校验信息,当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据。RAID3要求至少3个盘,且其中一个为专职校验盘。它的优点是支持阵列中多硬盘的同步访问,整个阵列的带宽可以充分利用,在要求大块数据顺序传送时较理想,如:图形、图象、科学计算等应用。其缺点是每次读写要牵动整个组,每次只能完成一次I/O,所以作为文件服务器共享时性能不好。只允许一颗硬盘失败。

RAID5 - RAID5是一种循环偶校验独立存取的阵列。类似于RAID3,但校验数据不是存储在一个专职的校验盘上,而是分布在多个盘上。当一个磁盘故障时,控制器可以从其他尚存的磁盘上重新恢复/生成丢失的数据而不影响数据的可用性。RAID5要求至少3个磁盘,容量是(N-1)/N。这一改变解决了争用校验盘的问题,因此DAID5内允许在同一组内并发进行多个写操作。所以RAID5即适于大数据量的操作,也适于各种事务处理。它是一种快速,大容量和容错分布合理的磁盘阵列。只允许一颗硬盘失败。

RAIDS - 是EMC公司的RAID5的实施方案,它和纯粹的RAID5存在以下区别:
(1) 它条带化奇偶校验,但不条带化数据;
(2) 它与一个带有写缓存的异步硬件环境合并。这个缓存主要是一种延迟写的机制,因此它能让系统在相对不忙的时候计算和写奇偶校验信息。

RAID6 - 是RAID家族中的新技术,是在RAID 5基础上扩展而来的。所以同RAID 5一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个硬盘上。RAID 6加入了一个独立的校验磁盘,它把分布在各个磁盘上的校验码都备份在一起,这样RAID 6磁盘阵列就允许多个磁盘同时故障,这对于数据安全要求很高的应用场合是非常的必要的。这样搭建一个RAID 6磁盘阵列最少需要4块硬盘。但是RAID 6并没有改善RAID 5写入性能不佳的情况,写入缓存的应用仅仅能对于这个缺点进行一定程度的弥补但是并不能从根本上解决。因为RAID 5和RAID 6都可以根据应用程序来更改数据块的大小,所以它的实际性能还会受到这个因素的影响。允许两颗硬盘失败。

RAID7 - 也同样引入了缓存机制,这个缓存是被一个内嵌式操作系统控制。但是,RAID-7中数据是被条带化的,而奇偶校验不被条带化。奇偶校验信息被存放在一个或者多个专门的磁盘上。

RAID3与RAID5的区别:

RAID3 是所谓的同步访问SynchronousAccess阵列,在执行IO的时候,R3内所有的成员磁盘会进行磁头同步,共同完成一个IO 操作,IO内的数据会分散写入每一个成员磁盘的stripe内,适用于顺序读写,如OLAP;而RAID5是所谓的独立访问阵列 IndependentAccess,执行IO时不需要同步磁头,不同的磁盘可以分别执行不同的IO,适用于随机读写,如OLTP,这样,对于R5,把 stripe size设置的大一些,会方便多个IO的同时执行;而对于R3,stripe size小一些是因为一次IO覆盖的磁盘数量多所以也不需要设置得很大

Raid 3 在第N+1个硬盘上存储的数据是校验容错信息,而每次修改数据的时候都需要往这个硬盘上写数据,这就出现了瓶颈。

RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

Raid5能保证每次修改数据每块硬盘都在工作,因此性能比Raid3能高一些。所以Raid5比Raid3更适合服务器应用。

两者都有错误校检,都是比较稳定的Raid解决方案。

raid3的条带深度是最小的:1bit;而raid4、raid5的条带深度都会相对更大
分享到:
评论

相关推荐

    RAID概念图解

    RAID概 念 图 解 ,很详细的哦 简单易懂

    RAID基本概念.docx

    在现代数据中心,随着业务量的增长,单一磁盘的容量和安全性往往无法满足需求,于是出现了磁盘组和虚拟磁盘的概念。 磁盘组(Drive Group,DG)是将一组物理磁盘聚合在一起,形成一个整体对外提供服务。这些物理...

    关于RAID与SCSI的一些基本概念.doc

    它主要用于提高存储系统的可靠性、性能和容量利用率。SCSI(Small Computer System Interface,小型计算机系统接口)则是一种广泛使用的硬盘接口标准,提供高速数据传输能力。 RAID有多种级别,每种级别都有其独特...

    RAID 级别概念

    ### RAID级别概念详解 #### 一、RAID基础概念 RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,是一种通过将多个物理硬盘组合成一个逻辑单元来提高存储性能和数据可靠性的技术。RAID级别是指在...

    RAID模拟器 RAID虚拟机

    在本主题中,我们将深入探讨RAID模拟器和RAID虚拟机的概念,以及它们在没有实际硬件的情况下如何帮助我们理解和操作RAID系统。 首先,RAID模拟器是一种软件工具,它可以在没有物理RAID控制器的情况下模拟RAID环境。...

    MEGARaid卡设置步骤

    MEGARaid卡是一种硬件设备,主要用于服务器和工作站中,用以提升数据存储的可靠性和性能。通过将多个物理硬盘驱动器组合成一个或多个逻辑存储单元(称为RAID组),MEGARaid卡可以提供数据冗余(以防止数据丢失)和/...

    RAID模拟器 (raid练习者好帮好).rar

    通过这个压缩包中的资源,用户可以深入学习RAID的基本概念、工作原理,以及如何使用RAID模拟器进行实践操作。对于想要从事存储领域或者需要了解数据安全性的专业人士来说,这是一份非常有价值的参考资料。

    VMware虚拟机创建raid

    在IT领域,虚拟化技术为学习和...总之,通过在VMware虚拟机中搭建RAID5阵列,不仅可以帮助初学者掌握RAID的基本概念和配置流程,还能深入了解存储系统的工作机制,为实际工作中设计和维护RAID存储方案打下坚实的基础。

    教你组装raid5及raid1磁盘阵列服务器

    本文将详细介绍如何组建硬件 RAID 5 和软件 RAID 5 磁盘阵列,并对 RAID 模式的概念和特点进行解释。 二、RAID 模式概述 RAID 模式有多种,常见的有 RAID 0、RAID 1 和 RAID 5 等。其中,RAID 0 模式是将多个硬盘...

    HP小型机RX6600 硬raid创建步骤

    惠普小型机RX6600硬RAID创建步骤涉及到了多个层面的技术知识点,包括硬件RAID的概念、具体命令的使用,以及如何通过HP管理平台进行配置。下面将从这些方面详细阐述知识点。 首先,了解RAID(Redundant Array of ...

    在Windows server2003下创建软RAID完全手册

    1. 软 RAID 的概念:软 RAID 是一种基于软件的 RAID 解决方案,可以在 Windows Server 2003 下创建 RAID-0、RAID-1 和 RAID-5 卷。 2. 软 RAID 的优势:软 RAID 可以实现高水平的硬盘可用性和冗余度,同时可以大量...

    raid模拟器及使用图解

    本篇文章将详细讲解RAID的基本概念、类型以及如何使用RAID模拟器进行配置和理解。 首先,RAID的核心理念是通过数据分布和冗余来提高系统的可靠性和性能。根据不同的数据分布和冗余策略,RAID分为多个级别,如RAID 0...

    RAID磁盘阵列模拟器

    1. **RAID概念介绍**:解释RAID的基本原理和目的,以及不同级别的特性。 2. **RAID配置**:如何在模拟器中创建不同级别的RAID阵列,包括设置磁盘数量、大小等参数。 3. **数据分布和访问**:展示数据在RAID阵列中的...

    IBM p7 RAID硬件卡设置

    ### RAID概念 RAID,全称为Redundant Array of Independent Disks(独立磁盘冗余阵列),是一种通过将多个物理硬盘驱动器组合成一个逻辑单元来提高数据读写速度和/或提供数据冗余的技术。RAID级别不同,所提供的...

    dell r720 阵列驱动 raid驱动

    首先,我们要了解RAID的基本概念。RAID是一种通过将多个硬盘组合成一个逻辑单元来提高数据存储性能和/或数据冗余的技术。戴尔R720服务器支持多种RAID级别,如RAID 0、RAID 1、RAID 5、RAID 6以及RAID 10等,每种级别...

    服务器raid配置资料

    1. **RAID基本概念**:RAID将多个物理硬盘组合成一个逻辑单元,分为不同级别(RAID 0, 1, 2, 3, 4, 5, 6, 10, 50, 60等),每个级别有不同的特性和优势。例如,RAID 0提供了最高性能但无数据保护,RAID 1则提供了...

    Raid卡配置手册

    1. RAID卡的基本概念 RAID卡是一种硬件设备,它连接在计算机主板和硬盘之间,用于控制硬盘的数据存取。通过在RAID卡上安装适当的驱动程序和配置软件,用户能够管理RAID阵列的创建、修改和监控。 2. RAID的级别和...

    RAID学习资料INTEL

    3. Intel Matrix RAID:早期的RAID技术,主要用于部分主板,提供了简单的RAID功能。 在"RAID学习资料INTEL"中,可能包含的内容有: 1. RAID技术的基本原理和操作指南。 2. 如何在英特尔平台上配置和管理RAID阵列,...

    浪潮服务器RAID配置及系统引导.doc

    本文档主要介绍浪潮服务器的RAID配置和系统引导过程。RAID(Redundant Array of Independent Disks)是一种数据存储技术,通过将多块硬盘组合成一个逻辑单元,以提高数据安全性和读写性能。 一、RAID基本概念 RAID...

    MegaRAID storage manager user guide Raid管理软件 用户手册

    总结来说,MegaRAID存储管理器用户手册主要关注于如何利用MegaRAID SAS软件管理和优化存储环境,通过RAID技术保护数据安全,提高数据访问性能,并确保业务的连续性。手册中不仅详细介绍了RAID级别的选择和配置,还...

Global site tag (gtag.js) - Google Analytics