Raid 10有很多值得学习的地方,这里我们主要介绍Raid 10结构,包括介绍Raid 0与Raid1等方面。Raid 10结构是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。
由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10结构成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。这种新结构的可扩充性不好,这种解决方案被广泛应用,使用此方案比较昂贵。
Raid 10结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘2和磁盘3又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据0、1、3、4,写在硬盘2中则为数据0、2、3、5,硬盘3中的数据为1、2、4、5,因此数据在三个硬盘上的分布不同于Raid1 和Raid0,但又具有两者的特性。
虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。磁盘2损坏了,整个逻辑磁盘仍能正常工作的。
当我们需要恢复RAID 10中损坏的磁盘2时,只需要更换新的硬盘,安装RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。新换硬盘2,原先的数据0、2、3、5会同步恢复到硬盘2中。
总的来说,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像操作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带;对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10结构适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。
[root@mail ~]# mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sd{b,c,d,e}1 mdadm: /dev/sdb1 appears to contain an ext2fs file system size=3132288K mtime=Thu Jun 13 17:39:02 2013 mdadm: /dev/sdb1 appears to be part of a raid array: level=raid5 devices=4 ctime=Thu Jun 13 17:36:44 2013 mdadm: /dev/sdc1 appears to be part of a raid array: level=raid5 devices=4 ctime=Thu Jun 13 17:36:44 2013 mdadm: /dev/sdd1 appears to be part of a raid array: level=raid5 devices=4 ctime=Thu Jun 13 17:36:44 2013 mdadm: /dev/sde1 appears to contain an ext2fs file system size=3132288K mtime=Thu Jun 13 17:39:02 2013 mdadm: /dev/sde1 appears to be part of a raid array: level=raid5 devices=4 ctime=Thu Jun 13 17:36:44 2013 mdadm: largest drive (/dev/sdb1) exceed size (1044096K) by more than 1% Continue creating array? yes mdadm: array /dev/md10 started. [root@mail ~]# mdadm -Ds /dev/md5 mdadm: md device /dev/md5 does not appear to be active. [root@mail ~]# mdadm -Ds /dev/md10 /dev/md10: Version : 0.90 Creation Time : Thu Jun 13 19:16:58 2013 Raid Level : raid10 Array Size : 2088192 (2039.59 MiB 2138.31 MB) Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 10 Persistence : Superblock is persistent Update Time : Thu Jun 13 19:17:42 2013 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 64K UUID : 5d22fcdf:6ea0561d:73986ccd:226ebebd Events : 0.4 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1 [root@mail ~]# mdadm /dev/md10 -f /dev/sdb1 mdadm: set /dev/sdb1 faulty in /dev/md10 [root@mail ~]# mdadm -Ds /dev/md10 /dev/md10: Version : 0.90 Creation Time : Thu Jun 13 19:16:58 2013 Raid Level : raid10 Array Size : 2088192 (2039.59 MiB 2138.31 MB) Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 10 Persistence : Superblock is persistent Update Time : Thu Jun 13 19:20:30 2013 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : near=2 Chunk Size : 64K UUID : 5d22fcdf:6ea0561d:73986ccd:226ebebd Events : 0.6 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1 4 8 17 - faulty spare /dev/sdb1 [root@mail ~]# mdadm /dev/md10 -f /dev/sdc1 mdadm: set /dev/sdc1 faulty in /dev/md10 [root@mail ~]# mdadm -Ds /dev/md10 /dev/md10: Version : 0.90 Creation Time : Thu Jun 13 19:16:58 2013 Raid Level : raid10 Array Size : 2088192 (2039.59 MiB 2138.31 MB) Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 10 Persistence : Superblock is persistent Update Time : Thu Jun 13 19:20:40 2013 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 2 Spare Devices : 0 Layout : near=2 Chunk Size : 64K UUID : 5d22fcdf:6ea0561d:73986ccd:226ebebd Events : 0.8 Number Major Minor RaidDevice State 0 0 0 0 removed 1 0 0 1 removed 2 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1 4 8 33 - faulty spare /dev/sdc1 5 8 17 - faulty spare /dev/sdb1