磁盘管理——RAID 10


磁盘管理——RAID 10
 
一 什么是RAID10
 
RAID 10/01细分为RAID 1+0或RAID 0+1。
RAID 1+0是先镜射再分割资料,再将所有硬碟分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。
RAID 0+1则是跟RAID 1+0的程序相反,是先分割再将资料镜射到两组硬碟。它将所有的硬碟分为两组,变成RAID 1的最低组合,而将两组硬碟各自视为RAID 0运作。
效能上,RAID 0+1比RAID 1+0有着更快的读写速度。
可靠性上,当RAID 1+0有一个硬碟受损,其余三个硬碟会继续运作。RAID 0+1 只要有一个硬碟受损,同组RAID 0的另一只硬碟亦会停止运作,只剩下两个硬碟运作,可靠性较低。
因此,RAID 10远较RAID 01常用,零售主机板绝大部份支援RAID 0/1/5/10,但不支援RAID 01。
 
 
二 RAID10演示
 
 第一步 对磁盘进行分区
[plain] 
#分别对sdb sdc sde sde分区  
[root@serv01 ~]# fdisk /dev/sdb  
[root@serv01 ~]# fdisk /dev/sdc  
[root@serv01 ~]# fdisk /dev/sdd  
[root@serv01 ~]# fdisk /dev/sde  
   
[root@serv01 ~]# ls /dev/sd  
sda  sda1  sda2  sda3 sda4  sda5  sdb  sdb1  sdc   sdc1 sdd   sdd1  sde  sde1  sdf   sdg    
[root@serv01 ~]# mdadm -C /dev/md0 -l 1 -n2 /dev/md0 /dev/md1  
mdadm: device /dev/md0 not suitable for anystyle of array  
 
第二步 创建RAID10
[plain] 
#创建/dev/md0,RAID1  
[root@serv01 ~]# mdadm -C /dev/md0 -l 1 -n2 /dev/sdb1 /dev/sdc1  
mdadm: Note: this array has metadata at thestart and  
   may not be suitable as a boot device. If you plan to  
   store '/boot' on this device please ensure that  
   your boot-loader understands md/v1.x metadata, or use  
   --metadata=0.90  
Continue creating array? y  
mdadm: Defaulting to version 1.2 metadata  
mdadm: array /dev/md0 started.  
#创建/dev/md1,RAID1  
[root@serv01 ~]# mdadm -C /dev/md1 -l 1 -n2 /dev/sdd1 /dev/sde1  
mdadm: Note: this array has metadata at thestart and  
   may not be suitable as a boot device. If you plan to  
   store '/boot' on this device please ensure that  
   your boot-loader understands md/v1.x metadata, or use  
   --metadata=0.90  
Continue creating array? y  
mdadm: Defaulting to version 1.2 metadata  
mdadm: array /dev/md1 started.  
   
#创建/dev/md10,RAID0  
[root@serv01 ~]# mdadm -C /dev/md10 -l 0 -n2 /dev/md0 /dev/md1  
mdadm: Defaulting to version 1.2 metadata  
mdadm: array /dev/md10 started.  
[root@serv01 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid0]  
md10 : active raid0 md1[1] md0[0]  
     4188160 blocks super 1.2 512k chunks  
       
md1 : active raid1 sde1[1] sdd1[0]  
     2095415 blocks super 1.2 [2/2] [UU]  
       
md0 : active raid1 sdc1[1] sdb1[0]  
     2095415 blocks super 1.2 [2/2] [UU]  
       
unused devices: <none>  
   
[root@serv01 ~]# mkfs.ext4 /dev/md10  
mke2fs 1.41.12 (17-May-2010)  
Filesystem label=  
OS type: Linux  
Block size=4096 (log=2)  
Fragment size=4096 (log=2)  
Stride=128 blocks, Stripe width=256 blocks  
262144 inodes, 1047040 blocks  
52352 blocks (5.00%) reserved for the superuser  
First data block=0  
Maximum filesystem blocks=1073741824  
32 block groups  
32768 blocks per group, 32768 fragments pergroup  
8192 inodes per group  
Superblock backups stored on blocks:  
       32768,98304, 163840, 229376, 294912, 819200, 884736  
   
Writing inode tables: done                             
Creating journal (16384 blocks): done  
Writing superblocks and filesystemaccounting information: done  
   
