增加磁盘后,需要重新排列阵列中的数据
添加磁盘到已经存在的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
成功。。。。。。。。。
