共享热备盘

由于条件有限,本试验是在Vmware虚拟机上模拟完成的。试验使用的是两个raid1组之间的共享一个热备盘,一开始md0有一个热备盘,而md1没有热备盘,通过修改配置文件可以使它们共享一块热备盘。如此可在节省磁盘的同时,同时也增强了安全性。

  1. 1、环境搭建:  
  2.  
  3. # fdisk -l | grep '^/dev/'  //查看当前磁盘的分区结构  
  4.  
  5. /dev/sda1   *          1          13      104391  83  Linux  
  6.  
  7. /dev/sda2              14        2610   20860402+  8e  Linux LVM  
  8.  
  9. /dev/sdb1               1        2610   20964793+  fd  Linux raid autodetect  
  10.  
  11. /dev/sdc1               1        2610   20964793+  fd  Linux raid autodetect  
  12.  
  13. /dev/sdd1               1        2610   20964793+  fd  Linux raid autodetect  
  14.  
  15. /dev/sde1               1        2610   20964793+  fd  Linux raid autodetect  
  16.  
  17. /dev/sdf1               1        2610   20964793+  fd  Linux raid autodetect  
  18.  
  19. [root@localhost ~]#  
  20.  
  21.    
  22.  
  23. [root@localhost ~]# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb1/dev/sdc1   #创建raid1设备1——》md0  
  24.  
  25. mdadm: array /dev/md0 started.  
  26.  
  27. [root@localhost ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdd1/dev/sde1   #创建raid1设备2——》md1  
  28.  
  29. mdadm: array /dev/md1 started.  
  30.  
  31. [root@localhost ~]#  
  32.  
  33.    
  34.  
  35. [root@localhost ~]# mdadm /dev/md0 -a /dev/sdf   #增加一块热备盘到md0中去,当然也可以一开始建立md0的时候使用选项-x可以实现: mdadm -C /dev/md0 -l 1 -n 2 -x1 /dev/sdb1 /dev/sdc1/dev/sdf1  
  36.  
  37. mdadm: added /dev/sdf  
  38.  
  39. [root@localhost ~]#  
  40.  
  41.    
  42.  
  43. 完成以上操作之后格式化建立的raid  
  44.  
  45. [root@localhost ~]# mkfs.ext3 /dev/md0  
  46.  
  47. [root@localhost ~]# mkfs.ext3 /dev/md1  
  48.  
  49.    
  50.  
  51. [root@localhost ~]# mdadm -D /dev/md0  #查看md0的详细raid信息  
  52.  
  53. /dev/md0:  
  54.  
  55.         Version : 0.90  
  56.  
  57.   Creation Time : Mon Feb  6 21:14:26 2012  
  58.  
  59.      Raid Level : raid1  
  60.  
  61.      Array Size : 20964672 (19.99 GiB 21.47 GB)  
  62.  
  63.   Used Dev Size : 20964672 (19.99 GiB 21.47 GB)  
  64.  
  65.    Raid Devices : 2  
  66.  
  67.   Total Devices : 3  
  68.  
  69. Preferred Minor : 0  
  70.  
  71.     Persistence : Superblock is persistent  
  72.  
  73.    
  74.  
  75.     Update Time : Mon Feb  6 21:21:37 2012  
  76.  
  77.           State : clean  
  78.  
  79.  Active Devices : 2  
  80.  
  81. Working Devices : 3  
  82.  
  83.  Failed Devices : 0  
  84.  
  85.   Spare Devices : 1  
  86.  
  87.    
  88.  
  89.            UUID :d3139435:a8e981cc:db393640:b48c5bcf  
  90.  
  91.          Events : 0.2  
  92.  
  93.    
  94.  
  95.     Number  Major   Minor   RaidDevice State  
  96.  
  97.        0      8       17        0     active sync   /dev/sdb1  
  98.  
  99.        1      8       33        1     active sync   /dev/sdc1  
  100.  
  101.    
  102.  
  103.        2      8       80        -     spare   /dev/sdf  
  104.  
  105. #这里可以发现热备盘是在md0上的  
  106.  
  107. [root@localhost ~]# mdadm -D /dev/md1  
  108.  
  109. /dev/md1:  
  110.  
  111.         Version : 0.90  
  112.  
  113.   Creation Time : Mon Feb  6 21:14:46 2012  
  114.  
  115.      Raid Level : raid1  
  116.  
  117.      Array Size : 20964672 (19.99 GiB 21.47 GB)  
  118.  
  119.   Used Dev Size : 20964672 (19.99 GiB 21.47 GB)  
  120.  
  121.    Raid Devices : 2  
  122.  
  123.   Total Devices : 2  
  124.  
  125. Preferred Minor : 1  
  126.  
  127.     Persistence : Superblock is persistent  
  128.  
  129.    
  130.  
  131.     Update Time : Mon Feb  6 21:21:44 2012  
  132.  
  133.           State : clean  
  134.  
  135.  Active Devices : 2  
  136.  
  137. Working Devices : 2  
  138.  
  139.  Failed Devices : 0  
  140.  
  141.   Spare Devices : 0  
  142.  
  143.    
  144.  
  145.            UUID :96798114:27a61808:4e3e764e:ae834ac5  
  146.  
  147.          Events : 0.2  
  148.  
  149.    
  150.  
  151.     Number  Major   Minor   RaidDevice State  
  152.  
  153.        0      8       49        0     active sync   /dev/sdd1  
  154.  
  155.        1      8       65        1     active sync   /dev/sde1  
  156.  
  157. #md1上没有热备盘  
  158.  
  159. [root@localhost ~]#  
  160.  
  161.    
  162.  
  163. 生成信息重定向到配置文件中  
  164.  
  165. [root@localhost ~]# mdadm -Ds >/etc/mdadm.conf  
  166.  
  167. [root@localhost ~]# cat /etc/mdadm.conf  
  168.  
  169. ARRAY /dev/md0 level=raid1num-devices=2 metadata=0.90 spares=1 UUID=d3139435:a8e981cc:db393640:b48c5bcf  
  170.  
  171. ARRAY /dev/md1 level=raid1num-devices=2 metadata=0.90 UUID=96798114:27a61808:4e3e764e:ae834ac5  
  172.  
  173. [root@localhost ~]# vim /etc/mdadm.conf  
  174.  
  175. [root@localhost ~]# cat /etc/mdadm.conf  #修改内容如下  
  176.  
  177. ARRAY /dev/md0 level=raid1num-devices=2 metadata=0.90 spare-group=sparedisks UUID=d3139435:a8e981cc:db393640:b48c5bcf  
  178.  
  179. ARRAY /dev/md1 level=raid1num-devices=2 metadata=0.90 spare-group=sparedisks UUID=96798114:27a61808:4e3e764e:ae834ac5  
  180.  
  181. [root@localhost ~]#  
  182.  
  183.    
  184.  
  185. 2、启动监控,监控室必须的,要知道系统是没有那么聪明的,哈哈  
  186.  
  187. [root@localhost ~]# mdadm --monitor --mail=root@localhost--syslog --program=/root/md.sh --delay=300 /dev/md* --daemonise  #启用监控两组raid设备,并且有状况发送信息给root用户,以及后台执行  
  188.  
  189. 3867  
  190.  
  191. [root@localhost ~]#  
  192.  
  193.    
  194.  
  195. #当然也可以直接使用如下命令使破坏的过程日志显示在屏幕上,而不是发邮件的形式给管理员  
  196.  
  197. [root@localhost ~]# mdadm --monitor /dev/md*  
  198.  
  199.    
  200.  
  201.    
  202.  
  203. 3、模拟破坏过程  
  204.  
  205. [root@localhost ~]# mdadm /dev/md1 -f /dev/sde1  #破坏/dev/sde1   
  206.  
  207.    
  208.  
  209. [root@localhost ~]# mdadm -D /dev/md0  #再次查看当前md0的详细状态  
  210.  
  211. /dev/md0:  
  212.  
  213.         Version : 0.90  
  214.  
  215.   Creation Time : Mon Feb  6 21:14:26 2012  
  216.  
  217.      RaidLevel : raid1  
  218.  
  219.      Array Size : 20964672 (19.99 GiB 21.47 GB)  
  220.  
  221.   Used Dev Size : 20964672 (19.99 GiB 21.47 GB)  
  222.  
  223.    Raid Devices : 2  
  224.  
  225.   Total Devices : 2  
  226.  
  227. Preferred Minor : 0  
  228.  
  229.     Persistence : Superblock is persistent  
  230.  
  231.    
  232.  
  233.     Update Time : Mon Feb  6 21:29:04 2012  
  234.  
  235.           State : clean  
  236.  
  237.  Active Devices : 2  
  238.  
  239. Working Devices : 2  
  240.  
  241.  Failed Devices : 0  
  242.  
  243.   Spare Devices : 0  
  244.  
  245.    
  246.  
  247.            UUID :d3139435:a8e981cc:db393640:b48c5bcf  
  248.  
  249.          Events : 0.4  
  250.  
  251.    
  252.  
  253.     Number  Major   Minor   RaidDevice State  
  254.  
  255.        0      8       17        0     active sync   /dev/sdb1  
  256.  
  257.        1      8       33        1     active sync   /dev/sdc1  
  258.  
  259. #设备/dev/sdf已经不在md0中了  
  260.  
  261. [root@localhost ~]#  
  262.  
  263.    
  264.  
  265. [root@localhost ~]# mdadm -D /dev/md1 #查看md1的详细信息  
  266.  
  267. /dev/md1:  
  268.  
  269.         Version : 0.90  
  270.  
  271.   Creation Time : Mon Feb  6 21:14:46 2012  
  272.  
  273.      Raid Level : raid1  
  274.  
  275.      Array Size : 20964672 (19.99 GiB 21.47 GB)  
  276.  
  277.   Used Dev Size : 20964672 (19.99 GiB 21.47 GB)  
  278.  
  279.    Raid Devices : 2  
  280.  
  281.   Total Devices : 3  
  282.  
  283. Preferred Minor : 1  
  284.  
  285.     Persistence : Superblock is persistent  
  286.  
  287.    
  288.  
  289.     Update Time : Mon Feb  6 21:29:04 2012  
  290.  
  291.           State : clean, degraded, recovering  
  292.  
  293.  Active Devices : 1  
  294.  
  295. Working Devices : 2  
  296.  
  297.  Failed Devices : 1  
  298.  
  299.   Spare Devices : 1  
  300.  
  301.    
  302.  
  303.  Rebuild Status : 14% complete  
  304.  
  305.    
  306.  
  307.            UUID :96798114:27a61808:4e3e764e:ae834ac5  
  308.  
  309.          Events : 0.6  
  310.  
  311.    
  312.  
  313.     Number  Major   Minor   RaidDevice State  
  314.  
  315.        0      8       49        0     active sync   /dev/sdd1  
  316.  
  317.        2      8       80        1     spare rebuilding   /dev/sdf  
  318.  
  319.    
  320.  
  321.        3      8       65        -     faulty spare   /dev/sde1  
  322.  
  323. #此时我们可以看到sdf热备盘已经转到md1下了  
  324.