centos7中使用vg方式扩充root分区
pv、vg、lv的意思
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
1.首先查看我们的根分区大小是多少
[root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 18G 1.1G 17G 6% / devtmpfs devtmpfs 479M 0 479M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 6.7M 483M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 125M 373M 25% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0
可以看到我们的根分区大小为17G
2.添加一块物理的磁盘。在虚拟机中添加
3.查看磁盘编号
ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
可以看到sdb就是我们刚才添加的磁盘
4.创建pv
[root@localhost ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created
5.把pv加入vg中,相当于扩充vg的大小
先使用vgs查看vg组
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 19.51g 40.00m
可以看到现在就一个vg组其中有两个lv卷,若不确定可以通过lvs查看是否是我们需要扩展的分区
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 17.47g
swap centos -wi-ao---- 2.00g
可以看到这就是我们需要扩展的根分区,我这里还有个swap分区
扩展vg,使用vgextend命令
[root@localhost ~]# vgextend centos /dev/sdb Volume group "centos" successfully extended vgextend名字命令接的vg的名字,后面是磁盘的位置
6.我们成功把vg卷扩展了,在用vgs查看一下
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 2 2 0 wz--n- 39.50g 20.04g [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 17.47g swap centos -wi-ao---- 2.00g
虽然我们把vg扩展了,但是lv还没有扩展
7.扩展lv,使用lvextend命令
[root@localhost ~]# lvextend -L +20G /dev/mapper/centos-root Size of logical volume centos/root changed from 17.47 GiB (4472 extents) to 37.47 GiB (9592 extents). Logical volume root successfully resized.
-L 指定扩展多大的空间到lv中去,后面的/dev/mapper/centos-root是指定扩展的文件位置,可在df -h中看见
查看lv大小
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 37.47g swap centos -wi-ao---- 2.00g
查看df -h中变化没有
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 1.1G 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0
没有变化。
那么我们要使用[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 命令使系统重新读取大小
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1144832 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=4579328, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4579328 to 9822208
再使用df -h查看
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 38G 1.1G 37G 3% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0
到这里我们就成功扩展了。
备注:我们可以自行生产vg组以及在新的vg中生成lv
vgcreate 创建新的vg组
lvcreate 在新的vg中创建新的lv,但是要指定对vg名字
vgreduce 把pv从vg中移除,若vg中只有一个pv则直接使用vgremove