磁盘阵列(RAID)

一.概念:安全

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

.使用RAID的好处: 网络

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

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

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

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

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没有冗余功能的,若是一个磁盘(物理)损坏,则全部的数据都没法使用。

 

 

 

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

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

 

3.RAID 0+1

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

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

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

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

四.软件磁盘阵列的设置

经常使用命令以及参数: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