Kernel 5.15 虚拟机扩容实践

备份

创建快照备份。然后重新设置硬盘大小,此处我扩充到 100 GiB。

image-20230206224010910

观察

df -h 的作用是查看磁盘使用情况,lsblk 的作用是查看磁盘分区情况。

image-20230206224424900

image-20230206224831442

lsblk 的输出包括这几列:

  1. NAME:设备名

  2. MAJ:MIN:主设备号和次设备号

  3. RM:是否可移除

  4. SIZE:大小

  5. RO:是否只读

  6. TYPE:类型,如 disk、part、lvm、crypt、loop,分别表示磁盘、分区、逻辑卷、加密分区、回环设备(loop device,即将文件当作块设备使用)

  7. MOUNTPOINT:挂载点

扩容

lvextend 的作用是扩展逻辑卷,resize2fs 的作用是扩展文件系统。

我们执行

1sudo lvextend -l +100%FREE /dev/ubuntu--vg-ubuntu--lv
  • 参数 -l 表示扩展。等价形式是 --extents

  • 参数 +100%FREE 表示扩展到剩余空间的 100%。

这一步执行之后,效果为给定的逻辑卷扩展了 100 GiB 的空间。但是文件系统的大小并没有变化。我们需要通知文件系统,扩展到新的大小。

image-20230206225126825

我们执行

1sudo resize2fs /dev/ubuntu--vg-ubuntu--lv

作用是通知文件系统,扩展到新的大小。

image-20230206225207442

需要注意的是,resize2fs 会自动检测文件系统的类型,因此不需要指定文件系统类型。但是支持的只有 ext2/3/4,不支持 xfs。

对于其它文件系统,采用如下方式:

1# xfs
2xfs_growfs /dev/ubuntu--vg-ubuntu--lv
3# btrfs
4btrfs filesystem resize max /dev/ubuntu--vg-ubuntu--lv

确认

重新执行 df -hlsblk,可以看到,磁盘大小已经变化。

image-20230206225229542