一、RAID简单介绍
RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列,早期称为廉价磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。
1,RAID 0
实现RAID0至少需要两块磁盘,没有容错能力。数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上,所以RAID0的磁盘利用率是100%。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。RAID0实现了数据的并发存储,但在冗余上却为0,如果是为了快速读取数据则RAID0是个不错的选择。
2,RAID 1
RAID 1 最少需要两块硬盘,一块用来存放数据,另一块用来做镜像,用牺牲容量的方式换来了系统容错能力的提升。RAID1的磁盘利用率只有50%,是所有RAID中磁盘利用率最低的。
3,RAID 4
RAID 4需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以RAID 0方式将数据写入其它磁盘,如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据。如果两个驱动器出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入其它磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈。
4,RAID 5
RAID 5至少需要三块磁盘,允许一块盘出错。RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个驱动器上,如图4所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5 可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。
5、RAID 10
RAID 10至少需要四块磁盘,说白了就是先做两组RAID 1 再做成RAID 0,然后将这两组各自视为RAID 1运作。RAID 10有着不错的读取速度,而且拥有比RAID 0更高的数据保护性。允许不同RAID1组内各坏一块盘。
6、RAID 01
RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。RAID 01比起RAID 10有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID 01就会停止运作,而RAID 10则可以在牺牲RAID 0的优势下正常运作。
RAID 10/01巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。
二、软RAID相关命令说明
1、mdadm命令(multiple devices admin)
linux下的软件RAID叫md,我们要用mdadm(配置文件:/etc/mdadm.conf)这个命令来搞定软件RAID的创建及维护。
语法: mdadm [mode] <raiddevice> [options] <component-devices>
[mode]:
A:装配模式:使用指定的设备装配并启动指定的RAID设备 mdadm -A /dev/md0 /dev/sdb{1,2,3}
C:创建模式
-n #:用于创建RAID设备的个数
-x #:热备磁盘的个数
-l:RAID的级别
-a:yes,自动为创建的RAID设备创建设备文件
-c:CHunk_Size:指定分块大小,默认为512,单位为KB
F:监控模式
管理模式
-f:fault,设置为损坏
-r:remove,移除损坏的磁盘
-a:add,增加RAID磁盘
-S:stop,停止指定的RAID设备
-D:--detail,显示阵列的详细信息
2、命令格式举例
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1,2,3,4}
3、查看软件RAID状态信息
fdisk -l
mdadm -D /dev/md0
cat /proc/mdstat
watch -n1 'cat /proc/mdstat/ '
三、创建一个RAID 5,增加热备盘,并模拟损坏、移除、增加,最后停止RAID并重新装配。
1、首先创建四个linux软RAID的FD分区,3个用作RAID5,一个用作热备盘。
2、创建分区并修改文件系统标识为FD,保存退出。
3、格式化四个磁盘,主要目的是创建文件系统。
4、使用mdadm命令创建软RAID5,为/dev/md0
5、使用cat /proc/mdstat查看RAID状态。
6、使用命令mdadm -D /dev/md0查看RAID详细信息,RAID 5状态正常,热备盘状态正常。
7、使用mdadm /dev/md0 -f /dev/sdc3命令设置sdc3损坏。
8、查看RAID5一个磁盘损坏后的状态:热备盘自动补上,且会同步数据,损坏盘撤下,RAID工作正常。
9、使用mdadm /dev/md0 -r /dev/sdc3命令撤下损坏盘。
10、撤下损坏盘后,RAID状态。
11、使用mdadm /dev/md0 -a /dev/sdc3命令增加一块新的热备盘到RAID上。
12、增加新RAID热备盘后,工作状态回复到最初状态。
13、使用mdadm -S /dev/md0命令停止指定RAID设备,并用mdadm -A /dev/md0 /dev/sdc{1,2,3,4}命令进行重新装配。
14、RAID重新装配后,状态依然完好如初。
转载于:https://blog.51cto.com/nmshuishui/1362216