mdadm 模式化的工具 命令的语法格式mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID级别: LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10 主要模式有: 创建 -C -D 查看详细信息 装配 -A 监控 -F 管理 -f,-r,-a <raiddevice> /dev/md[0..9] <component-devices> 任意的块设备 -C 创建模式 -n num 使用num个块设备来创建此raid -l num 指明要创建的RAID的级别 -a {yes|no} 自动创建RIAD设备的设备文件 -c 指明块大小的 -x num 指明空闲盘的个数 实例:创建一个10G可用空间的raid5

[root@ads3 ~]# fdisk /dev/sda ##创建4块磁盘用来做软raid**

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').

Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)

Command (m for help): l

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1 Command (m for help): t
Command (m for help): t Partition number (1-9): 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-9): 8 Hex code (type L to list codes): fd Changed system type of partition 8 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-9): 9 Hex code (type L to list codes): fd Changed system type of partition 9 to fd (Linux raid autodetect)

Command (m for help): n First cylinder (12161-65271, default 12161): Using default value 12161 Last cylinder, +cylinders or +size{K,M,G} (12161-65271, default 65271): +5G

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@ads3 ~]# partx -a /dev/sda ##重读分区表实现内核重读分区表 [root@ads3 ~]# cat /proc/mdstat ##查看系统下是否有软raid Personalities : unused devices: <none> [root@ads3 ~]# mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10} ##制作软raid mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@ads3 ~]# cat /proc/mdstat ##查看系统下是否有软raid Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sda9[4] sda103 sda8[1] sda7[0] 10482688 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [==>..................] recovery = 12.9% (678720/5241344) finish=0.7min speed=96960K/sec

unused devices: <none> [root@ads3 ~]# mkfs -t ext4 /dev/md0 ##格式化软raid 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=256 blocks 655360 inodes, 2620672 blocks 131033 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@ads3 ~]# mkdir /mydata ##创建目录 [root@ads3 ~]# mount /dev/md0 /mydata ##将软raid挂载 [root@ads3 ~]# mount ##查看系统分区挂载情况 /dev/sda2 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) /dev/sda3 on /data type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/md0 on /mydata type ext4 (rw) [root@ads3 ~]# df -lh #查看/dev/md0的大小 Filesystem Size Used Avail Use% Mounted on /dev/sda2 48G 1.7G 44G 4% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 1.9G 76M 1.8G 5% /boot /dev/sda3 20G 44M 19G 1% /data /dev/md0 9.8G 23M 9.2G 1% /mydata [root@ads3 ~]# blkid /dev/md0 #查看/dev/md0的信息 /dev/md0: UUID="b161511b-3570-4874-8c23-b1d2a8d0893b" TYPE="ext4" dumpe2fs -h /dev/md0 -h only display the superblock information and not any of the block group descriptor detail information. [root@ads3 ~]# dumpe2fs -h /dev/md0 ##查看分区信息 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: b161511b-3570-4874-8c23-b1d2a8d0893b Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) .... 实现/dev/md0的自动挂载。编辑/etc/fstab 添加如下内容 UUID="b161511b-3570-4874-8c23-b1d2a8d0893b" /mydata ext4 defaults 0 0 [root@ads3 ~]# mdadm -D /dev/md0 ##查看raid的详细信息 /dev/md0: Version : 1.2 Creation Time : Sat Feb 24 21:53:39 2018 Raid Level : raid5 Array Size : 10482688 (10.00 GiB 10.73 GB) Used Dev Size : 5241344 (5.00 GiB 5.37 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent

Update Time : Sat Feb 24 21:56:21 2018
      State : clean 

Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1

     Layout : left-symmetric
 Chunk Size : 512K

       Name : ads3:0  (local to host ads3)
       UUID : a93c9421:a485dac0:04e4a6d4:e17d7116
     Events : 18

Number   Major   Minor   RaidDevice State
   0       8        7        0      active sync   /dev/sda7
   1       8        8        1      active sync   /dev/sda8
   4       8        9        2      active sync   /dev/sda9

   3       8       10        -      spare   /dev/sda10

[root@ads3 ~]# mdadm /dev/md0 -f /dev/sda7 ##标记7损坏 mdadm: set /dev/sda7 faulty in /dev/md0 [root@ads3 ~]# watch -n1 "cat /proc/mdstat" ##查看同步状态 -bash: whatch: command not found [root@ads3 ~]# watch -n1 "cat /proc/mdstat"

Every 1.0s: cat /proc/mdstat Sat Feb 24 22:08:30 2018

Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sda9[4] sda10[3] sda8[1] sda7 010482688 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none> ***[root@ads3 ~]# mdadm -D /dev/md0 ##查看raid的详细信息 *** /dev/md0: Version : 1.2 Creation Time : Sat Feb 24 21:53:39 2018 Raid Level : raid5 Array Size : 10482688 (10.00 GiB 10.73 GB) Used Dev Size : 5241344 (5.00 GiB 5.37 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent

