kvm虚拟机扩容硬盘
1.宿主机查看kvm虚拟机磁盘文件大小
此时文件大小为50G
$ qemu-img info abc.qcow2 
image: abc.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 2.5G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
2.宿主机扩容kvm磁盘文件大小
注意
执行扩容命令前一定要先关闭虚拟机
$ qemu-img resize abc.qcow2 500G
Image resized.
再次查看kvm虚拟机磁盘文件大小,此时已经增加
$ qemu-img info abc.qcow2 
image: abc.qcow2
file format: qcow2
virtual size: 500G (536870912000 bytes)
disk size: 2.5G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
3.查看虚拟机硬盘大小
可以看到当前硬盘 /dev/sda 大小为500G

使用命令 df -h 查看,此时硬盘还未扩容

4.开始扩容硬盘
4.1 新建一个分区

4.2 修改分区格式
修改分区格式为8e,即lvm格式

保存后执行一下 partprobe  命令
4.3 再次查看虚拟机硬盘
可以看到新建的分区 /dev/sda3 ,并且硬盘Id为8e

4.4 查看新增的分区

4.5 使用lvm开始扩容
4.5.1 创建pv
$ pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.
4.5.2 将创建的pv加入vg
执行命令 vgdisplay  查看vg信息
$ vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <49.00 GiB
  PE Size               4.00 MiB
  Total PE              12543
  Alloc PE / Size       12542 / 48.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               3uV4Hk-GNAr-fIet-W5He-filb-pzd1-1cC4Os
将创建的pv加入vg
这里vg名称为 centos
$ vgextend centos /dev/sda3
  Volume group "centos" successfully extended
再次查看vg信息,可以看到新增的450G
$ vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               498.99 GiB
  PE Size               4.00 MiB
  Total PE              127742
  Alloc PE / Size       12542 / 48.99 GiB
  Free  PE / Size       115200 / 450.00 GiB
  VG UUID               3uV4Hk-GNAr-fIet-W5He-filb-pzd1-1cC4Os
4.5.3 扩容lv
执行命令 lvdisplay  查看lv信息
$ lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                K5Vifj-QpYD-MABK-NOAE-K8os-9BqR-8M620U
  LV Write Access        read/write
  LV Creation host, time templet, 2021-11-15 15:59:43 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                uMARyx-VRJh-79dj-v15L-yr7M-XzR7-SKRzMW
  LV Write Access        read/write
  LV Creation host, time templet, 2021-11-15 15:59:44 +0800
  LV Status              available
  # open                 1
  LV Size                46.99 GiB
  Current LE             12030
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
扩容lv
$ lvextend -L +450G /dev/centos/root 
  Size of logical volume centos/root changed from 46.99 GiB (12030 extents) to 496.99 GiB (127230 extents).
  Logical volume centos/root successfully resized.
4.5.4 扩容硬盘
说明
如果硬盘分区类型是 ext4 ,则使用 resize2fs 命令
如果硬盘分区类型是 xfs ,则使用 xfs_growfs 命令
这里硬盘分区类型是xfs
$ xfs_growfs /dev/mapper/centos-root 
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3079680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=12318720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6015, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 12318720 to 130283520
查看磁盘,扩容完成


