增加磁盘后,需要重新排列阵列中的数据
添加磁盘到已经存在的RAID5中
一、直接使用 md5 分区模式
Steps:
1、创建一个RAID5 的磁盘阵列
三个硬盘都为2G
[root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sd{b,c,d} mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md5 started. [root@localhost ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdd[3] sdc[1] sdb[0] 4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [=====>...............] recovery = 27.9% (585600/2095616) finish=0.3min speed=73200K/sec unused devices: <none>
完成后查看磁盘阵列md5的空间大小为4G,
[root@localhost ~]# fdisk /dev/md5 -l Disk /dev/md5: 4291 MB, 4291821568 bytes
2、格式化 md5 分区,并挂载使用
[root@localhost ~]# mkdir /data/md5 -p [root@localhost ~]# mkfs.ext4 /dev/md5 …… 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]# mount /dev/md5 /data/md5/ [root@localhost ~]#
拷贝一些数据进去
[root@localhost ~]# find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}'
3、md5 当前的状态
[root@localhost ~]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Tue Jun 5 09:59:03 2012 Raid Level : raid5 Array Size : 4191232 (4.00 GiB 4.29 GB) Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Tue Jun 5 10:09:14 2012 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11 Events : 18 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 3 8 48 2 active sync /dev/sdd [root@localhost ~]#
4、添加一个磁盘到 阵列中
[root@localhost ~]# mdadm /dev/md5 -a /dev/sde mdadm: added /dev/sde [root@localhost ~]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Tue Jun 5 09:59:03 2012 Raid Level : raid5 Array Size : 4191232 (4.00 GiB 4.29 GB) Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue Jun 5 10:11:22 2012 State : clean Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11 Events : 19 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 3 8 48 2 active sync /dev/sdd 4 8 64 - spare /dev/sde [root@localhost ~]#
发现添加的磁盘自动变成了备用盘
5、将备用盘转换成数据盘
[root@localhost ~]# mdadm -G /dev/md5 -n 4 mdadm: Need to backup 3072K of critical section.. [root@localhost ~]#
查看 md5 状态 , reshape
Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sde[4] sdd[3] sdc[1] sdb[0] 4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] [=============>.......] reshape = 66.2% (1388048/2095616) finish=0.5min speed=22560K/sec unused devices: <none> [root@localhost ~]#
[root@localhost ~]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Tue Jun 5 09:59:03 2012 Raid Level : raid5 Array Size : 6286848 (6.00 GiB 6.44 GB) Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue Jun 5 10:16:14 2012 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11 Events : 49 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 3 8 48 2 active sync /dev/sdd 4 8 64 3 active sync /dev/sde备用盘已经转换为数据盘 , 但是文件系统中没有变化
[root@localhost ~]# df /dev/md5 -h Filesystem Size Used Avail Use% Mounted on /dev/md5 4.0G 74M 3.7G 2% /data/md5 [root@localhost ~]#还是 4G 。。
resize2fs md5阵列,改变分区大小
[root@localhost ~]# resize2fs /dev/md5 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/md5 is mounted on /data/md5; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/md5 to 1571712 (4k) blocks. The filesystem on /dev/md5 is now 1571712 blocks long. 此时变成了 6G [root@localhost ~]# df /dev/md5 -h Filesystem Size Used Avail Use% Mounted on /dev/md5 6.0G 74M 5.6G 2% /data/md5 [root@localhost ~]#
在这个目录下 /sys/block/md5/md ,查看这个文件 cat sync_action ,可以查看 RAID 的状态 ,注意 md5 是创建的raid5分区的名称
二、使用LVM模式
Steps:
1、停止刚刚建立的MD5,重新建立 RAID5阵列,并pvcreate 、 vgcreate 、 lvcreate。。
[root@localhost /]# umount /dev/md5 [root@localhost /]# mdadm -S /dev/md5 mdadm: stopped /dev/md5 [root@localhost /]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sd{b,c,d} mdadm: /dev/sdb appears to be part of a raid array: level=raid5 devices=4 ctime=Tue Jun 5 09:59:03 2012 mdadm: /dev/sdc appears to be part of a raid array: level=raid5 devices=4 ctime=Tue Jun 5 09:59:03 2012 mdadm: /dev/sdd appears to be part of a raid array: level=raid5 devices=4 ctime=Tue Jun 5 09:59:03 2012 Continue creating array? yes mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md5 started. [root@localhost /]# pvcreate /dev/md5 Writing physical volume data to disk "/dev/md5" Physical volume "/dev/md5" successfully created [root@localhost /]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name vg_host001 PV Size 19.51 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 4994 Free PE 0 Allocated PE 4994 PV UUID pc0z1m-6cqz-qp9R-osBS-oyM1-qzJf-jOQYuv "/dev/md5" is a new physical volume of "4.00 GiB" --- NEW Physical volume --- PV Name /dev/md5 VG Name PV Size 4.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID IXVHeC-gDj7-PKUQ-AzpA-b0Kq-aT53-dtXYko [root@localhost /]# vgcreate testmd /dev/md5
2、格式化,挂载、拷贝一些文件
[root@localhost /]# mount /dev/testmd/testmd_01 /data/md5 …… [root@localhost /]# mkfs.ext4 /dev/testmd/testmd_01 mke2fs 1.41.12 (17-May-2010) Filesystem label= …… [root@localhost /]# mount /dev/testmd/testmd_01 /data/md5 [root@localhost /]# history | grep find 349 find -iname "bond" 350 find -iname "bonding" 351 find -iname "bond*" 398 find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}' 430 history | grep find [root@localhost /]# !398 find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}' [root@localhost /]# ^C [root@localhost /]# ……
3、为 RAID5 添加一个硬盘
[root@localhost /]# mdadm /dev/md5 -a /dev/sde mdadm: added /dev/sde [root@localhost /]# mdadm -G /dev/md5 -n 4 mdadm: Need to backup 3072K of critical section.. [root@localhost /]#
注意:必须等这个过程完成后,才能 pvresize
Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sde[4] sdd[3] sdc[1] sdb[0] 4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] [=============>.......] reshape = 67.5% (1415172/2095616) finish=0.4min speed=23287K/sec unused devices: <none>
4、pvresize
当前物理卷的大小为
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/md5 testmd lvm2 a-- 4.00g 2.00g
查看 md5 扩充后的大小
[root@localhost ~]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Tue Jun 5 10:59:55 2012 Raid Level : raid5 Array Size : 6286848 (6.00 GiB 6.44 GB) Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB)
pvresize , 用参数 setphysicalvolumesize ,数据从上面的查到的粘贴上去,注意后面一定要单位
[root@localhost ~]# pvresize /dev/md5 --setphysicalvolumesize 6286848k Physical volume "/dev/md5" changed 1 physical volume(s) resized / 0 physical volume(s) not resized查看物理卷大小
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/md5 testmd lvm2 a-- 5.99g 3.99g
成功。。。。。。。。。