1,分区
[root@mylab ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id System
/dev/sdb1               1         652     5237158+   5 Extended
/dev/sdb5               1          13      104359+ fd Linux raid autodetect
/dev/sdb6              14          26      104391   fd Linux raid autodetect
/dev/sdb7              27          39      104391   fd Linux raid autodetect
/dev/sdb8              40          52      104391   fd Linux raid autodetect

 

2,创建阵列-C=–create -l5=–rail-level=5(raid级别) -n3=–raid-devices=3(阵列硬盘数量) -x1=–spare-devices=1(热备数量)
[root@mylab ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sdb[5-8]
mdadm: array /dev/md0 started.

3,建立配置文件,如果没有配置文件,在停止raid后就无法再激活
[root@mylab ~]# echo DEVICE /dev/sdb[5-8] > /etc/mdadm.conf
[root@mylab ~]# mdadm -Ds >> /etc/mdadm.conf
[root@mylab ~]# mdadm -D /dev/md0 >> /etc/mdadm.conf
没有配置文件的测试
[root@mylab ~]# mv /etc/mdadm.conf /etc/mdadm.conf.old
[root@mylab ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@mylab ~]# mdadm -A /dev/md0
mdadm: /dev/md0 not identified in config file.
[root@mylab ~]# mv /etc/mdadm.conf.old /etc/mdadm.conf
[root@mylab ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.

 

4,查看raid状态
[root@mylab ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb7[2] sdb8[3](S) sdb6[1] sdb5[0]
208512 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>

5,更详细的查看-D=–detail
mdadm: Unknown keyword /dev/md0:
mdadm: Unknown keyword Preferred
mdadm: Unknown keyword Working
以上三行的错误是因为在建立配置文件时使用了mdadm -D /dev/md0 >>/etc/mdadm.conf,如果不使用就不会有错误,使用的目的是为了更清楚最开始的raid配置
[root@mylab ~]# mdadm -D /dev/md0
mdadm: Unknown keyword /dev/md0:
mdadm: Unknown keyword Preferred
mdadm: Unknown keyword Working
/dev/md0:
Version : 00.90.03
Creation Time : Sat May 2 01:33:45 2009
Raid Level : raid5
Array Size : 208512 (203.66 MiB 213.52 MB)
Used Dev Size : 104256 (101.83 MiB 106.76 MB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
    Update Time : Sat May 2 01:33:48 2009
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
         Layout : left-symmetric
Chunk Size : 64K
           UUID : 8d90e341:23a2dbb0:35fc7278:73eac58d
Events : 0.2
    Number   Major   Minor   RaidDevice State
0       8       21        0      active sync   /dev/sdb5
1       8       22        1      active sync   /dev/sdb6
2       8       23        2      active sync   /dev/sdb7
       3       8       24        -      spare   /dev/sdb8

 

6,停止阵列
[root@mylab ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

7,激活阵列
[root@mylab ~]# mdadm -A /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.

 

8,将/dev/sdb5设为故障盘并移除
[root@mylab ~]# mdadm /dev/md0 –fail /dev/sdb5 –remove /dev/sdb5
mdadm: set /dev/sdb5 faulty in /dev/md0
mdadm: hot removed /dev/sdb5

9,查看状态
[root@mylab ~]# mdadm -D /dev/md0
……………
Number   Major   Minor   RaidDevice State
0       8       24        0      active sync   /dev/sdb8
1       8       22        1      active sync   /dev/sdb6
2       8       23        2      active sync   /dev/sdb7

 

10,将/dev/sdb5加入阵列,自动变为热备盘
[root@mylab ~]# mdadm /dev/md0 –add /dev/sdb5
mdadm: added /dev/sdb5
[root@mylab ~]# mdadm -D /dev/md0
Number   Major   Minor   RaidDevice State
0       8       24        0      active sync   /dev/sdb8
1       8       22        1      active sync   /dev/sdb6
2       8       23        2      active sync   /dev/sdb7

       3       8       21        -      spare   /dev/sdb5
 
 
-A, –assemble:加入一个以前定义的阵列
-B, –build:Build a legacy array without superblocks.
-C, –create:创建一个新的阵列
-Q, –query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, –detail:打印一个或多个 md device 的详细信息
-E, –examine:打印 device 上的 md superblock 的内容
-F, –follow, –monitor:选择 Monitor 模式
-G, –grow:改变在用阵列的大小或形态
-h, –help:帮助信息,用在以上选项后,则显示该选项信息
–help-options
-V, –version
-v, –verbose:显示细节
-b, –brief:较少的细节。用于 –detail 和 –examine 选项
-f, –force
-c, –config= :指定配置文件,缺省为 /etc/mdadm.conf
-s, –scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf
 
create 或 build 使用的选项:
-c, –chunk=:Specify chunk size of kibibytes. 缺省为 64.
–rounding=: Specify rounding factor for linear array (==chunk size)
-l, –level=:设定 raid level.
–create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
–build可用:linear, raid0, 0, stripe.
-p, –parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
–layout=:类似于–parity
-n, –raid-devices=:指定阵列中可用 device 数目,这个数目只能由 –grow 修改
-x, –spare-devices=:指定初始阵列的富余device 数目
-z, –size=:组建RAID1/4/5/6后从每个device获取的空间总数
–assume-clean:目前仅用于 –build 选项
-R, –run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, –force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。

-a, –auto{=no,yes,md,mdp,part,p}{NN}: