扩容VG卷组
查看/dev/sdb剩余容量(
可以看到start起始位置跟end结束位置)
[root@localhost /]# parted /dev/sdb
(parted) print free
2049MB 53.7GB 51.6GB Free SpaceNumber Start End Size Type File system Flags
0.00B 511B 512B Free Space
1 512B 1025MB 1025MB primary lvm
2 1025MB 2049MB 1024MB primary lvm
2049MB 53.7GB 51.6GB Free Space
创建一个2GB的分区(后面的2049mb跟4079mb是结束位置)
(parted) mkpart primary 2049MB 4097MB
变成逻辑卷并退出
退出
(parted)set 3 lvm on
(parted)quit
从物理分区变成物理卷
[root@localhost /]# pvcreate /dev/sdb3
Devices file /dev/sdb is excluded by filter: device is partitioned.
Physical volume "/dev/sdb3" successfully created.
把物理卷添加到database卷组
[root@localhost /]# vgextend database /dev/sdb3
Devices file /dev/sdb is excluded by filter: device is partitioned.
Volume group "database" successfully extended
查看下database卷,可以看到物理卷pv变成了3个,物理卷组vg大小也变成了3.8G,剩余PE也变大了。
[root@localhost /]# vgdisplay database
Act PV 3
VG Size <3.80 GiB
Free PE / Size 161 / <2.52 GiB
缩减VG卷组
需要先把卷组分区内的数据移走,
pvscan 查看数据在哪个分区
[root@localhost /]# pvscan
Devices file /dev/sdb is excluded by filter: device is partitioned.
PV /dev/sdb1 VG database lvm2 [976.00 MiB / 464.00 MiB free]
PV /dev/sdb2 VG database lvm2 [960.00 MiB / 160.00 MiB free]
PV /dev/sdb3 VG database lvm2 [<1.91 GiB / <1.91 GiB free]
把
/dev/sdb2上的数据移走
[root@localhost /]# pvmove /dev/sdb2
/dev/sdb2: Moved: 100.00%
再次查看database内/dev/sdb2是否被使用
[root@localhost /]# pvscan
PV /dev/sdb2 VG database lvm2 [960.00 MiB / 960.00 MiB free]
缩小VG,把database卷组内的/dev/sdb2分区移走
[root@localhost /]# vgreduce database /dev/sdb2
Removed "/dev/sdb2" from volume group "database"
查看vg,可以看到database卷组内的PV从3个变成2个了。
[root@localhost /]# vgdisplay
Cur PV 2
扩容LV逻辑卷
查看逻辑卷大小
[root@localhost /]# lvscan
ACTIVE '/dev/database/mysql' [512.00 MiB] inherit
ACTIVE '/dev/database/web' [800.00 MiB] inherit
lvextend使用-L参数调整逻辑卷大小 -l是指定PE -L是指定大小,两种写法都一种直接写扩容后大小,第二种写+多少大小。
[root@localhost /]# lvextend -L 800m /dev/database/mysql
[root@localhost /]# lvextend -L +200m /dev/database/web
使用df -h 可以查看容量并没有变成800MB,因为逻辑卷扩容需要经过2个层面,第一步是扩逻辑卷,第二步是扩容文件系统。
[root@localhost /]# df -h | grep mysql
/dev/mapper/database-mysql 507M 30M 478M 6% /mnt/mysq
通过df -T查看文件系统格式
[root@localhost /]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/database-mysql xfs 813728 32336 781392 4% /mnt/mysql
/dev/mapper/database-web ext4 788320 409636 321340 57% /mnt/web
如果文件系统是xfs格式,使用xfs_growfs+挂载点路径扩容
[root@localhost /]# xfs_growfs /mnt/mysql/
data blocks changed from 131072 to 204800
如果文件系统是ext4格式,使用
resize2fs扩容
[root@localhost /]# resize2fs /dev/database/web
The filesystem on /dev/database/web is now 258048 (4k) blocks long.
查看扩容后的大小
[root@localhost /]# df -h /dev/database/web /dev/database/mysql
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/database-web 978M 402M 516M 44% /mnt/web
/dev/mapper/database-mysql 795M 32M 764M 4% /mnt/mysql
是不是觉得很麻烦?要先扩容逻辑卷又要扩文件系统。
其实只要在使用
lvextend加一个-r(--resizefs)选项,会自动扩容文件系统。例如:
[root@localhost /]# lvextend -r -l +20 /dev/database/web
The filesystem on /dev/mapper/database-web is now 339968 (4k) blocks long.
使用df-h可以查看文件系统大小已经改变
[root@localhost /]# df -h /dev/database/web
/dev/mapper/database-web 1.3G 403M 818M 33% /mnt/web
发表评论