Skip to content

Ubuntu 的根分区扩容

ESXI

在ESXI管理页增加其硬盘大小。强烈建议为虚拟机拍摄快照,增加容错空间。

观察

了解系统中各个块设备的布局和状态。可见磁盘空间已增加,而分区的大小没有增加。

shell
lsblk
log
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   125G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 101.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 101.9G  0 lvm  /
sr0                        11:0    1  1024M  0 rom

确认新空间已被识别

shell
fdisk -l
log
GPT PMBR size mismatch (220200959 != 262143999) will be corrected by write.

Disk /dev/sda: 125 GiB, 134217728000 bytes, 262144000 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0613813F-ABE7-4621-8B36-BB9E90DD601B

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   2203647   2201600     1G EFI System
/dev/sda2  2203648   6397951   4194304     2G Linux filesystem
/dev/sda3  6397952 220198911 213800960 101.9G Linux filesystem

如果 /dev/sda 还是旧大小,需要扫描磁盘(或重启虚拟机)

shell
echo 1 > /sys/class/block/sda/device/rescan

扩容分区

使用 growpart 工具扩容分区,这是最安全、最简单的方法。

安装工具(如果已有则跳过)

shell
apt update && apt install cloud-guest-utils -y

执行扩容命令。注意命令是磁盘设备 + 空格 + 分区号

shell
growpart /dev/sda 3
log
CHANGED: partition=3 start=6397952 old: size=213800960 end=220198911 new: size=255746015 end=262143966

检查块设备的布局。可见分区/dev/sda3的空间已增加至 121.9G

shell
lsblk
log
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   125G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 121.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 121.9G  0 lvm  /
sr0                        11:0    1  1024M  0 rom

物理卷

查看卷组信息

shell
vgdisplay # 展示卷组信息
log
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <60.95 GiB
  PE Size               4.00 MiB
  Total PE              15602
  Alloc PE / Size       15602 / <60.95 GiB
  Free  PE / Size       0 / 0
  VG UUID               mzekn5-1LqF-mE3Y-BmHD-E5XM-BB5Q-2skPQ9

扩大物理卷

shell
pvresize /dev/sda3 # 通知 物理卷管理器(LVM) 更新物理卷的信息,使其识别并利用新的、更大的磁盘空间。
log
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
shell
vgdisplay # 检查自由空间是否增加
log
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <86.95 GiB
  PE Size               4.00 MiB
  Total PE              22258
  Alloc PE / Size       15602 / <60.95 GiB
  Free  PE / Size       6656 / 26.00 GiB # 自由空间
  VG UUID               mzekn5-1LqF-mE3Y-BmHD-E5XM-BB5Q-2skPQ9

逻辑卷

扩容逻辑卷和文件系统。使用参数 -r 自动调整文件系统大小

shell
lvextend -l +100%FREE -r /dev/mapper/ubuntu--vg-ubuntu--lv
log
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <101.95 GiB (26098 extents) to <121.95 GiB (31218 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

检验效果

看看根目录空间是否已经增加

shell
lsblk ; df -Th
log
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   125G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 121.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 121.9G  0 lvm  /
sr0                        11:0    1  1024M  0 rom
Filesystem                         Type      Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv  ext4      120G   89G   26G  78% /
/dev/sda2                          ext4      2.0G  168M  1.7G  10% /boot
/dev/sda1                          vfat      1.1G  6.2M  1.1G   1% /boot/efi

扩容结束,完结撒花🎉。