一.概念:

RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array)

.使用RAID的好处:

1.扩大了存贮能力 可由多个硬盘组成容量巨大的存贮空间。

2.降低了单位容量的成本 市场上最大容量的硬盘每兆容量的价格要大大高于普及型硬盘,因此采用多个普及型硬盘组成的阵列其单位价格要低得多。

3.提高了存贮速度 单个硬盘速度的提高均受到各个时期的技术条件限制,要更进一步往往是很因难的,而使用RAID,则可以让多个硬盘同时分摊数据的读或写操作,因此整体速度有成倍地提高。

4.可靠性 RAID系统可以使用两组硬盘同步完成镜像存贮,这种安全措施对于网络服务器来说是最重要不过的了。

5.容错性 RAID控制器的一个关键功能就是容错处理。容错阵列中如有单块硬盘出错,不会影响到整体的继续使用,高级RAID控制器还具有拯救功能。

三.常用的RAID等级有RAID 0RAID1RAID 2RAID 3,RAID 4,RAID 5,RAID 6,RAID 7,这里介绍目前比较常用的RAID 0RAID 1RAID 5

1RAID 0(等量模式stripe):性能最佳

RAID 0可以把多块硬盘连接在一起形成一个容量更大的存储设备。磁盘之间的连接既可以使用硬件的形式通过智能磁盘控制器实现,也可以使用操作系统中的磁盘驱动程序以软件的方式实现。

要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

 

磁盘阵列(RAID)_磁盘阵列

 

 

2.RAID 1(映像模式,mirror):完整备份

RAID 1又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据.RAID 1下任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据。

 

磁盘阵列(RAID)_磁盘阵列_02

3.RAID 0+1

所谓的RAID 0+1,就是先让两块磁盘组成RAID 0,并且这样的设备两组,然后再将这两组RAID 0再组成一组RAID 1。由于具有RAID 0的优点,性能得以提升,同时又具有RAID 1的优点,数据得以备份,但是由于RAID1的缺点,总容量会少一半用来备份。

磁盘阵列(RAID)_磁盘阵列_03

4.RAID 5:性能与备份的均衡考虑

RAID-5至少需要三块以上的磁盘才能组成类型的磁盘阵列。

RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1 但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。

磁盘阵列(RAID)_磁盘阵列_04

四.软件磁盘阵列的设置

常用命令以及参数:mdadm  - -create  --auto=yes   /dev/md0-9 –raid-devices=N –level=[0/1/5] –spare-devices=N   /dev/sdax

参数解析: --create    新建RAID

           --auto=yes  决定新建后而接的软件磁盘阵列设备,即/dev/md0,/dev/md1

           --raid-devices=N 使用几块磁盘作为磁盘阵列设备

           --spare-devices=N 使用几块磁盘作为备用设备

           --level=[0/1/5]:设置磁盘阵列等级

五.软件磁盘阵列的实现:

案例:利用4个分区组成一个RAID 5,每个分区大小1G,并将此RAID5设备挂载到/mnt/raid目录下。

创建如下:1.磁盘分区:fdisk /dev/sda

           连续创建四个磁盘分区,分别为/dev/sda6,/dev/sda7,/dev/sda8,/dev/sda8保存退出;

 # Partprode /dev/sda 重读分区表

          2.mdadm创建RAID 5

#mdadm  --create  --auto=yes   /dev/md0  --raid-devices=4 --level=5   /dev/sda{6,7,8,9}

3.查看系统软件磁盘阵列信息

mdadm  --detail /dev/md0

4.格式化并进行挂载

# mkfs –t ext3 /dev/md0

#mkdir /dev/raid

#mount /dev/md0 /dev/raid