不停机扩容 PVE 的虚拟机硬盘空间

增加虚拟硬盘空间

如图所示

2025-05-02T11:02:30.webp

如果热操作不成功,或者操作后显示橙色的待生效内容,则需要关闭虚拟机。

扩容分区与文件系统

检查

(我是热操作的) 此时系统应该发现了硬盘空间的增加。

2025-05-02T11:03:44.png

使用 fdisk -l 查看硬盘信息

root@Debian:~# fdisk -l
GPT PMBR size mismatch (6291455 != 33554431) will be corrected by write.
The backup GPT table is not on the end of the device.
Disk /dev/sda: 16 GiB, 17179869184 bytes, 33554432 sectors
Disk model: QEMU HARDDISK   
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: EC86DE3B-DED1-6B4E-B075-C0EDF4BB8799

Device      Start     End Sectors  Size Type
/dev/sda1  262144 6289407 6027264  2.9G Linux root (x86-64)
/dev/sda14   2048    8191    6144    3M BIOS boot
/dev/sda15   8192  262143  253952  124M EFI System

Partition table entries are not in disk order.

可以看到硬盘空间已经增加到了 16GB, /dev/sda1 分区大小还是原来的。

分区大小并不会自动调整,需要手动扩容。

扩容分区

通过上面的检查,可以确定 sda1 是最后一个有效分区。

2048      8192     262144   6289407     ... 扇区
  |  sda14  |  sda15  |  sda1  | 空闲空间 |

这样我们就可以直接扩展 sda1 分区,使其占用剩余的空间。

使用 growpart 扩容分区, growpart <硬盘> <分区>。如果分区是 /dev/sdaX, 那么命令就是 growpart /dev/sda X

root@Debian:~# growpart /dev/sda 1
CHANGED: partition=1 start=262144 old: size=6027264 end=6289407 new: size=33292255 end=33554398

root@Debian:~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda       8:0    0   16G  0 disk 
├─sda1    8:1    0 15.9G  0 part /
├─sda14   8:14   0    3M  0 part 
└─sda15   8:15   0  124M  0 part /boot/efi
sr0      11:0    1    4M  0 rom  
sr1      11:1    1 1024M  0 rom  

root@Debian:~# df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           795M  776K  794M   1% /run
/dev/sda1       2.8G  1.2G  1.5G  45% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      124M   12M  113M  10% /boot/efi
tmpfs           795M     0  795M   0% /run/user/1000

可以看到分区大小已经增大,但文件系统大小没有变化。

扩容文件系统

使用 resize2fs 可以调整 ext 文件系统的空间大小。

用法: resize2fs <分区>, 例如 resize2fs /dev/sda1

root@Debian:~# resize2fs /dev/sda1
resize2fs 1.47.0 (5-Feb-2023)
[ 5641.586087] EXT4-fs (sda1): resizing filesystem from 753408 to 4161531 blocks
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
[ 5641.680310] EXT4-fs (sda1): resized filesystem to 4161531
The filesystem on /dev/sda1 is now 4161531 (4k) blocks long.

root@Debian:~# df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           795M  776K  794M   1% /run
/dev/sda1        16G  1.2G   14G   8% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      124M   12M  113M  10% /boot/efi
tmpfs           795M     0  795M   0% /run/user/1000

现在可以看到文件系统也成功调整大小,到这里不停机扩容就完成了。

本文链接:

https://blog.nkxingxh.top/archives/567/
1 + 4 =
快来做第一个评论的人吧~