RAID是英文Redundant Array of Inexpensive Disks的缩写,中文简称为廉价磁盘冗余阵列。RAID就是一种由多块硬盘构成的冗余阵列。虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。利用RAID技术于存储系统的好处主要有以下三种:
- 通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
- 通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度
- 通过镜像或校验操作提供容错能力
最初开发RAID的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。目前来看RAID在节省成本方面的作用并不明显,但是RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和xxx。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。目前经常使用的是RAID5和RAID(0+1)。
NRAID
NRAID即Non-RAID,所有磁盘的容量组合成一个逻辑盘,没有数据块分条(no block stripping)。NRAID不提供数据冗余。要求至少一个磁盘。
JBOD
JBOD代表Just a Bunch of Drives,磁盘控制器把每个物理磁盘看作独立的磁盘,因此每个磁盘都是独立的逻辑盘。JBOD也不提供数据冗余。要求至少一个磁盘。
RAID 0
RAID 0即Data Stripping(数据分条技术)。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。要求至少两个磁盘。我们通过RAID 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。RAID 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。
RAID 1
RAID 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同样的数据)。同RAID 0相比,RAID 1首先考虑的是安全性,容量减半、速度不变。
RAID 0+1
为了达到既高速又安全,出现了RAID 10(或者叫RAID 0+1),可以把RAID 10简单地理解成由多个磁盘组成的RAID 0阵列再进行镜像。
RAID 3和RAID 5
RAID 3和RAID 5都是校验方式。RAID 3的工作方式是用一块磁盘存放校验数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。RAID 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。
按照硬盘接口的不同,RAID分为SCSI RAID,IDE RAID和SATA RAID。其中,SCSI RAID主要用于要求高性能和高可靠性的服务器/工作站,而台式机中主要采用IDE RAID和SATA RAID。
以前RAID功能主要依靠在主板上插接RAID控制卡实现,而现在越来越多的主板都添加了板载RAID芯片直接实现RAID功能,目前主流的RAID芯片有HighPoint的HTP372和Promise的PDC20265R,而英特尔更进一步,直接在主板芯片组中支持RAID,其ICH5R南桥芯片中就内置了SATA RAID功能,这也代表着未来板载RAID的发展方向---芯片组集成RAID。
|
|
RAID,廉价冗余磁盘阵列,是Redundant Arrays of Independent Disks的简称。
磁盘阵列可以分为软阵列和硬阵列两种。软阵列就是通过软件程序来完成,要由计算机的处理器提供运算能力,只能提供最基本的RAID容错功能。硬阵列是由独立操作的硬件(阵列卡)提供整个磁盘阵列的控制和计算功能,卡上具备独立的处理器,不依靠系统的CPU资源,所有需要的容错功能均可以支持,所以硬阵列所提供的功能和性能均比软阵列好。
作为高性能的存储技术,RAID巳经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,巳经发展了很多个级别,但是最常用的是0、1、3、5四个级别。下面就介绍这四个级别。
RAID 0:把多个磁盘合并成一个大的磁盘,不具有冗余功能,并行I/O,速度最快。它是将多个磁盘并列起来,成为一个大硬盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些磁盘中。所以,在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 1:两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个磁盘出错,可靠性{zg}。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是{zh0}的。但是其磁盘的利用率却只有50%,是所有RAID上磁盘利用率{zd1}的一个级别。
RAID 3 存放数据的原理和RAID 0、RAID 1不同。RAID 3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它象RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。但缺点是作为存放校验位的硬盘,工作负荷会很大,因为每次写操作,都会把生成的校验信息写入该磁盘,而其它磁盘的负荷相对较小,这会对性能有一定的影响。
RAID 5:在RAID 3的基础上,RAID 5进行了一些改进,当向阵列中的磁盘写数据,奇偶校验数据均匀存放在阵列中的各个盘上,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率也是n-1。
|
|