centos7中使用vg方式扩充root分区
新增一块5G的硬盘 扩展VG卷和lv加到/根目录
1.创建pv 新硬盘为/dev/vdb
fdisk /dev/vdb
输入n增加分区
输入p类型设置为:主分区
输入1分区编号设置为1
回车 为默认大小
回车 为默认 大小
输入w退出

2.把pv加入vg中,相当于扩充vg的大小
查看服务器VG卷名字
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_jh 1 2 0 wz--n- <5.75g 0

3.扩展vg,使用vgextend命令
[root@localhost ~]# vgextend centos /dev/vdb1
Volume group "centos" successfully extended
vgextend名字命令"centos"是vg的名字,后面是磁盘的位置

4.我们成功把vg卷扩展了,在用vgs查看一下
[ocalhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_jh 2 2 0 wz--n- 10.74g <5.00g
虽然我们把vg扩展了,但是lv还没有扩展
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_jh -wi-ao---- <5.25g
lv_swap vg_jh -wi-a----- 512.00m

5.扩展lv,使用lvextend命令

[root@localhost ~]# lvextend -L +4.99G /dev/vg_jh/lv_root
Rounding size to boundary between physical extents: 4.99 GiB.
Size of logical volume vg_jh/lv_root changed from <5.25 GiB (1343 extents) to <10.24 GiB (2621
extents).
Logical volume vg_jh/lv_root successfully resized.
后面的/dev/mapper/centos-root是指定扩展的文件位置,可在df -h中看见
开始时扩展的是lvextend -L +5G /dev/vg_jh/lv_root
但提示 Insufficient free space: 1280 extents needed, but only 1279 available
可用空间不足:需要1280个扩展区,但只有1279个可用区 就先扩展4.99G随后再把剩余的几M扩展进去

6.查看lv大小
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_jh -wi-ao---- 10.24g
lv_swap vg_jh -wi-a----- 512.00m

查看lsblk中变化没有
[root@localhost ~]#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 252:16 0 5G 0 disk
└─vdb1 252:17 0 5G 0 part
└─vg_jh-lv_root 253:0 0 10.2G 0 lvm /
vda 252:0 0 6G 0 disk
├─vda2 252:2 0 5.8G 0 part
│ ├─vg_jh-lv_swap 253:1 0 512M 0 lvm
│ └─vg_jh-lv_root 253:0 0 10.2G 0 lvm /
└─vda1 252:1 0 256M 0 part /boot

如果没变化我们要使用(各类面板如宝塔识别不正确也使用命令系统重新读取大小即可)
[root@localhost ~]# resize2fs /dev/vg_jh/lv_root 命令使系统重新读取大小
[root@localhost ~]# xfs_growfs /dev/vg_jh/lv_root 命令使系统重新读取大小

特别注意的是:
resize2fs命令 针对的是ext2、ext3、ext4文件系统
xfs_growfs命令 针对的是xfs文件系统
[root@localhost ~]# resize2fs /dev/vg_jh/lv_root
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg_jh/lv_root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vg_jh/lv_root is now 2684928 blocks long.

再使用lsblk或df -h查看

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 480M 0 480M 0% /dev
tmpfs 493M 4.0K 493M 1% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/mapper/vg_jh-lv_root 10G 3.6G 6.0G 38% /
/dev/vda1 240M 134M 90M 60% /boot
tmpfs 99M 0 99M 0% /run/user/0

到这里我们就成功扩展了。

备注:我们可以自行生产vg组以及在新的vg中生成lv

vgcreate 创建新的vg组
lvcreate 在新的vg中创建新的lv,但是要指定对vg名字
vgreduce 把pv从vg中移除,若vg中只有一个pv则直接使用vgremove
lvremove /dev/mapper/centos-home 删除名为home的逻辑卷 (删除home逻辑卷后需要在/etc/fstab删除对应挂载点的开机自动挂载)
vgremove /dev/mapper/centos 删除名为centos的卷组
pvremove /dev/sdb1 删除物理卷
若/dev/mapper/centos-home已经挂载了目录 需要卸载
取消挂载/home时出现umount: /home: device is busy,
原因是因为有程序在使用/home目录,我们可以使用fuser查看那些程序的进程,
然后杀掉就可以了。

[root@localhost home]# fuser -m /home
/home: 10278c 10279c 10280c 10281c 10282c 10295 10365 18222c
命令:kill -9 pid

其他还有很多命令:fuser -m /home
fuser -kvm /home
umount -l /home 强行解除挂载

调整分区后 一定要检查自动挂载配置文件/etc/fstab文件是否正确

最后编辑:2019年09月22日 ©著作权归作者所有

发表评论

正在加载 Emoji

已有 2 条评论

  1. 过程挺详细的,不过文章排版不太好,还是要整理下。我以前刚学的时候xfs_growfs总是记不住emmmm.