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> [UUU]表示都在工作状态,如果一直是_那就不妙了
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}: