用命令行方式给kvm虚拟机扩容的操作过程

        给KVM虚拟机ubuntu系统扩容,用图形界面 gparted 工具是很容易了,但受限于宿主机内存不足,无法运行图形界面,因此需用命令行方式解决。

        然而查找了很多网上的教程,扩容完 /dev/vda 之后,就直接 lvextend 扩容逻辑卷。我使用后依然没有扩容效果。

        其实上述两个操作之间需要补充扩容物理卷和格式化操作。此文将记录完整过程。

扩容前磁盘使用状态

扩容操作过程

1. 运行虚拟机,在宿主机上给虚拟机镜像扩容

   命令: 

cd /var/lib/libvirt/images/

virsh start ubuntu20.04-worker

virsh blockresize --path /var/lib/libvirt/images/ubuntu20.04-worker.qcow2 --size 40G ubuntu20.04-worker

2. 进入虚拟机中进行扩容操作

        1)使用 fdisk -l 查看磁盘空间,可以看到 /dev/vda 设备已经扩到40G,其中已分配的有25G :

        2)使用 growpart   /dev/vda   3 命令扩容磁盘设备,之后再次查看磁盘/dev/vda 设备已经分配了40G:

             尽管 /dev/vda3 已经扩容,但根目录是挂载在 /dev/mapper/ubuntu--vg-ubuntu--lv 分区的,而它是位于 /dev/vda3 中的,但是为什么到现在还是23G呢?使用 lsblk 命令可以看到,目前 /dev/vda3 中增加的磁盘空间并未格式化成 lvm 类型,因此 ubuntu--vg-ubuntu--lv 分区依然是23G。接着使用 pvs 命令看到物理卷的可用区间是0。

             因此我们需要先让新增的空间变成物理卷认可的空间,然后才能给 /dev/mapper/ubuntu--vg-ubuntu--lv 分区扩容:

        3)使用 pvresize /dev/vda3 命令将新增的磁盘空间添加到物理卷中,接着再用 pvs 查看,现在可以看到 PFree 已经不是0了:

        4)扩容逻辑卷 ubuntu--vg-ubuntu--lv ,并使用 resize2fs 格式化:

 

        命令:

lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

扩容后磁盘使用状态:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值