五块硬盘作为测试
[root@localhost ~]# fdisk -l | grep /dev/sd Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 83886079 40893440 8e Linux LVM Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors Disk /dev/sdf: 21.5 GB, 21474836480 bytes, 41943040 sectors先使用fdisk将五块硬盘全部进行分区,这里就简单一点,全部分别分成一个分区。
[root@localhost ~]# fdisk -l | grep /dev/sd Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 83886079 40893440 8e Linux LVM Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors /dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors /dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors /dev/sdd1 2048 41943039 20970496 fd Linux raid autodetect Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors /dev/sde1 2048 41943039 20970496 fd Linux raid autodetect Disk /dev/sdf: 21.5 GB, 21474836480 bytes, 41943040 sectors /dev/sdf1 2048 41943039 20970496 fd Linux raid autodetect下载mdadm工具
[root@localhost ~]# yum -y install mdadm &> /dev/null查看
[root@localhost ~]# cat /proc/mdstat Personalities : [raid0] [raid1] md1 : active raid1 sdf1[2](S) sde1[1] sdd1[0] //刚刚做的raid 1 20953088 blocks super 1.2 [2/2] [UU] md0 : active raid0 sdc1[1] sdb1[0] //前面做的raid 0 41906176 blocks super 1.2 512k chunks unused devices: <none> [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: ……省略部分内容…… Number Major Minor RaidDevice State 0 8 49 0 active sync /dev/sdd1 //sdd1和sde1是激活状态 1 8 65 1 active sync /dev/sde1 2 8 81 - spare /dev/sdf1 //sdf1是空闲状态格式化、挂载
[root@localhost ~]# mkfs.xfs /dev/md1 meta-data=/dev/md1 isize=512 agcount=4, agsize=1309568 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5238272, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mkdir /raid1 [root@localhost ~]# mount /dev/md1 /raid1 [root@localhost ~]# df -Th | grep /raid /dev/md0 xfs 40G 33M 40G 1% /raid0 /dev/md1 xfs 20G 33M 20G 1% /raid1接下来创建RAID 5,但是没有多余的磁盘了,我们先把前面创建的RAID 0和RAID 1删掉
[root@localhost events.d]# umount /dev/md0 //卸载 [root@localhost events.d]# mdadm -S /dev/md0 //停止md0设备 mdadm: stopped /dev/md0 [root@localhost events.d]# mdadm --zero-superblock /dev/sdb1 [root@localhost events.d]# mdadm --zero-superblock /dev/sdc1 [root@localhost events.d]# umount /dev/md1 [root@localhost events.d]# mdadm -S /dev/md1 //停止md1设备 mdadm: stopped /dev/md1 [root@localhost events.d]# mdadm --zero-superblock /dev/sde1 [root@localhost events.d]# mdadm --zero-superblock /dev/sdf1 [root@localhost events.d]#接下来我们继续用这五块磁盘做RAID 5和RAID 10。
查看
[root@localhost events.d]# cat /proc/mdstat //查看概要 Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0] 41906176 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===>.................] recovery = 16.6% (3487744/20953088) finish=0.7min speed=387527K/sec unused devices: <none> [root@localhost events.d]# mdadm -D /dev/md5 //查看详细信息 /dev/md5: ……省略部分内容…… Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 4 8 49 2 active sync /dev/sdd1 3 8 65 - spare /dev/sde1将损坏的磁盘移出并添加新磁盘
[root@localhost events.d]# mdadm /dev/md5 -r /dev/sdc1 //-r参数移出磁盘 mdadm: hot removed /dev/sdc1 from /dev/md5 [root@localhost events.d]# mdadm /dev/md5 -a /dev/sdf1 //-a参数添加磁盘 mdadm: added /dev/sdf1 [root@localhost events.d]# mdadm -D /dev/md5 //查看 /dev/md5: ……省略部分内容…… Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 3 8 65 1 active sync /dev/sde1 4 8 49 2 active sync /dev/sdd1 5 8 81 - spare /dev/sdf1 //sdf1已成为备份磁盘又不够了,我们再练习一下删除阵列
[root@localhost events.d]# mdadm -S /dev/md5 mdadm: stopped /dev/md5 [root@localhost events.d]# mdadm --zero-superblock /dev/sdb1 [root@localhost events.d]# mdadm --zero-superblock /dev/sdc1 [root@localhost events.d]# mdadm --zero-superblock /dev/sdd1 [root@localhost events.d]# mdadm --zero-superblock /dev/sde1 [root@localhost events.d]# mdadm --zero-superblock /dev/sdf1RAID 10其实是在两个RAID 1的基础上做RAID 0,这样既保证了数据的可靠性,也有RAID 0数据读写的优势。
查看
[root@localhost events.d]# cat /proc/mdstat //概要信息 Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md10 : active raid10 md1[1] md0[0] 20935680 blocks super 1.2 2 near-copies [2/2] [UU] md1 : active raid1 sde1[1] sdd1[0] 20953088 blocks super 1.2 [2/2] [UU] md0 : active raid1 sdc1[1] sdb1[0] 20953088 blocks super 1.2 [2/2] [UU] unused devices: <none> [root@localhost events.d]# mdadm -D /dev/md10 //详细信息 /dev/md10: ……省略部分内容…… Number Major Minor RaidDevice State 0 9 0 0 active sync set-A /dev/md0 1 9 1 1 active sync set-B /dev/md1这是一个使用了3个工作盘、有1个备用盘的RAID 5
[root@localhost events.d]# mdadm -D /dev/md5 /dev/md5: ……省略部分内容…… Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 4 8 49 2 active sync /dev/sdd1 3 8 65 - spare /dev/sde1扩容
[root@localhost events.d]# mdadm -G /dev/md5 -n4 //-G指定增长模式,-n指定工作盘数量再查看
[root@localhost events.d]# mdadm -D /dev/md5 /dev/md5: ……省略部分信息…… Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 4 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1 //原来的备用盘也已经active了当需要重新装配已停止的RAID时
[root@localhost events.d]# mdadm -A /dev/md5 /dev/sd[bcde]1 //需按md5原来要求装配硬盘 mdadm: /dev/md5 has been started with 4 drives.如果不满足原RAID要求
[root@localhost events.d]# mdadm -A /dev/md5 /dev/sd[bcd]1 //要求4个硬盘,只给了3个 mdadm: /dev/md5 assembled from 3 drives - need all 4 to start it (use --run to insist).