RAID的各种等级

合集下载

RAID的几种级别

RAID的几种级别

RAID的⼏种级别1、R AID 0
容量:是n块盘加在⼀起的容量
性能:理论上磁盘读写是单盘的四倍
容器:没有冗余,坏⼀块盘全坏
特点:速度快、⽆冗余,容量⽆损失
应⽤场景:
负载在均衡集群下⾯的多个相同RS节点服务器;
分布式⽂件存储下⾯的主节点或chunk(数据块) server;
mysql主从复制的多个slave服务器;
对性能要求很⾼,对冗余要求低的相关业务。

2、R AID 1
被称之为镜像,存在的意义保证数据的最⼤可⽤性
操作⽅式:把数据写⼊百分百复制到另外⼀个磁盘
容量:50%的数据容量
性能:mirror(镜像)不能提⾼存储性能
冗余:在所有raid级别中,冗余最好,100%
特点:100%冗余,容量损失⼀半,只能两块硬盘(⼤⼩可以不⼀致)
应⽤场景:
适合存放重要数据,如服务器系统分区和性能要求很⾼的数据库存储等领域
3、R AID 5
兼顾性能、安全和存储
raid5需要三块或以上的物理磁盘
采⽤奇偶校验;
只能坏⼀块
容量:损失⼀块盘的数据容量
性能:RAID5具有和RAID0相近似的数据读取速度,只多出⼀个奇偶校验信息
冗余:损失⼀块盘
特点:容量损失⼀块盘,写数据通过奇偶校验,RAID0和1的折中⽅案
应⽤场景:对性能和安全⾼的不要选RAID5
4、R AID 10
容量:损失⼀半盘的数据容量
性能:⼤于RAID1和RAID5,⼩于RAID0
冗余:可损失2块,冗余⼤约RAID5和RAID0,⼩于RAID1
应⽤场景:⾼并发存储和数据库系统。

raid阵列卡参数

raid阵列卡参数

raid阵列卡参数
RAID阵列卡的主要参数包括RAID级别、磁盘数量、冗余方式、数据恢复方式等。

其中,RAID级别是阵列卡的核心参数,决定了数据存储的安全性和磁盘空间的使用率。

以RAID 0、RAID 1、RAID 5和RAID 10为例,各自的特点如下:
RAID 0:至少需要1块盘,安全性低,但读写速度快。

RAID 1:至少需要2块盘,并且盘数要是偶数。

一个磁盘上的数据被完全复制到另外一块磁盘上,I/O读写速度不快,有冗余,磁盘空间减少一半,安全性高。

RAID 5:至少需要3块盘,所有盘中有一块盘作为奇偶校验盘。

当有一块盘坏掉的时候,其他的盘与奇偶校验盘就可以恢复出坏掉的那块盘的数据,读写速度快,安全性高。

RAID 10:至少需要4块盘,并且盘数是偶数盘。

将磁盘分为2大组作为RAID 0,每一小组中做RAID 1,磁盘空间会浪费一半。

此外,还有许多其他参数,如缓存容量、接口类型、数据传输速率等。

这些参数都会影响阵列卡的整体性能和数据存储的安全性。

阵列卡的性能和可靠性除了取决于阵列卡本身的设计和制造质量外,还与数据恢复方式的选择、存储操作和数据管理方式等密切相关。

因此,选择合适的阵列卡参数以及正确的存储管理策略是非常重要的。

raid级别分类及功能

raid级别分类及功能

raid级别分类及功能Raid级别分类及功能一、RAID 0:提升读写速度,无容错能力RAID 0是最简单的RAID级别,它通过将数据分散地存储在多个磁盘上,从而提升了读写速度。

在RAID 0中,数据被分割成多个块,并且每个块都被写入到不同的磁盘上。

因此,当进行读取操作时,可以同时从多个磁盘上读取数据,从而显著提高了读取速度。

同样地,当进行写入操作时,数据也会被分散地写入到多个磁盘上,从而提高了写入速度。

然而,RAID 0没有容错能力,如果其中一个磁盘出现故障,所有数据都将丢失。

二、RAID 1:提供完全冗余,读取速度较快RAID 1是一种提供完全冗余的RAID级别。

