RAID

RAID 介绍
  如何增加磁盘的存取速度,如何防止数据因磁盘的故障而丢失及如何有效的利用磁盘空间,一直是电脑专业人员和用户的困扰,而大容量磁盘的价格非常昂贵,对用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。   过去十几年来,CPU的处理速度增加了五十多倍,内存的存取速度也大幅增加,而数据储存装置–主要是磁盘–的存取速度只增加了三、四倍,形成电脑系统的瓶颈,拉低了电脑系统的整体性能,若不能有效的提升磁盘的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。   磁盘阵列中针对不同的应用使用的不同技术,称为RAID 等级。RAID是Redundant Array of Inexpensive Disks的缩写,而每一等级代表一种技术。目前业界最经常应用的RAID等级是RAID 0~RAID 5。这个等级并不代表技术的高低,RAID 5并不高于RAID 3。至于要选择那一种RAID 等级的产品,纯视用户的操作环境及应用而定,与等级的高低没有必然的关系。
RAID级别
  目前业界最经常应用的RAID等级是RAID 0~RAID 5。下面将简单描述一些常用的RAID等级,澄清一些应用的问题:
RAID 0
  (Striped Disk Array without Fault Tolerance)   RAID 0是把所有的硬盘并联起来成为一个大的硬盘组。其容量为所有属于这个组的硬盘的总和。所有数据的存取均以并行分割方式进行。由于所有存取的数据均以平衡方式存取到整组硬盘里,存取的速度非常快。越是多硬盘数量的RAID 0阵列其存取的速度就越快。容量效率方面也是所有RAID格式中最高的,达到100%。但RAID 0有一个致命的缺点–就是它跟普通硬盘一样没有一点的冗余能力。一旦有一个硬盘失效时,所有的数据将尽失。没法重组回来!一般来讲,RAID 0只用于一些已有原数据载体的多媒体文件的高速读取环境。如视频点播系统的数据共享部分等。RAID 0只需要两个或以上的硬盘便能组成。
RAID 1
  (Mirroring)   RAID 1是硬盘镜像备份操作。由两个硬盘所组成。其中一个是主硬盘而另外一个是镜像硬盘。主硬盘的 数据会不停的被镜像到另外一个镜像硬盘上。由于所有主硬盘的数据会不停地镜像到另外一个硬盘上, 故RAID 1具有很高的冗余能力。达到最高的100%。可是正由于这个镜像做法不是以算法操作,故它的容量效率非常的低,只有50%。RAID 1只支持两个硬盘操作。容量非常有限,故一般只用于操作系统中。
RAID 0+1
  (Mirroring and Striping)   RAID 0+1即由两组RAID 0的硬盘作RAID 1的镜像容错。虽然RAID 0+1具备有RAID 1的容错能力和RAID 0的容量性能。但RAID 0+1的容量效率还是与RAID 1一样只有50%,故同样地没有被普及使用。
RAID 3
  (Striping with dedicated parity)   RAID 3在安全方面以奇偶校验(parity check)做错误校正及检测,只需要一个额外的校检磁盘(parity disk)。奇偶校验值的计算是以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校验磁盘, 任何数据的修改都要做奇偶校验计算。如某一磁盘故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验 磁盘)需重新计算一次,将故障磁盘的数据恢复并写入新磁盘中,如奇偶校验磁盘故障,则重新计算奇偶 校验值,以达容错的要求。
RAID 5
  (Striping with distributed parity)   RAID 5也是一种具容错能力的RAID 操作方式,但与RAID 3不一样的是RAID 5的容错方式不应用专用容错硬盘,容错信息是平均的分布到所有硬盘上。当阵列中有一个硬盘失效,磁盘阵列可以从其他的几个硬盘的对应数据中算出已掉失的数据。由于我们需要保证失去的信息可以从另外的几个硬盘中算出来,我们就需要在一定容量的基础上多用一个硬盘以保证其他的成员硬盘可以无误地重组失去的数据。其总容量为(N-1)x最低容量硬盘的容量。从容量效率来讲,RAID 5同样地消耗了一个硬盘的容量,当有一个硬盘失效时,失效硬盘的数据可以从其他硬盘的容错信息中重建出来,但如果有两个硬盘同时失效的话,所有数据将尽失。
RAID 6
  与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。   常见的RAID6组建类型 RAID 6(6D + 2P)   1 RAID 6(6D + 2P)原理   和RAID 5相似,RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。   RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上   RAID 6校验数据生成公式(P和Q):   P的生成用了异或   P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5   Q的生成用了系数和异或   Q = A0*D0 XOR A1*D1 XOR A2*D2 XOR A3*D3 XOR A4*D4 XOR A5*D5   D0~D5:条带化数据   A0~A5:系数   XOR:异或   *:乘   在RAID 6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID 5一样的。而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。   各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。   上面描述的是校验数据生成的算法。其实RAID 6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。
RAID 7
  这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准,我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。
NAS的概念
  网络存储服务器NAS(Network Attached Storage),是一个专用为提供高性能、低拥有成本和高可靠性的数据保存和传送产品。NAS设备是为提供一套安全,稳固的文件和数据保存,容易使用和管理而设计,其定义为特殊的独立的专用数据存储服务器,内嵌系统软件,可以提供 NFS、SMB/CIFS 文件共享。NAS是基于IP协议的文件级数据存储,支持现有的网络技术,比如以太网、FDDI等。NAS设备完全以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而有效释放带宽,大大提高了网络整体性 能,也可有效降低总拥有成本,保护用户投资。把文件存放在同一个服务器里让不同的电脑用户共享和集合网络里不同种类的电脑正是NAS网络存储的主要功能。正因为NAS网络存储系统应用开放的,工业标准的协议,不同类型的电脑用户运行不同的操作系统可以实现对同一个文件的访问。所以已经不再在意到底是Windows 用户或UNIX用户。他们同样可以安全地和可靠地使用NAS网络存储系统中的数据。
NAS的特点
  NAS以其流畅的机构设计,具有突出的性能:   ·移除服务器 I/O 瓶颈:   NAS是专门针对文件级数据存储应用而设计的,将存储设备与服务器完全分离,从而将服务器端数据 I/O瓶颈彻底消除。服务器不用再承担向用户传送数据的任务,更专注于网络中的其它应用,也提高了 网络的整体性能。   ·简便实现 NT与UNIX下的