Rhel5 軟raid5的實驗

RAID5 :至少須要 3 塊磁盤,是 raid0 raid1 的折中方案,採用奇偶校驗的方式將數據拆分存儲在不一樣的磁盤中,而且其數據和對應的校驗信息存儲在不一樣的磁盤上,最多容許有一塊磁盤故障,在更換了故障的磁盤後能夠使用校驗信息來恢復丟失的數據。
本實驗中將使用 4 塊磁盤建立軟 RAID5 ,其中一塊磁盤作備份磁盤。軟 RAID ,即操做系統級的 RAID
一、         建立以來創建 RAID5 4 個分區。
[root@vm ~]# fdisk /dev/sdb    //建立4個磁盤分區
 
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 
Command (m for help): n   //建立分區
Command action
   e   extended
   p   primary partition (1-4)
p                       //選擇主分區
Partition number (1-4): 1      //分區ID 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): 100
 
......
 
Command (m for help): t              //更改分區類型爲 Linux raid autodetect
Partition number (1-4): 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)
 
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)
 
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd
Changed system type of partition 3 to fd (Linux raid autodetect)
 
Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): fd
Changed system type of partition 4 to fd (Linux raid autodetect)
 
Command (m for help): p           //查看分區結構
 
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         100      803218+  fd  Linux raid autodetect
/dev/sdb2             101         200      803250   fd  Linux raid autodetect
/dev/sdb3             201         300      803250   fd  Linux raid autodetect
/dev/sdb4             301         400      803250   fd  Linux raid autodetect
 
Command (m for help): w           //保存退出
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
[root@vm ~]#
 
二、         建立軟 RAID5 陣列。
[root@vm ~]# mdadm -C /dev/md0 -l 5 –n 3 -x 1 -c 128  /dev/sdb{1,2,3,4}
-C 建立 後面接建立的RAID塊設備名稱
-l 5  建立raid 5
-n 3 用於建立raid5磁盤的數量,即活動磁盤的數量,RAID5最少爲3
-x 5 備用磁盤的數量
-c 128 設置塊大小爲128K ,默認爲64K
 
三、         格式化建立的 RAID 陣列並掛載。
[root@vm /]# mkfs.ext3 /dev/md0   //格式化文件系統爲ext3
[root@vm /]# mount /dev/md0  /mnt/    //掛載文件系統
[root@vm /]# mdadm --detail /dev/md0     //查看詳細信息
/dev/md0:
        Version : 0.90
  Creation Time : Fri Jul 30 15:14:09 2010
     Raid Level : raid5
     Array Size : 1606144 (1568.76 MiB 1644.69 MB)
  Used Dev Size : 803072 (784.38 MiB 822.35 MB)
   Raid Devices : 3
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent
 
    Update Time : Fri Jul 30 15:19:14 2010
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1
 
         Layout : left-symmetric
     Chunk Size : 128K
 
           UUID : 7035b6e4:31c6f22f:cb44717b:a34273bf
         Events : 0.2
 
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1 // 注意狀態 」active」
       1       8       18        1      active sync   /dev/sdb2
       2       8       19        2      active sync   /dev/sdb3
 
       3       8       20        -      spare   /dev/sdb4     //備用分區
[root@vm /]#
 
四、         模擬陣列中的某個分區失效。
[root@vm /]# mdadm /dev/md0 -f /dev/sdb3 //模擬組成rdia5sdb3磁盤失效
mdadm: set /dev/sdb3 faulty in /dev/md0
[root@vm /]#
[root@vm /]# mdadm --detail /dev/md0   //再次查看raid5 信息
/dev/md0:
        Version : 0.90
  Creation Time : Fri Jul 30 15:14:09 2010
     Raid Level : raid5
     Array Size : 1606144 (1568.76 MiB 1644.69 MB)
  Used Dev Size : 803072 (784.38 MiB 822.35 MB)
   Raid Devices : 3
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent
 
    Update Time : Fri Jul 30 15:27:50 2010
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
 
         Layout : left-symmetric
     Chunk Size : 128K
 
           UUID : 7035b6e4:31c6f22f:cb44717b:a34273bf
         Events : 0.6
 
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       2       8       20        2      active sync   /dev/sdb4
 
       3       8       19        -      faulty spare   /dev/sdb3
 
//此時備用磁盤sdb4自動轉爲activesdb3faulty狀態。
 
五、         移除失效的分區。
[root@vm /]# mdadm /dev/md0 --remove /dev/sdb3  //移除sdb3
mdadm: hot removed /dev/sdb3
[root@vm /]#
[root@vm /]# mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Fri Jul 30 15:14:09 2010
     Raid Level : raid5
     Array Size : 1606144 (1568.76 MiB 1644.69 MB)
  Used Dev Size : 803072 (784.38 MiB 822.35 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent
 
    Update Time : Fri Jul 30 15:30:44 2010
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0
 
         Layout : left-symmetric
     Chunk Size : 128K
 
           UUID : 7035b6e4:31c6f22f:cb44717b:a34273bf
         Events : 0.8
 
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       2       8       20        2      active sync   /dev/sdb4
[root@vm /]#
//此時sdb3已經移除了。
 
六、         從新添加分區。
[root@vm /]# mdadm /dev/md0 -a /dev/sdb3  //-a」參數添加sdb3
mdadm: added /dev/sdb3
[root@vm /]#
[root@vm /]#
[root@vm /]#
[root@vm /]# mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Fri Jul 30 15:14:09 2010
     Raid Level : raid5
     Array Size : 1606144 (1568.76 MiB 1644.69 MB)
  Used Dev Size : 803072 (784.38 MiB 822.35 MB)
   Raid Devices : 3
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent
 
    Update Time : Fri Jul 30 15:30:44 2010
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1
 
         Layout : left-symmetric
     Chunk Size : 128K
 
           UUID : 7035b6e4:31c6f22f:cb44717b:a34273bf
         Events : 0.8
 
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       2       8       20        2      active sync   /dev/sdb4
 
       3       8       19        -      spare   /dev/sdb3
[root@vm /]#
 
七、         7 、創建 RAID 配置文件。
若是沒有配置文件,在中止raid後就沒法再激活
[root@mylab ~]# echo DEVICE /dev/sdb{1,2,3,4} > /etc/mdadm.conf
[root@mylab ~]# mdadm -Ds >> /etc/mdadm.conf
[root@mylab ~]# mdadm -D /dev/md0 >> /etc/mdadm.conf
 
八、         停用,啓用或移除 RAID.
執行此操做以前須要完成第 7 步的操做。
首先卸載陣列,而後中止 RAID 。命令以下:
[root@vm ~]# umount /dev/md0
[root@vm ~]# mdadm --stop /dev/md0
啓用 RAID ,命令以下:
[root@vm ~]# mdadm --assemble --scan /dev/md0
相關文章
相關標籤/搜索