温馨提示:在参考以下操作进行扩容之前,请先自行备份好您的数据到本地,或者进行快照备份和完整备份,以免操作不当造成数据丢失!!!
我司的centos云主机都是使用逻辑卷来进行分区的,默认情况下,新购买的云主机会有一个磁盘没有进行分区挂载,留给用户自行分配,可使用fdisk -l命令来检查是否有该磁盘
如上图所示,有一个10.7G的xvda盘和21.5G的xvdb盘,其中xvda盘被分成两个分区,xvda1和xvda2,其中,xvda2的文件系统位linux LVM,此时可知是做成了逻辑卷,其中一部分做成了/dev/mapper/vg_have-lv_root,另一部分做成了swap分区/dev/mapper/vg_have-lv_swap,同时可以看到xvda1的boot列有星号,代表该分区为/boot分区,使用df -Th命令可以进一步查看到如下:
此时,我们还有一个21.5G的xvdb没有分区使用,如上客户要求把所有空间都分到一块,需要把未使用的空间创建成pv,然后加入到已经有vg中,然后再分配给已经有的lv来扩大空间,此时已经有的lv是/dev/mapper/vg_have-lv_root,挂载在根分区下,可以使用pvs,vgs,和lvs来粗略查看一下当前已经有的物理卷,逻辑卷和卷组
根据客户需求,具体操作如下(如客户自行操作,请备份好数据到本地):
将整个xvdb创建成pv,命令:pvcreate /dev/xvdb
然后将创建成的pv融入到已经有的vg中,由vgs命令课只当前已经有的vg为vg_have
命令:vgextend vg_have /dev/xvdb
此时使用vgs命令可以看到,vg_have由的大小VSize原来的9.5G变成了29.5G,其中剩余未分配的空间VFree从原来的0变成了20G
使用vgdisplay命令可以进一步查看未使用的PE和具体的大小
未使用的pe为5119,大小为20G
此时使用,lvextend -l +5119 /dev/mapper/vg_have-lv_root 命令,就可以把未使用的空间分配给lv_root这个逻辑卷
此时使用df -Th命令查看,根分区总大小还未改变,
需要使用resize2fs /dev/mapper/vg_have-lv_root 命令来重新调整分区,
此时重新查看跟分区大小已经变成29G,并且进入跟分区可以查看到,数据依旧是存在的