仅限制虚拟机环境和盘对盘情况
1、查看要扩容分区状态,第一步是要看分区所属磁盘,2查看分区格式
fdisk
我们看图中的几个重要信息,由于我个人在扩容之前做了个查看空间的动作,这个是没扩容分区的状态
1、磁盘类型:Disklabel type: gpt → 采用 GPT 分区表,适配 UEFI 启动模式
2、空间占用:整个 16GiB 磁盘已被两个分区完全占用(94M + 15.9G ≈ 16G),无剩余未分配空间
3、扇区细节:物理扇区为 4096 字节,逻辑扇区为 512 字节,符合现代虚拟磁盘的常见配置
4、挂载关系:
/dev/sda1:负责系统引导,不能随意扩容或删除
/dev/sda2:系统核心分区,包含所有系统文件和用户数据
确认好分区类型就可以关闭虚拟机开始扩容
2、安装工具
apt update && apt install -y cloud-guest-utils3、让系统识别磁盘新容量
partprobe /dev/sda执行后再用 lsblk 检查,sda 的 SIZE 应该已经变成你设置的新容量。
4、 扩容根分区 sda2
growpart /dev/sda 2/dev/sda 是磁盘,2 对应分区 sda2,这条命令会把未分配的空间合并到 sda2
5、扩容文件系统(飞牛选做)
先确认文件系统类型:
lsblk -f /dev/sda2如果是 ext4(最常见):
resize2fs /dev/sda2如果是 xfs
xfs_growfs /6、验证扩容结果
df -h /看到 / 分区的容量已经更新为新大小,就完成了
注意事项
操作前建议备份重要数据,避免意外
如果 growpart 提示 “disk size unchanged”,说明虚拟机层面还没扩容,需要先在平台调整磁盘大小
整个过程不需要重启,可在线完成
下面是操作日志可以作为参考,这个是飞牛的日志
LonelyJS@Ah-ASUS-Node01:~$ sudo su
[sudo] password for LonelyJS:
root@Ah-ASUS-Node01:/home/LonelyJS# apt update && apt install -y cloud-guest-uti ls
Get:1 https://mirrors.ustc.edu.cn/debian bookworm InRelease [151 kB]
Get:2 https://mirrors.ustc.edu.cn/debian bookworm-updates InRelease [55.4 kB]
Get:3 https://mirrors.ustc.edu.cn/debian bookworm-backports InRelease [59.4 kB]
Get:4 https://mirrors.ustc.edu.cn/debian-security bookworm-security InRelease [ 48.0 kB]
Get:5 https://mirrors.ustc.edu.cn/docker-ce/linux/debian bookworm InRelease [46 .6 kB]
Get:6 https://mirrors.ustc.edu.cn/debian bookworm/main amd64 Packages [8,792 kB ]
Get:7 https://mirrors.ustc.edu.cn/debian bookworm/main Translation-en [6,108 kB ]
Get:8 https://mirrors.ustc.edu.cn/debian bookworm/contrib amd64 Packages [53.5 kB]
Get:9 https://mirrors.ustc.edu.cn/debian bookworm/contrib Translation-en [48.4 kB]
Get:10 https://mirrors.ustc.edu.cn/debian bookworm/non-free amd64 Packages [102 kB]
Get:11 https://mirrors.ustc.edu.cn/debian bookworm/non-free Translation-en [68. 1 kB]
Get:12 https://mirrors.ustc.edu.cn/debian bookworm/non-free-firmware amd64 Pack ages [6,368 B]
Get:13 https://mirrors.ustc.edu.cn/debian bookworm/non-free-firmware Translatio n-en [20.9 kB]
Get:14 https://mirrors.ustc.edu.cn/debian bookworm-updates/main amd64 Packages [6,924 B]
Get:15 https://mirrors.ustc.edu.cn/debian bookworm-updates/main Translation-en [5,448 B]
Get:16 https://mirrors.ustc.edu.cn/debian bookworm-backports/main amd64 Package s [304 kB]
Get:17 https://mirrors.ustc.edu.cn/debian bookworm-backports/main Translation-e n [256 kB]
Get:18 https://mirrors.ustc.edu.cn/debian bookworm-backports/contrib amd64 Pack ages [5,856 B]
Get:19 https://mirrors.ustc.edu.cn/debian bookworm-backports/contrib Translatio n-en [5,864 B]
Get:20 https://mirrors.ustc.edu.cn/debian bookworm-backports/non-free amd64 Pac kages [13.3 kB]
Get:21 https://mirrors.ustc.edu.cn/debian bookworm-backports/non-free Translati on-en [8,460 B]
Get:22 https://mirrors.ustc.edu.cn/debian bookworm-backports/non-free-firmware amd64 Packages [3,828 B]
Get:23 https://mirrors.ustc.edu.cn/debian bookworm-backports/non-free-firmware Translation-en [2,860 B]
Get:24 https://mirrors.ustc.edu.cn/debian-security bookworm-security/main amd64 Packages [294 kB]
Get:25 https://mirrors.ustc.edu.cn/debian-security bookworm-security/main Trans lation-en [179 kB]
Get:26 https://mirrors.ustc.edu.cn/debian-security bookworm-security/contrib am d64 Packages [896 B]
Get:27 https://mirrors.ustc.edu.cn/debian-security bookworm-security/contrib Tr anslation-en [652 B]
Get:28 https://mirrors.ustc.edu.cn/debian-security bookworm-security/non-free-f irmware amd64 Packages [688 B]
Get:29 https://mirrors.ustc.edu.cn/debian-security bookworm-security/non-free-f irmware Translation-en [472 B]
Get:30 https://mirrors.ustc.edu.cn/docker-ce/linux/debian bookworm/stable amd64 Packages [64.0 kB]
Hit:31 https://pkg.ltec.ch/public focal InRelease
Fetched 16.7 MB in 3s (5,325 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
288 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
gdisk
Suggested packages:
cloud-init
The following NEW packages will be installed:
cloud-guest-utils gdisk
0 upgraded, 2 newly installed, 0 to remove and 288 not upgraded.
Need to get 249 kB of archives.
After this operation, 979 kB of additional disk space will be used.
Get:1 https://mirrors.ustc.edu.cn/debian bookworm/main amd64 cloud-guest-utils all 0.33-1 [27.9 kB]
Get:2 https://mirrors.ustc.edu.cn/debian bookworm/main amd64 gdisk amd64 1.0.9- 2.1 [221 kB]
Fetched 249 kB in 0s (776 kB/s)
Selecting previously unselected package cloud-guest-utils.
(Reading database ... 91683 files and directories currently installed.)
Preparing to unpack .../cloud-guest-utils_0.33-1_all.deb ...
Unpacking cloud-guest-utils (0.33-1) ...
Selecting previously unselected package gdisk.
Preparing to unpack .../gdisk_1.0.9-2.1_amd64.deb ...
Unpacking gdisk (1.0.9-2.1) ...
Setting up gdisk (1.0.9-2.1) ...
Setting up cloud-guest-utils (0.33-1) ...
Processing triggers for man-db (2.11.2-2) ...
root@Ah-ASUS-Node01:/home/LonelyJS# partprobe /dev/sda
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 100663296 blocks) or continue wi th the current setting?
root@Ah-ASUS-Node01:/home/LonelyJS# growpart /dev/sda 2
CHANGED: partition=2 start=194560 old: size=33357824 end=33552383 new: size=134 023135 end=134217694
root@Ah-ASUS-Node01:/home/LonelyJS# ^C
root@Ah-ASUS-Node01:/home/LonelyJS# resize2fs /dev/sda2
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 8
The filesystem on /dev/sda2 is now 16752891 (4k) blocks long.
root@Ah-ASUS-Node01:/home/LonelyJS# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 63G 12G 49G 20% /
root@Ah-ASUS-Node01:/home/LonelyJS#