Raid的几种模式的简介,以及linux下建立raid方法

为什么80%的码农都做不了架构师?>>>   hot3.png

 http://page.renren.com/600235506/note/486081565?op=pre&curTime=1282876355000

    RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。

    常见的raid种类有0,1,5,10等。

    RAID 0:无差错控制的带区组

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



Raid的几种模式的简介,以及linux下建立raid方法_第1张图片

RAID 1:镜象结构

raid1对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。通过下面的结构图您也可以看到必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。


Raid的几种模式的简介,以及linux下建立raid方法_第2张图片

RAID5:分布式奇偶校验的独立磁盘结构

RAID5清晰图片从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。RAID5校验位即P位是通过其它条带数据做异或(xor)求得的。计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的数据块,xor是数学运算符号异或。


Raid的几种模式的简介,以及linux下建立raid方法_第3张图片

(PS.在raid5中,任何一块硬盘出现错误甚至是完全损坏都没有问题,而且能完全修复,这就是奇偶校验的优势)

RAID10:高可靠性与高效磁盘结构

这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以互为镜像的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于容量不大,但要求速度和差错控制的数据库中。


Raid的几种模式的简介,以及linux下建立raid方法_第4张图片

(PS.raid10其实就是raid1+raid0)

Linux下建立Raid (以raid1为例子)

1、先用fdisk在硬盘上划分出空间。

fdisk /dev/sdc  (后面的根据自己实际情况修改,因为我这里是虚拟机,所以就用2个500M的来做成一个raid)

然后将其的功能改为 Linux raid autodetect 

(也就是在fdisk下面 用t选择功能然后输入 -->fd)


Raid的几种模式的简介,以及linux下建立raid方法_第5张图片

2、建立raid

mdadm -C /dev/md1 -l 1 -n 2 /dev/sdc -n 2 /dev/sdc1 /dev/sdc2

mdadm -C 【raid阵列所在】 -l 【raid等级】 -n 【设备数】 【设备分别是什么】

建立完毕之后,可以通过cat /proc/mdstat 查看是否成功


Raid的几种模式的简介,以及linux下建立raid方法_第6张图片

3、格式化

mkfs.ext3 /dev/md1

4、挂载

mount /dev/md1 /raid1

5、建立mdadm.conf文件

mdadm -Ds > /etc/mdadm.conf

6、编辑mdadm.conf

加入DEVICE /dev/sdc1 /dev/sdc2


Raid的几种模式的简介,以及linux下建立raid方法_第7张图片

5、6部在一些人写的文章中很少提到,但是我在实际工作中遇到过如果不建立mdadm.conf文件导致服务器重启之后raid无法正常运行.

 



转载于:https://my.oschina.net/cxz001/blog/108862

你可能感兴趣的:(Raid的几种模式的简介,以及linux下建立raid方法)