RAID级别介绍
RAID的定义
RAID:独立硬盘冗余阵列 (Redundant Arrays of Inexpensive Disks)
把多个硬盘组合起来,成为一个硬盘阵列组,将其作为一个磁盘。
RAID的作用
-
增强数据集成度
-
增强容错功能,即耐用性
-
增加处理量或容量,即提高IO能力
实现RAID的方式
-
外接磁盘阵列:通过扩展卡提高适配能力
-
内接式RAID:主板集成RAID控制器
-
Software RAID
我们在使用中比较常用的RAID的级别分别有:
-
RAID-0:
-
RAID-1:
-
RAID-2:
-
RAID-3:
-
RAID-4:
-
RAID-5:
-
RAID-6:
其组合形式主要有:
-
RAID-10
-
RAID-50
-
RAID-60
我们主要介绍RAID-0,RAID-1,RAID-5,RAID-10,RAID-5这四种方式。
1.RAID-0
条带卷,即将数据流分成块(chunk)轮流存储到两个即两个以上的磁盘中。 因为读写都可并行处理,所以在所有的级别中,RAID-0的速度是最快的,但不具备容错能力。即如果一个磁盘损坏,则所有数据都会丢失。它的可用空间为N*min(S1,S2,…)。
2.RAID-1
镜像卷(mirror),即将数据各向两个及两个以上的磁盘存一份。读性能提升,但写性能略有下降,因为写性能是以最慢的写速度作为标准。有容错能力,如果主硬盘损坏时,镜像硬盘则替代主硬盘工作。总体来说,RAID-1的数据安全性是最高的,但磁盘利用率是最低的。它的可用空间为min(S1,S2,…)。
3.RAID-5
RAID-5是RAID-0和RAID-1之间的这种方法,它的数据安全性比RAID-0高,磁盘利用率比RAID-1高。
RAID的工作方式是:在RAID-0的基础上在增加一个磁盘,即最少使用3个磁盘,除了需要存放数据,还需存放对应的多位数据的异或值,即利用奇偶校验法,要注意的是,数据块(chunks)和校验位必须要按顺序即默认为左对称的方式排放。
RAID-5有容错能力,但只能允许一个磁盘损害,出现损害后可利用校验位可求出损害磁盘中所对应的数据来进行读操作。 可用空间(N-1)*min(S1,S2…)
4.RAID-10
RAID 10是先像射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。读写性能提升,有容错能力,只要一组镜像不同时损害,数据就是安全的。最少需要4块磁盘。可用空间是N*min(S1,S2…)/2
5.JBOD: Just a Bunch Of Disks
将多块磁盘的空间合并一个大的连续空间使用,任意一块磁盘损坏,数据及损坏。 可用空间:sum(S1,S2,…)
RAID的创建
创建RAID的前提是要创建好足够多的分区,并将分区设置为 Linux raid形式。
下面我们来讲讲具体的操作:
[root@localhost ~]# mdadm -C /dev/md0 -l 1 -a yes -c 256 -n 2 -x 1 /dev/sda{5,6,7} -C: 创建模式 /dev/md0: RAID设备文件 -l #:指明要创建的RAID的级别 -a {yes|no}:自动创建目标RAID设备的设备文件 -c CHUNK_SIZE: 指明块大小 -n #: 使用#个块设备来创建此RAID; -x #: 指明空闲盘的个数
下面来创建文件系统,我们选择ext4, [root@localhost ~]# mkfs.ext4 -L 'mydata' /dev/md0 #指明卷标为mydata,还有一些其他的选项见上一篇文件系统整理。
下面挂载设备文件
mount /dev/md0 /testing/ #将刚创建的RAID挂载到/testing目录上。
以上RAID就全部完成了
下面是一些测试
[root@localhost ~]# mdadm /dev/md0 -f /dev/sda5 mdadm: set /dev/sda5 faulty in /dev/md0 # 将/dev/sda5标记为损坏 [root@localhost ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Jul 13 08:59:42 2016 Raid Level : raid1 Array Size : 5243712 (5.00 GiB 5.37 GB) Used Dev Size : 5243712 (5.00 GiB 5.37 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Jul 13 09:12:55 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 1 Spare Devices : 0 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : 5200617c:c8fb16ca:3b7de280:0d56f967 Events : 36 Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6 0 8 5 - faulty /dev/sda5 #显示raid的详细信息,可以看到此时备用磁盘/dev/sda7已自动成为主磁盘里。数据未遭到损坏。 [root@localhost ~]# mdadm /dev/md0 -r /dev/sda5 # 移除磁盘/dev/sda5
此时raid的信息是
Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6
下面我们再来添加/dev/sda5
mdadm /dev/md0 -a /dev/sda5 #添加磁盘/dev/sda5
可看到信息:
Number Major Minor RaidDevice State 2 8 7 0 active sync /dev/sda7 1 8 6 1 active sync /dev/sda6 3 8 5 - spare /dev/sda5
如果想停止md设备
[root@localhost ~]# umount /testing/ [root@localhost ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0 #注意:一定要先卸载设备,才能停止
原创文章,作者:21期-扬州-蓝,如若转载,请注明出处:http://www.178linux.com/24176
评论列表(1条)
写的很好,排版也很漂亮,加油