Update Time : Sat Feb 24 22:07:11 2018
      State : clean 

Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 512K

       Name : ads3:0  (local to host ads3)
       UUID : a93c9421:a485dac0:04e4a6d4:e17d7116
     Events : 37

Number   Major   Minor   RaidDevice State
   3       8       10        0      active sync   /dev/sda10
   1       8        8        1      active sync   /dev/sda8
   4       8        9        2      active sync   /dev/sda9

   0       8        7        -      faulty   /dev/sda7

**[root@ads3 ~]# cp /etc/fstab /mydata ##复制文件到mydata目录下 [root@ads3 ~]# cat /mydata/fstab ##mydata目录下的文件内容

/etc/fstab Created by anaconda on Fri Feb 23 10:54:44 2018

Accessible filesystems, by reference, are maintained under '/dev/disk' See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

UUID=af25ecdc-82ea-43ec-89ca-9ae5b12109b9 / ext4 defaults 1 1 UUID=9e3fa0e8-6130-49a1-a2a3-fafa6ac0cfeb /boot ext4 defaults 1 2 UUID=0b8c477f-3d8e-4a24-88e8-a4b0524e1101 /data ext4 defaults 1 2 UUID=af38e7c0-6524-4d7b-ab20-f6faed3be199 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 ***[root@ads3 ~]# mdadm /dev/md0 -f /dev/sda8 ##标记8损坏 *** mdadm: set /dev/sda8 faulty in /dev/md0 ***[root@ads3 ~]# mdadm -D /dev/md0 ##查看raid的详细信息 *** /dev/md0: Version : 1.2 Creation Time : Sat Feb 24 21:53:39 2018 Raid Level : raid5 Array Size : 10482688 (10.00 GiB 10.73 GB) Used Dev Size : 5241344 (5.00 GiB 5.37 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent

Update Time : Sat Feb 24 22:16:11 2018
      State : clean, degraded 

Active Devices : 2 Working Devices : 2 Failed Devices : 2 Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 512K

       Name : ads3:0  (local to host ads3)
       UUID : a93c9421:a485dac0:04e4a6d4:e17d7116
     Events : 41

Number   Major   Minor   RaidDevice State
   3       8       10        0      active sync   /dev/sda10
   2       0        0        2      removed
   4       8        9        2      active sync   /dev/sda9

   0       8        7        -      faulty   /dev/sda7
   1       8        8        -      faulty   /dev/sda8

[root@ads3 ~]# mdadm /dev/md0 -r /dev/sda7 ##移除7号盘 mdadm: hot removed /dev/sda7 from /dev/md0 [root@ads3 ~]# mdadm /dev/md0 -r /dev/sda8 ##移除8号盘 mdadm: hot removed /dev/sda8 from /dev/md0 [root@ads3 ~]# mdadm -D /dev/md0 ##查看raid的详细信息 /dev/md0: Version : 1.2 Creation Time : Sat Feb 24 21:53:39 2018 Raid Level : raid5 Array Size : 10482688 (10.00 GiB 10.73 GB) Used Dev Size : 5241344 (5.00 GiB 5.37 GB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent

Update Time : Sat Feb 24 22:18:09 2018
      State : clean, degraded 

Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 512K

       Name : ads3:0  (local to host ads3)
       UUID : a93c9421:a485dac0:04e4a6d4:e17d7116
     Events : 43

Number   Major   Minor   RaidDevice State
   3       8       10        0      active sync   /dev/sda10
   2       0        0        2      removed
   4       8        9        2      active sync   /dev/sda9

***[root@ads3 ~]# watch -n1 "cat /proc/mdstat" ##查看同步的详细信息 *** 查看每秒钟同步恢复 的状态 Every 1.0s: cat /proc/mdstat Sat Feb 24 22:21:02 2018

Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sda86 sda7[5] sda9[4] sda10[3] 10482688 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U] [===========>.........] recovery = 59.2% (3107360/5241344) finish=0.3min speed=93006K/sec

unused devices: <none>

[root@ads3 ~]# mdadm -D /dev/md0 ##查看raid的详细信息 /dev/md0: Version : 1.2 Creation Time : Sat Feb 24 21:53:39 2018 Raid Level : raid5 Array Size : 10482688 (10.00 GiB 10.73 GB) Used Dev Size : 5241344 (5.00 GiB 5.37 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent

Update Time : Sat Feb 24 22:21:25 2018
      State : clean 

Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1

     Layout : left-symmetric
 Chunk Size : 512K

       Name : ads3:0  (local to host ads3)
       UUID : a93c9421:a485dac0:04e4a6d4:e17d7116
     Events : 64

Number   Major   Minor   RaidDevice State
   3       8       10        0      active sync   /dev/sda10
   5       8        7        1      active sync   /dev/sda7
   4       8        9        2      active sync   /dev/sda9

   6       8        8        -      spare   /dev/sda8