This filesystem will be automaticallychecked every 39 mounts or  
180 days, whichever comes first.  Use tune2fs -c or -i to override.  
[root@serv01 ~]# mkdir /web  
[root@serv01 ~]# mount /dev/md10 /web  
[root@serv01 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda2             9.7G  1.1G 8.1G  12% /  
tmpfs                 385M     0 385M   0% /dev/shm  
/dev/sda1             194M   25M 160M  14% /boot  
/dev/sda5             4.0G  137M 3.7G   4% /opt  
/dev/sr0              3.4G  3.4G    0 100% /iso  
/dev/md10             4.0G   72M 3.7G   2% /web  
   
[root@serv01 ~]# mdadm --detail --scan  
ARRAY /dev/md0 metadata=1.2name=serv01.host.com:0 UUID=78656148:8251f76a:a758c84e:f8927ae0  
ARRAY /dev/md1 metadata=1.2name=serv01.host.com:1 UUID=176f932e:a6451cd4:860a9cf7:847b51b7  
ARRAY /dev/md10 metadata=1.2name=serv01.host.com:10 UUID=0428d240:4e9d097a:80bfe439:2802ff3e  
[root@serv01 ~]# mdadm --detail --scan >/etc/mdadm.conf  
[root@serv01 ~]# vim /etc/fstab  
[root@serv01 ~]# echo "/dev/md10 /webext4 defaults 1 2" >> /etc/fstab  
 
第三步 重启后发现系统坏掉,很显然RAID10不能正常使用
[plain] 
[root@serv01 ~]# reboot  
   
#重启后系统不能正常启动,把添加到fstab中的关于RAID10的那一行删除  
#硬RAID才可以实现这个功能,软RAID只能做演示  
#注意:默认跟分区是以只读的形式挂载,需要重新挂载  
[root@serv01 ~]# mount -o remount,rw /  
 
第四步 固定名字,也不能正常使用
[plain] 
[root@serv01 ~]# mdadm --assemble /dev/md10/dev/md0 /dev/md1  
mdadm: no correct container type: /dev/md0  
mdadm: /dev/md0 has no superblock -assembly aborted  
[root@serv01 ~]# mdadm --assemble /dev/md0/dev/sdb1 /dev/sdc1  
mdadm: cannot open device /dev/sdb1: Deviceor resource busy  
mdadm: /dev/sdb1 has no superblock -assembly aborted  
[root@serv01 ~]# mdadm --assemble /dev/md0/dev/sdc1 /dev/sdc1  
[root@serv01 ~]# mdadm --manage /dev/md0--stop  
mdadm: stopped /dev/md0  
[root@serv01 ~]# mdadm --manage /dev/md1--stop  
mdadm: stopped /dev/md1  
[root@serv01 ~]# mdadm --assemble /dev/md0/dev/sdb1 /dev/sdc1  
mdadm: /dev/md0 has been started with 2drives.  
[root@serv01 ~]# mdadm --assemble /dev/md1/dev/sdd1 /dev/sde1  
mdadm: /dev/md1 has been started with 2drives.  
[root@serv01 ~]# mdadm --assemble /dev/md10/dev/md0 /dev/md1  
mdadm: /dev/md10 has been started with 2drives.  
[root@serv01 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid0]  
md10 : active raid0 md0[0] md1[1]  
     4188160 blocks super 1.2 512k chunks  
       
md1 : active raid1 sdd1[0] sde1[1]  
     2095415 blocks super 1.2 [2/2] [UU]  
       
md0 : active raid1 sdb1[0] sdc1[1]  
     2095415 blocks super 1.2 [2/2] [UU]  
       
unused devices: <none>  
 
第五步 实验完毕,停掉硬盘,清空磁盘
[plain] 
[root@serv01 ~]# mdadm --manage /dev/md0--stop  
mdadm: Cannot get exclusive access to/dev/md0:Perhaps a running process, mounted filesystem or active volume group?  
[root@serv01 ~]# mdadm --manage /dev/md10--stop  
mdadm: stopped /dev/md10  
[root@serv01 ~]# mdadm --manage /dev/md0--stop  
mdadm: stopped /dev/md0  
[root@serv01 ~]# mdadm --manage /dev/md1--stop  
mdadm: stopped /dev/md1  
[root@serv01 ~]# mdadm --misc --zero-superblock/dev/sdb1  
[root@serv01 ~]# mdadm --misc--zero-superblock /dev/sdc1  
[root@serv01 ~]# mdadm --misc--zero-superblock /dev/sdd1  
[root@serv01 ~]# mdadm --misc--zero-superblock /dev/sde1  
[root@serv01 ~]# mdadm -E /dev/sdb1  
mdadm: No md superblock detected on/dev/sdb1.  
[root@serv01 ~]# mdadm -E /dev/sdd1  
mdadm: No md superblock detected on/dev/sdd1.  
[root@serv01 ~]# mdadm -E /dev/sdc1  
mdadm: No md superblock detected on/dev/sdc1.  
[root@serv01 ~]# mdadm -E /dev/sde1  
mdadm: No md superblock detected on/dev/sde1.  

相关内容

    暂无相关文章