在RAID 1中,数据被同时写入到多个磁盘上,这样即使其中一个磁盘出现故障,其他磁盘上的数据仍然完好无损。

因此,RAID 1具有很高的可靠性,可以保护数据免受硬件故障的影响。

此外,由于数据可以从多个磁盘上同时读取,RAID 1还具有较快的读取速度。

然而,RAID 1的写入速度较慢,因为数据需要同时写入多个磁盘。

三、RAID 5:提供容错能力和较快的读写速度RAID 5是一种常用的RAID级别,它提供了容错能力和较快的读写速度。

在RAID 5中,数据和校验信息被分散地存储在多个磁盘上。

校验信息用于恢复数据,以防某个磁盘发生故障。

当进行读取操作时,RAID 5可以同时从多个磁盘上读取数据,从而提高了读取速度。

在写入操作时,RAID 5需要计算校验信息,并将其写入到对应的磁盘上,因此写入速度较慢。

然而,RAID 5的容错能力使得即使其中一个磁盘发生故障,数据仍然可以被恢复。

四、RAID 6:提供更高的容错能力和较快的读写速度RAID 6是在RAID 5的基础上进一步提高容错能力的RAID级别。

在RAID 6中,数据和两个独立的校验信息被分散地存储在多个磁盘上。

这意味着即使同时发生两个磁盘故障,数据仍然可以被恢复。

RAID 6不仅提供了更高的容错能力,还保持了较快的读写速度。

RAID0,RAID1,RAID5,RAID6有什么区别

RAID0,RAID1,RAID5,RAID6有什么区别

RAID0,RAID1,RAID5,RAID6有什么区别一、raid什么意思?RAID是“Redundant Array of Independent Disk”的缩写,raid什么意思了?说白了,中文翻译过来通俗的讲就是磁盘阵列的意思,也就是说RAID就是把硬盘做成一个阵列,而阵列也就是把硬盘进行组合配置起来,做为一个整体进行管理,最关键的是这个阵列的磁盘之间具有冗余容错处理,这样可提高磁盘之间相互的安全性和稳定性,不存在“单点”硬盘现象,也就说不会让某些硬盘读写频繁,其他的硬盘可能数据交换较少的现象,从而提高硬盘的安全性,同时磁盘的整体管理会提高读写速度,使硬盘的利用发挥到最大。

那么RAID什么意思?在实际应用中有什么意义了?一般而言,作为服务器最容易出现的故障是服务器的硬盘和电源,因此服务器采用磁盘阵列技术是非常重要的。

简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

组成不同方式的磁盘阵列我们称为RAID的级别(RAID Levels)。

磁盘阵列中针对不同的应用使用的不同磁盘阵列配置情况,大家通称为RAID level(Raid 级别), 而每一level代表一种具体配置阵列的方法或叫阵列技术,目前业界公认的标准是RAID 0~RAID 5。

其中Raid0、Raid1、Raid5是最常见,后期又推出了Raid6、Raid1+0(也有人误解为Raid10),Raid5+0(也有人误解为Raid50),而Raid2、3、4不是非常通用.需要特别说明的是,不同的Raid level并不代表技术的高低,level 5并不高于level 3,level 1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境(operating environment)及具体应用(application)而定,与level的数字高低(大小)没有必然的关系。

raid级别介绍(图文)

raid级别介绍(图文)

RAID 0:把多个磁盘合并成一个大的磁盘,不具有冗余功能,并行I/O,速度最快。

它是将多个磁盘并列起来,成为一个大硬盘。

在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些磁盘中。

所以,在所有的级别中,RAID 0的速度是最快的。

但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID 1:两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个磁盘出错,可靠性最高。

RAID 1就是镜像。

其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。

当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。

因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。

但是其磁盘的利用率却只有50%,是所有RAID上磁盘利用率最低的一个级别。

RAID 2综合利用了共轴同步技术和ECC(Error Checking and Correcting)检验技术,原理是将若干个硬盘分成两组,分别用来储存数据和校验用的海明码。

RAID2是将数据分散为位(bit)分别并算出其ECC代码,然后同时写入各硬盘。

如果某一个硬盘发生故障,系统也能够根据海明码和其余的有效数据算出正确的数据进行恢复。

