一、模拟磁盘设备[root@localhost ~]# ls /dev/sd*   # 查看添加的硬件----磁盘设备/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc[root@localhost ~]# fdisk /dev/sdb # 分区 模拟出4块硬盘Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): # 默认First sector (2048-20971519, default 2048): #默认Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G # 添加1GPartition 1 of type Linux and of size 1 GiB is set操作同上共分了四个区  /dev/sdb{1,2,3,4}  当做四块硬盘使用Command (m for help): pDisk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x0e220a08   Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048     2099199     1048576   83  Linux/dev/sdb2         2099200     4196351     1048576   83  Linux/dev/sdb3         4196352     6293503     1048576   83  Linux/dev/sdb4         6293504     8390655     1048576   83  LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@localhost ~]# fdisk /dev/sdc  # 分区模拟出4块硬盘Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-20971519, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1GPartition 1 of type Linux and of size 1 GiB is set同上 分四个区 /dev/sdc{1,2,3,4} 当做4块硬盘使用   Device Boot      Start         End      Blocks   Id  System/dev/sdc1            2048     2099199     1048576   83  Linux/dev/sdc2         2099200     4196351     1048576   83  Linux/dev/sdc3         4196352     6293503     1048576   83  Linux/dev/sdc4         6293504     8390655     1048576   83  LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@localhost ~]# ls /dev/sd*/dev/sda   /dev/sda2  /dev/sdb1  /dev/sdb3  /dev/sdc   /dev/sdc2  /dev/sdc4/dev/sda1  /dev/sdb   /dev/sdb2  /dev/sdb4  /dev/sdc1  /dev/sdc3二、创建RAID 5 mdadm 命令选项     -C 创建软RAID     -l 指定RAID级别    -n 指定磁盘的个数    -x 指定备用设备的个数    -a 添加磁盘    -r 移除磁盘(热)    -v 显示详细信息    -s 扫描配置文件    -S 停止阵列 释放    -A 激活,加载 Assemble     -f 设为故障盘    [root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdb{1,2,3,4}  # 创建raid 5 mdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md5 started.[root@localhost ~]# mdadm -D /dev/md5/dev/md5:        Version : 1.2  Creation Time : Sun Jun 19 21:00:53 2016     Raid Level : raid5     Array Size : 2095104 (2046.34 MiB 2145.39 MB)  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)   Raid Devices : 3  Total Devices : 4    Persistence : Superblock is persistent    Update Time : Sun Jun 19 21:00:59 2016          State : clean  Active Devices : 3Working Devices : 4 Failed Devices : 0  Spare Devices : 1         Layout : left-symmetric     Chunk Size : 512K           Name : localhost.localdomain:5  (local to host localhost.localdomain)           UUID : 467e61c9:1ddfd1c6:51c27a22:bb7d160c         Events : 18    Number   Major   Minor   RaidDevice State       0       8       17        0      active sync   /dev/sdb1       1       8       18        1      active sync   /dev/sdb2       4       8       19        2      active sync   /dev/sdb3       3       8       20        -      spare   /dev/sdb4[root@localhost ~]# ls /dev/md*/dev/md5[root@localhost ~]# fdisk /dev/md5    Device Boot      Start         End      Blocks   Id  System/dev/md5p1            2048     2099199     1048576   83  Linux/dev/md5p2         2099200     4190207     1045504   83  LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@localhost ~]# mkfs.xfs /dev/md5p1 && mkfs.xfs /dev/md5p2[root@localhost ~]# echo $?0[root@localhost ~]# mkdir /opt/raid{5_1,5_2}[root@localhost ~]# blkid /dev/md*/dev/md5: PTTYPE="dos" /dev/md5p1: UUID="f1354f72-bbe5-4364-9ade-576d95d4c812" TYPE="xfs" /dev/md5p2: UUID="d403dca4-6f77-411e-a519-b0536a8867e7" TYPE="xfs" [root@localhost ~]# echo "UUID="f1354f72-bbe5-4364-9ade-576d95d4c812" /opt/raid5_1 xfs defaults 0 0" >> /etc/fstab[root@localhost ~]# echo "UUID="d403dca4-6f77-411e-a519-b0536a8867e7" /opt/raid5_2 xfs defaults 0 0" >> /etc/fstab[root@localhost ~]# tail -3 !$tail -3 /etc/fstab/dev/sr0 /mnt iso9660 defaults 0 0UUID=f1354f72-bbe5-4364-9ade-576d95d4c812 /opt/raid5_1 xfs defaults 0 0UUID=d403dca4-6f77-411e-a519-b0536a8867e7 /opt/raid5_2 xfs defaults 0 0[root@localhost ~]# mount -a[root@localhost ~]# cp /etc/passwd /opt/raid5_1[root@localhost ~]# cp /etc/passwd /opt/raid5_2[root@localhost ~]# cp -r /etc /opt/raid5_1[root@localhost ~]# cp -r /etc /opt/raid5_2[root@localhost ~]# ls /opt/raid*/opt/raid5_1:etc  passwd/opt/raid5_2:etc  passwd[root@localhost ~]# echo "DEVICES /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4" >> /etc/mdadm.conf[root@localhost ~]# mdadm -Evs >> /etc/mdadm.conf[root@localhost ~]# mount -a[root@localhost ~]# tail -3 /etc/fstab/dev/sr0 /mnt iso9660 defaults 0 0UUID=f1354f72-bbe5-4364-9ade-576d95d4c812 /opt/raid5_1 xfs defaults 0 0UUID=d403dca4-6f77-411e-a519-b0536a8867e7 /opt/raid5_2 xfs defaults 0 0[root@localhost ~]# df -hFilesystem             Size  Used Avail Use% Mounted on/dev/md5p1            1018M   68M  951M   7% /opt/raid5_1/dev/md5p2            1018M   68M  951M   7% /opt/raid5_2[root@localhost ~]# 三、Raid 性能测试  (RAID 5 写入速度比普通磁盘块)[root@localhost ~]# time dd if=/dev/zero of=txt bs=1M count=20real	0m0.197suser	0m0.001ssys	0m0.180s[root@localhost ~]# cd /opt/raid5_1[root@localhost raid5_1]# time dd if=/dev/zero of=txt bs=1M count=20real	0m0.102suser	0m0.000ssys	0m0.033s四、RAID 故障模拟[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb1mdadm: set /dev/sdb1 faulty in /dev/md5此时可以动态查看一下[root@localhost ~]# watch -n 1 cat /proc/mdstat[root@localhost ~]# mdadm --detail /dev/md5/dev/md5:        Version : 1.2  Creation Time : Sun Jun 19 21:00:53 2016     Raid Level : raid5     Array Size : 2095104 (2046.34 MiB 2145.39 MB)  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)   Raid Devices : 3  Total Devices : 4    Persistence : Superblock is persistent    Update Time : Sun Jun 19 22:43:16 2016          State : clean  Active Devices : 3Working Devices : 3 Failed Devices : 1  Spare Devices : 0         Layout : left-symmetric     Chunk Size : 512K           Name : localhost.localdomain:5  (local to host localhost.localdomain)           UUID : 467e61c9:1ddfd1c6:51c27a22:bb7d160c         Events : 37    Number   Major   Minor   RaidDevice State       3       8       20        0      active sync   /dev/sdb4       1       8       18        1      active sync   /dev/sdb2       4       8       19        2      active sync   /dev/sdb3       0       8       17        -      faulty   /dev/sdb1              [root@localhost ~]# mdadm -r /dev/md5 /dev/sdb1mdadm: hot removed /dev/sdb1 from /dev/md5[root@localhost ~]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4] md5 : active raid5 sdb2[1] sdb3[4] sdb4[3]      2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]      unused devices: 
[root@localhost ~]# mdadm -a /dev/md5 /dev/sdc1mdadm: added /dev/sdc1[root@localhost ~]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4] md5 : active raid5 sdc1[5](S) sdb2[1] sdb3[4] sdb4[3]      2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]      unused devices: 
[root@localhost ~]# diff /etc/passwd /opt/raid5_1/passwd[root@localhost ~]# echo "DEVICE /dev/sdb2 /dev/sdb3 /dev/sdb4 /dev/sdc1" > /etc/mdadm.conf[root@localhost ~]# mdadm -Evs >> !$mdadm -Evs >> /etc/mdadm.conf五、删除RAID设备[root@localhost ~]# umount /opt/raid5_1[root@localhost ~]# umount /opt/raid5_2[root@localhost ~]# mdadm -Ss [root@localhost ~]# rm -rf /etc/mdadm.conf[root@localhost ~]# rm -rf /opt/raid5_1[root@localhost ~]# rm -rf /opt/raid5_2[root@localhost ~]# vim /etc/fstab   #删除开机RAID挂载项  [root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb1[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb2[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb3[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb4[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdc1[root@localhost ~]# df -hFilesystem             Size  Used Avail Use% Mounted on/dev/mapper/rhel-root   10G  3.2G  6.9G  32% /devtmpfs               898M     0  898M   0% /devtmpfs                  913M   84K  913M   1% /dev/shmtmpfs                  913M  8.9M  904M   1% /runtmpfs                  913M     0  913M   0% /sys/fs/cgroup/dev/sr0               3.8G  3.8G     0 100% /mnt/dev/sda1              497M  158M  340M  32% /boottmpfs                  183M   16K  183M   1% /run/user/42tmpfs                  183M     0  183M   0% /run/user/0[root@localhost ~]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4] unused devices: 
[root@localhost ~]# mdadm --detail /dev/md5mdadm: cannot open /dev/md5: No such file or directory