一、磁盘阵列即RAID的基本概念介绍
磁盘阵列的英文的含义:Redundant Arrays of Independent Disks;简称:RAID。
从理论上来分析,磁盘阵列有两层含义:首先必须是磁盘构成阵列,其次,必须有冗余功能。
所以,后面可能设计到RAID0严格意义上不能称为磁盘阵列(别扔鸡蛋)
简单来说,所谓RAID就是多块磁盘(物理硬盘)按不同的方式进行组合,形成一个磁盘组(逻辑硬盘),主要目的是提供比单块硬盘更高的存储性能,同时具有容错备份的功能。我们把磁盘组合的阵列方式,称之为RAID级别(RAID Levels)。从用户体验来看,把整个磁盘组当成一块硬盘使用,可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样,从功效上来看,具有更高的性能和容错备份的特征,这一点是不同于单块硬盘的。
二、认识RAID级别,即平时我们讲的RAID0/1/5/6/10是什么意思?
我们不从理论上去讲解RAID的发展以及纯技术含义,本文开头讲了,RAID级别的概念就是把不同的阵列组合方式加以区分,从最早的RAID0至7一共有8种组合方式,小编相信可能随技术发展,或许有更多RAID组合方式。下面我们来介绍下常用到阵列方式即RAID Levels:
1、RAID 0:
RAID 0 并不是真正的RAID结构,因为没有数据冗余,没有数据校验,所以不是严格意义上的磁盘陈列。
RAID 0 就是把两块以上的硬盘当成一块来使用,关键是把数据连续地分割在每一块盘上,从而增加了带宽加倍,所以使读/写速度也随硬盘的数据加倍;
RAID 0 的优点:提高读写速度
RAID 0 的缺点:没有数据保护功能(一旦阵列中任何一块盘坏蛋,整个阵列里的数据全部丢失)
2、RAID 1
Raid 1 通俗也称之为镜像,RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 1的优点就是数据安全性最高
RAID 1的缺点不言而喻,成本是最高。
一般而言RAID 1至少需要两块以上的偶数盘,方可实现。
3、RAID 5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。
RAID 5的工作原理
RAID5是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID5还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。
RAID 5的基本要求,至少需要3块硬盘;假设我们把整个RAID5阵列的硬盘数字定义为N时,那么实际可用硬盘数是N-1.
4、RAID 6
RAID6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当前盘数据块的校验数据不可能存在当前盘而是交错存储的,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验)。
简单的说,RAID-6 是在RAID-5基础上把校验信息由一位增加到两位的raid 级别。
RAID 6 点评
RAID-6和RAID-5一样对逻辑盘进行条带化然后存储数据和校验位,只是对每一位数据又增加了一位校验位。这样在使用RAID-6时会有两块硬盘用来存储校验位,增强了容错功能,同时必然会减少硬盘的实际使用容量。以前的raid级别一般只允许一块硬盘坏掉,而RAID-6可以允许坏掉两块硬盘,因此,RAID-6 要求至少4块硬盘。
5、RAID 10
Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,图6只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。
注:RAID10读作RAID 1-0(一零)而非RAID十。
RAID10结构说明
Raid 10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘3中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。
RAID10 最少需要4块硬盘,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像操作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带;对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。
DELL服务器,出厂自带RAID卡,并可直接支持RAID0\1\5\6\10\01;性价比非常好,这一点不同于其他品牌同档次规格的服务器,多数需要用户额外支付RAID5及RAID6时的配件费用。