因为RAID2的存取是所有硬盘同时进行的,用的是又单位元的存储,所以小于一个扇区的存取会大大削弱其性能,在磁盘利用率方面,RAID2一般只有在使用15个硬盘以上的系统中才会凸显其利用率的优势。

因此RAID2不适合用于网络服务器,小型机或PC上。

RAID 3 存放数据的原理和RAID 0、RAID 1不同。

RAID 3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。

它象RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。

如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。

利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。

RAID0、RAID1、RAID5、RAID10分别代表什么意思?

RAID0、RAID1、RAID5、RAID10分别代表什么意思?

RAID0、RAID1、RAID5、RAID10分别代表什么意思?1、RAID 0它是无数据冗余的存储空间条带化,具有成本低、读写性能高、存储空间利用率高等特点,适用于音、视频信号存储、临时文件的转储等对速度要求极其严格的特殊应用。

但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。

这种方式其实没有冗余功能,没有安全保护,只是提高了磁盘读写性能和整个服务器的磁盘容量。

2、RAID 1是两块硬盘数据完全镜像,安全性好、技术简单、管理方便、读写性能均好。

因为它是一一对应的,所以它无法单块硬盘扩展,要扩展,必须同时对镜像的双方进行同容量的扩展。

因为这种冗余方式为了安全起见,实际上只利用了一半的磁盘容量,数据空间浪费大。

3、RAID 0+1也有写为RAID 10,综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。

它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低。

4、RAID 5是目前应用最广泛的RAID技术。

各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验,校验数据平均分布在每块硬盘上。

以N 块硬盘构建的RAID 5阵列可以有N-1块硬盘的容量,存储空间利用率非常高。

任何一块硬盘上的数据丢失,均可以通过校验数据推算出来,它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。

RAID 5具有数据安全、读写速度快、空间利用率高等优点,应用非常广泛,但不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。

除了上面的4种常见的磁盘阵列外,还有其它几种磁盘阵列,比如:RAID 2、RAID 3、RAID 4、RAID 6、RAID 7等。

都是指在利用多块硬盤,做到数据保护或加速的方式;RAID 0,条带式,对所有硬盤做平均分散的读写,盤愈多速度最快,创建至少需要2颗HD,安全性差。

RAID 1,镜像式,每块盤的上数据都完全相同,创建至少需要2颗HD, 只要留有1颗盤数据都安全,安全性最高。

RAID技术全解图解-RAID0、RAID1、RAID5、RAID100

RAID技术全解图解-RAID0、RAID1、RAID5、RAID100图⽂并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100…… RAID 技术相信⼤家都有接触过,尤其是服务器运维⼈员,RAID 概念很多,有时候会概念混淆。

这篇⽂章为⽹络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进⾏了全⾯的阐述,并为⽤户如何进⾏应⽤选择提供了基本原则,对于初学者应该有很⼤的帮助。

⼀、RAID 概述 1988 年美国加州⼤学伯克利分校的 D. A. Patterson 教授等⾸次在论⽂ “A Case of Redundant Array of Inexpensive Disks”中提出了 RAID 概念 [1] ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。

由于当时⼤容量磁盘⽐较昂贵, RAID 的基本思想是将多个容量较⼩、相对廉价的磁盘进⾏有机组合,从⽽以较低的成本获得与昂贵⼤容量磁盘相当的容量、性能、可靠性。

随着磁盘成本和价格的不断降低, RAID 可以使⽤⼤部分的磁盘, “廉价” 已经毫⽆意义。

因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定⽤ “ 独⽴ ” 替代 “ 廉价 ” ,于时 RAID 变成了独⽴磁盘冗余阵列( Redundant Array of Independent Disks )。

但这仅仅是名称的变化,实质内容没有改变。

RAID 这种设计思想很快被业界接纳, RAID 技术作为⾼性能、⾼可靠的存储技术,已经得到了⾮常⼴泛的应⽤。

RAID 主要利⽤数据条带、镜像和数据校验技术来获取⾼性能、可靠性、容错能⼒和扩展性,根据运⽤或组合运⽤这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满⾜不同数据应⽤的需求。

磁盘阵列的不同级别及其特点

