磁盘阵列(RAID)

 
磁盘阵列( RAID
 
软件磁盘阵列 (Software RAID)
磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列。
整个 RAID 由 选择的等级 (level) 同,而使得整合后的磁盘具有 同的功能, 基本常见的 level 有这几种(注1):
RAID ---0
利用率 100% ,不能最备份。
RAID- 1 (映像模式, mirror):完整备
整体 RAID 的容量 50% ,任 何一颗硬盘损毁时, 都可以上完整的保存资料。
RAID 0+1,RAID 1+0
 
RAID----5
磁盘容量是原来的 75% ,若采用 5 个硬盘时, 4 个是 Active 1 个作热备份 ( Spare Disk )
创建 RAID 的过程―― RAID5
 
@ 创建磁盘分区
 
[root@ wangfc ~]# fdisk -clu /dev/sda
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008a69b
 
   Device Boot       Start          End       Blocks    Id   System
/dev/sdb1                1          652      5237158+    5   Extended
/dev/sdb5                1          200      1606437    83   Linux
/dev/sdb6              201          226       208813+   83   Linux
/dev/sdb7              227          252       208813+   83   Linux
/dev/sdb8              253          278       208813+   83   Linux
/dev/sdb9              279          304       208813+   83   Linux
/dev/sdb10             305          330       208813+   83   Linux
 
@ 更改磁盘的类型,(也可以不改)
fd   Linux raid auto
Command (m for help): t
Partition number (1-11): 7
Hex code (type L to list codes): fd
Changed system type of partition 7 to fd (Linux raid autodetect)
 
Command (m for help): t
Partition number (1-11): 8
Hex code (type L to list codes): fd
Changed system type of partition 8 to fd (Linux raid autodetect)
。。。。
/dev/sdb7              227          252       208813+   fd   Linux raid autodetect
/dev/sdb8              253          278       208813+   fd   Linux raid autodetect
/dev/sdb9              279          304       208813+   fd   Linux raid autodetect
/dev/sdb10             305          330       208813+   fd   Linux raid autodetect
/dev/sdb11             331          356       208813+   fd   Linux raid autodetect
 
[root@wangfc ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 Aug   1 02:49 /dev/sdb
brw-rw----. 1 root disk 8, 17 Jul 31 19:37 /dev/sdb1
brw-rw----. 1 root disk 8, 26 Aug   1 02:47 /dev/sdb10
brw-rw----. 1 root disk 8, 27 Aug   1 02:49 /dev/sdb11
brw-rw----. 1 root disk 8, 21 Jul 31 19:51 /dev/sdb5
brw-rw----. 1 root disk 8, 22 Jul 31 19:51 /dev/sdb6
brw-rw----. 1 root disk 8, 23 Aug   1 02:44 /dev/sdb7
brw-rw----. 1 root disk 8, 24 Aug   1 02:47 /dev/sdb8
brw-rw----. 1 root disk 8, 25 Aug   1 02:47 /dev/sdb9
 
 
@ mdadm 创建 RAID
 
[root@wangfc ~]# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices= 4 --spare-devices=1 /dev/sdb{7,8,9,10,11}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
 
@ 查看
[root@wangfc ~]# mdadm  --detail /dev/md0
/dev/md0:                                                                                                                                    <==RAID 设备文件名
        Version : 1.2
  Creation Time : Wed Aug   1 03:30:54 2012
     Raid Level : raid5                                                                                                     <==RAID 等级为 RAID  5
     Array Size : 625152 (610.60 MiB 640.16 MB)                                                 <== RAID 的可用次磁盘容量
  Used Dev Size : 208384 (203.53 MiB 213.39 MB)                                                 <== 每个设备的可用容量
   Raid Devices : 4                                                                                                               <== 用作 RAID 的设备数量
  Total Devices : 5                                                                                                                  <== 全部设备数量
    Persistence : Superblock is persistent
 
    Update Time : Wed Aug   1 03:31:09 2012
          State : clean
 Active Devices : 4                                                                                                        <== 启动的( active )设备数量
Working Devices : 5                                                                                                           <== 可动作的设备数量
 Failed Devices : 0                                                                                                           <== 预备错误的设备数量
  Spare Devices : 1                                                                                                             <== 预备磁盘的设备数量
 
         Layout : left-symmetric
     Chunk Size : 512K
 
           Name : wangfc.example.com:0   (local to host wangfc.example.com)
           UUID : 6f8a672e:3af7ed12:de9d579a:06b582dd
         Events : 18
 
    Number    Major    Minor    RaidDevice State
       0        8        23         0       active sync    /dev/sdb7
       1        8        24         1       active sync    /dev/sdb8
       2        8        25         2       active sync    /dev/sdb9
       5        8        26         3       active sync    /dev/sdb10
 
       4        8        27         -       spare    /dev/sdb11
 
@ 查看系统磁盘阵列的情况
[root@wangfc ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb10[5] sdb11[4](S) sdb9[2] sdb8[1] sdb7[0]
      625152 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
 
第一行 :指出 md0 raid5 ,且使用了 hdb7,8,9,10 四块磁盘设备。每个设备后面的中括号的数字为此磁盘在 RAID 中的
顺序;至于 sdb11 后面的 s 达标十点半 1 spare 之意。
第二行 :此磁盘阵列拥有 625152 block (每个 block 单位为 1KB ),总容量约为 625MB ,使用 RAID5 等级,写入磁盘的小区快( chunk )大小为 512K ,使用 algorithm 磁盘阵列算法。 [m/n] 代表此数组需要 m 个设备,且 n 个设备正常运行。因此本 md0 需要 4 个设备且 zhe4 个设备均正常工作。后面的 [UUUU] 代表的是四个需要的设备(就是 [m/ n] 里面的 m) 的启动情况, U 代表正常运行,若为 _ 代表不正常
 
 
@ 格式化与挂载使用
 
[root@wangfc ~]# mkfs.ext4 /dev/md0
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=384 blocks
39120 inodes, 156288 blocks
7814 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=163577856
5 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
        32768, 98304
 
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.   Use tune2fs -c or -i to override.
 
 
[root@wangfc ~]# mkdir /mnt/raid
[root@wangfc ~]# mount /dev/md0 /mnt/raid/
[root@wangfc ~]# df
Filesystem            1K-blocks       Used Available Use% Mounted on
/dev/sda2              47238516    4295328   40543600   10% /
tmpfs                   1025848         88    1025760    1% /dev/shm
/dev/sda1                297485      30367     251758   11% /boot
/dev/mapper/vg0-lv0      198337       5675     182422    4% /home
/dev/md0                 615308      16864     567188    3% /mnt/raid
 
@ 仿真 RAID 错误的救援模式
 
[root@wangfc ~]# cp -a /etc/ /var/log  /mnt/raid/
[root@wangfc ~]# df /mnt/raid/ ; du -sm /mnt/raid/*
Filesystem            1K-blocks       Used Available Use% Mounted on
/dev/md0                 615308      52700     531352   10% /mnt/raid
32       /mnt/raid/etc
4        /mnt/raid/log
1        /mnt/raid/lost+found
 
设置磁盘为错误
 
[root@wangfc ~]# mdadm --manage /dev/md0 --fail /dev/sdb7
mdadm: set /dev/sdb7 faulty in /dev/md0
[root@wangfc ~]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Aug   1 03:30:54 2012
     Raid Level : raid5
     Array Size : 625152 (610.60 MiB 640.16 MB)
  Used Dev Size : 208384 (203.53 MiB 213.39 MB)
   Raid Devices : 4
  Total Devices : 5
    Persistence : Superblock is persistent
 
    Update Time : Wed Aug   1 04:03:21 2012
          State : clean, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 1
 
         Layout : left-symmetric
     Chunk Size : 512K
 
 Rebuild Status : 98% complete
 
           Name : wangfc.example.com:0   (local to host wangfc.example.com)
           UUID : 6f8a672e:3af7ed12:de9d579a:06b582dd
         Events : 35
 
    Number    Major    Minor    RaidDevice State
       4        8        27         0       spare rebuilding    /dev/sdb11
       1        8        24         1       active sync    /dev/sdb8
       2        8        25         2       active sync    /dev/sdb9
       5        8        26         3       active sync    /dev/sdb10
 
       0        8        23         -       faulty spare    /dev/sdb7
一会儿通过 spare disk 重建完毕的 RAID5 情况
[root@wangfc ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb10[5] sdb11[4] sdb9[2] sdb8[1] sdb7[0](F)
      625152 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
     
unused devices: <none>
 
又恢复正常了
 
@ 将出错的磁盘删除并加入新磁盘
 
新建分区
[root@wangfc ~]# fdisk /dev/sdb
 
 
[root@wangfc ~]# mdadm --manage /dev/md0 --add /dev/sdb13 --remove /dev/sdb7
 
@ 开机自动启动 RAID 并自动挂载
 
[root@wangfc ~]# mdadm -- detail  /dev/md0   | grep  -i  uuid
 
[root@wangfc ~]# vim / etc/mdadm.conf
ARRAY    /dev/md0  UUID=
 
@ 测试
[root@wangfc ~]# umount  /dev/md0; mount -a
 
[root@wangfc ~]# df    /mnt/raid
 
 
@ 关闭软件 RAID
 
一、
[root@wangfc ~]# umount  /dev/md0
 
[root@wangfc ~]# vim / etc/fstab
 
二、
 
[root@wangfc ~]# mdadm  --stop /dev/md0
 
[root@wangfc ~]# cat  / proc/mdstat
 
[root@wangfc ~]# vim / etc/mdadm.conf  

你可能感兴趣的:(磁盘阵列(RAID))