磁盘阵列的不同级别及其特点磁盘阵列(RAID,Redundant Array of Independent Disks)技术是一种将多个物理硬盘组合在一起,以提高数据存储和处理的性能、可靠性和容错性的技术。

磁盘阵列通过分割、复制和分布数据,以实现数据的并行读写和冗余备份。

不同的磁盘阵列级别提供了不同的数据保护和性能方案,适用于不同的应用场景。

本文将针对不同级别的磁盘阵列,分别介绍其特点和适用场景。

1. RAID 0RAID 0级别使用条带化的数据分布方式(striping),将数据分散存储在多个硬盘上,提供了更快的读写性能。

数据被拆分成固定大小的块,然后块按照顺序分布在不同的硬盘上。

由于数据同时存储在多个硬盘上,RAID 0可以实现并行读写,从而提高了整体的数据传输速度。

然而,RAID 0并不提供冗余备份和容错能力。

任一硬盘的故障都会导致整个阵列不可用,并且无法恢复数据。

因此,RAID 0通常用于对性能需求较高而对数据可靠性没有特别要求的场景,如视频编辑和游戏开发等。

2. RAID 1RAID 1级别通过镜像数据的方式提供冗余备份。

每个数据块都被复制到至少两个硬盘上,确保在其中一个硬盘故障时仍然可以通过另一个硬盘访问数据。

RAID 1具有很高的数据可靠性和容错性,但相比RAID 0,写入性能有所降低。

RAID 1适用于对数据保护较为重视的场景,如企业级存储和数据库服务器。

但需要注意的是,RAID 1并不能提供增加存储空间的功能,因为每个数据块都需要镜像存储。

3. RAID 5RAID 5级别结合了条带化和分布式奇偶校验(parity)的方式实现数据的分布存储和冗余备份。

RAID 5需要至少三个硬盘,并将奇偶校验信息按照轮换的方式存储在不同的硬盘上,以保证阵列中同时容忍一次硬盘故障。

当读取数据时,RAID 5可以通过奇偶校验信息恢复任何一个硬盘上的数据。

而在硬盘故障时,阵列可以通过奇偶校验信息实现数据的重建和恢复。

RAID分级及区别

常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。

目前经常使用的是RAID5和RAID(0+1)。

NRAID</strong>NRAID即Non-RAID,所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)。

NRAID不提供数据冗余。

要求至少一个磁盘。

JBOD</strong>JBOD代表Just a Bunch of Drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。

JBOD也不提供数据冗余。

要求至少一个磁盘。

RAID 0</strong>RAID 0即Data Stripping(数据分条技术)。

整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。

要求至少两个磁盘。

我们通过RAID 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。

RAID 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。

RAID 1</strong>RAID 1,又称镜像方式,也就是数据的冗余。

在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同样的数据)。

同RAID 0相比,RAID 1首先考虑的是安全性,容量减半、速度不变。

RAID 0+1为了达到既高速又安全,出现了RAID 10(或者叫RAID 0+1),可以把RAID 10简单地理解成由多个磁盘组成的RAID 0阵列再进行镜像。

RAID 3和RAID 5</strong>RAID 3和RAID 5都是校验方式。

RAID 3的工作方式是用一块磁盘存放校验数据。

由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。

常见的RAID级别

常见的RAID级别1.RAID的概念: RAID的独⽴(或廉价)磁盘冗余阵列的缩写。

RAID也叫磁盘阵列卡,它是⼀种将信息存储在多个硬盘上的⽅法,以获得更多保护或性能提升。

RAID有⼏种不同的存储⽅式,命名级别从0到9。

下⾯介绍⼀下⼏个常见的RAID级别。

常见的RAID级别有、RAID0、RAID1、RAID5、RAID102.RAID0+ ⾄少两块磁盘+ ⾼效的性能+ 没有冗余+ 使⽤场景:不要求安全只要求速度+ 举例:数据库从库存储从库3.RAID1+ ⾄少两块磁盘+ 写⼊慢读取ok+ 优秀的冗余+ 使⽤场景:只追求安全性,对于速度没要求+ 举例:系统盘监控服务器4.RAID5+ ⾄少3块磁盘+ 良好的性能(写⼊性能不好,读取速度ok)+ 良好的冗余(允许损坏⼀块盘)+ 使⽤场景:对于数据安全要求⾼,对于速度要求不⾼+ 举例:对于⼤量⾯向读的数据库5.RAID10+ 常⽤的RAID 10+ RAID 10也称为RAID 1+0+ 最少需要4快磁盘+ 优秀的冗余+ 优秀的性能(读写速度都很快)+ 使⽤场景:对于安全和性能要求都⾼+ 举例:⾼并发⾼访问的数据库主库6.总结:看到了RAID 10,其实还有RAID 01 ,RAID10 和RAID01的读写性能差别不⼤。

最主要的区别是RAID01,当⼀块磁盘出现故障的时候将导致整个虚拟磁盘损失,RAID10(既保证了性能有保证了客容量),所以RAID10更为常⽤RAID是⼀种⽤于提⾼数据库存储性能或磁盘数据的可靠技术,他能保证磁盘损坏之后的数据安全性.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 1 已经可以算是一种真正的 RAID 系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量。

下面总结一下 RAID 1 的特点:其它RAID等级(1)RAID-2 等级Hamming Code ECC (汉明码错误检测与修正)现在我们要接触到RAID 系统中最为复杂的等级之一。

RAID 2 之所以复杂就是因为它采用了早期的错误检测与修正技术——汉明码(Hamming Code )校验技术。

因此在介绍RAID 2 之前有必要讲讲汉明码的原理。

汉明码的原理:针对 4 位数据的汉明码编码示意图汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。

以典型的4 位数据编码为例,汉明码将加入 3 个校验码,从而使实际传输的数据位达到7 个(位),它们的位置如果把上图中的位置横过来就是:注:Dx 中的x 是2 的整数幂(下面的幂都是指整数幂)结果,多少幂取决于码位,D1 是0 次幂,D8 是3 次幂,想想二进制编码就知道了现以数据码1101 为例讲讲汉明码的编码原理,此时D8=1 、D4=1 、D2=0 、D1=1 ,在P1 编码时,先将D8 、D4 、D1 的二进制码相加,结果为奇数 3 ,汉明码对奇数结果编码为1 ,偶数结果为0 ,因此P1 值为1 ,D8+D2+D1=2 ,为偶数,那么P2 值为0 ,D4+D2+D1=2 ,为偶数,P3 值为0 。

这样,参照上文的位置表,汉明码处理的结果就是1010101 。

在这个4 位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码的。

下面就是它们的对应表:从编码形式上,我们可以发现汉明码是一个校验很严谨的编码方式。

在这个例子中,通过对4 个数据位的 3 个位的3 次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。

在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0 )就是正确,如果为奇数(纠错代码为 1 )则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。

还是刚才的1101 的例子,正确的编码应该是1010101 ,如果第三个数据位在传输途中因干扰而变成了 1 ,就成了1010111 。

检测时,P1+D8+D4+D1 的结果是偶数 4 ,第一位纠错代码为0 ,正确。

P1+D8+D2+D1 的结果是奇数3 ,第二位纠错代码为1 ,有错误。

P3+D4+D2+D1 的结果是奇数3 ,第三但纠错代码代码为 1 ,有错误。

那么具体是哪个位有错误呢?三个纠错代码从高到低排列为二进制编码110 ,换算成十进制就是6 ,也就是说第 6 位数据错了,而数据第三位在汉明码编码后的位置正好是第 6 位。

那么汉明码的数量与数据位的数量之间有何比例呢?上面的例子中数据位是4 位,加上3 位汉明码是7 位,而2 的3 次幂是8 。

这其中就存在一个规律,即2 P ≥P+D+1 ,其中P 代表汉明码的个数,D 代表数据位的个数,比如 4 位数据,加上 1 就是5 ,而能大于 5 的2 的幂数就是3 (2 3 =8 ,2 2 =4 )。

这样,我们就能算出任何数据位时所需要的汉明码位数:7 位数据时需要4 位汉明码(2 4 >4+7+1 ),64 位数据时就需要7 位汉明码(2 7 >64+7+1 ),大家可以依此推算。

此时,它们的编码规也与 4 位时不一样了。

另外,汉明码加插的位置也是有规律的。

以四位数据为例,第一个是汉明码是第一位,第二个是第二位,第三个是第四位,1 、2 、4 都是2 的整数幂结果,而这个幂次数是从0 开始的整数。

这样我们可以推断出来,汉明码的插入位置为 1 (2 0 )、2 (2 1 )、4 (2 2 )、8 (2 3 )、16 (2 4 )、32 (2 5 )……说完汉明码,下面就开始介绍RAID 2 等级。

RAID 2 等级介绍:RAID-2 结构图解由于汉明码是位为基础进行校验的,那么在RAID2 中,一个硬盘在一个时间只存取一位的信息。

没错,就是这么恐怖。

如图中所示,左边的为数据阵列,阵列中的每个硬盘一次只存储一个位的数据。

同理,右边的阵列(我们称之为校验阵列)则是存储相应的汉明码,也是一位一个硬盘。

所以RAID 2 中的硬盘数量取决于所设定的数据存储宽度。

如果是 4 位的数据宽度(这由用户决定),那么就需要 4 个数据硬盘和 3 个汉明码校验硬盘,如果是64 位的位宽呢?从上文介绍的计算方法中,就可以算出来,数据阵列需要64 块硬盘,校验阵列需要7 块硬盘。

在写入时,RAID 2 在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统。

通过上文的介绍,我们知道汉明码只能纠正一个位的错误,所以RAID 2 也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2 的数据就将受到破坏。

但由于数据是以位为单位并行传输,所以传输率也相当快。

RAID 2 是早期为了能进行即时的数据校验而研制的一种技术(这在当时的RAID 0 、1 等级中是无法做到的),从它的设计上看也是主要为了即时校验以保证数据安全,针对了当时对数据即时安全性非常敏感的领域,如服务器、金融服务等。

但由于花费太大(其实,从上面的分析中可以看出如果数据位宽越大,用于校验阵列的相对投资就会越小,就如上面的4:3 与64:7 ),成本昂贵,目前已基本不再使用,转而以更高级的即时检验RAID 所代替,如RAID 3 、 5 等。

现在让我们总结一下RAID 2 的特点:(2) RAID-3 等级Parallel transfer with parity (并行传输及校验)RAID 2 等级的缺点相信大家已经很明白了,虽然能进行即时的ECC ,但成本极为昂贵。

为此,一种更为先进的即时ECC 的RAID 等级诞生,这就是RAID 3 。

RAID 3 是在RAID 2 基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR ,eXclusive OR )校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。

XOR 的校验原理如下表:这里的A 与B 值就代表了两个位,从中可以发现,A 与B 一样时,XOR 结果为0 ,A 与B 不一样时,XOR 结果就是1 ,而且知道XOR 结果和 A 与B 中的任何一个数值,就可以反推出另一个数值。

比如 A 为 1 ,XOR 结果为 1 ,那么B 肯定为0 ,如果XOR 结果为0 ,那么B 肯定为1 。

这就是XOR 编码与校验的基本原理。

RAID 3 的结构图如下:RAID-3 结构图解从图中可以发现,校验盘只有一个,而数据与RAID 0 一样是分成条带(Stripe )存入数据阵列中,这个条带的深度的单位为字节而不再是bit 了。

在数据存入时,数据阵列中处于同一等级的条带的XOR 校验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。

读取时,则在调出条带的同时检查校验盘中相应的XOR 编码,进行即时的ECC 。

由于在读写时与RAID 0 很相似,所以RAID 3 具有很高的数据传输效率。

RAID 3 在RAID 2 基础上成功地进行结构与运算的简化,曾受到广泛的欢迎,并大量应用。

直到更为先进高效的RAID 5 出现后,RAID 3 才开始慢慢退出市场。

下面让我们总结一下RAID 3 的特点:注:主轴同步是指阵列中所有硬盘的主轴马达同步(3)RAID-4 等级Independent Data disks with shared Parity disk (独立的数据硬盘与共享的校验硬盘)RAID 3 英文定义是Parallel transfer with parity ,即并行传输及校验。

与之相比,RAID 4 则是一种相对独立的形式,这也是它与RAID 3 的最大不同。

RAID-4 结构图解与RAID 3 相比,我们发现关键之处是把条带改成了“ 块” 。

即RAID 4 是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。

当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇(Cluster )。

RAID 4 这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。

相关文档
最新文档