Proxmox VE 虚拟机磁盘扩容完整教程
在日常运维中,经常会遇到虚拟机磁盘空间不足的情况。本文详细介绍如何在 Proxmox VE (PVE) 上给虚拟机扩容,以及在 Linux 系统 内扩展分区和文件系统。
1️⃣ 在 PVE 上扩展虚拟机磁盘
- 登录 PVE Web 界面。
- 选择需要扩容的 虚拟机(VM)。
- 点击 硬件(Hardware) 标签。
- 找到要扩容的 磁盘(例如 scsi0 或 virtio0),选中它。
- 点击 Resize Disk(调整大小)。
- 输入新的 磁盘大小(例如从 10G 扩容到 20G)。
- 点击 Resize 完成操作。
⚠️ 注意:部分磁盘类型(如 Raw)需要虚拟机关机才能扩容,qcow2 类型支持热扩容。
2️⃣ 在 Linux 系统内扩展分区和文件系统
磁盘在 PVE 上扩容后,虚拟机系统还需要识别新空间。
2.1 查看磁盘和分区
lsblk
fdisk -l
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 9.9G 0 part /
├─sda14 8:14 0 3M 0 part
└─sda15 8:15 0 124M 0 part /boot/efi
2.2 判断分区文件系统类型
常用方法:
- 使用
lsblk -f
:
lsblk -f
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 a1b2c3d4-e5f6-7890-1234-56789abcdef0 /
└─sda15 vfat 1234-ABCD /boot/efi
- 使用
df -T
:
df -T
输出示例:
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 10240000 5120000 4608000 53% /
- 使用
blkid
:
blkid /dev/sda1
输出示例:
/dev/sda1: UUID="a1b2c3d4-e5f6-7890-1234-56789abcdef0" TYPE="ext4" PARTUUID="12345678-01"
从上面输出可以确认
/
分区是 ext4 文件系统。
2.3 安装 growpart 工具(可选)
如果系统没有 growpart
,可先安装:
apt update
apt install cloud-guest-utils -y
2.4 扩展分区
假设根分区为 /dev/sda1
:
growpart /dev/sda 1
/dev/sda
是磁盘1
是分区号
这会把分区扩展到磁盘剩余空间。
2.5 扩展文件系统
- 如果是 ext4 文件系统:
resize2fs /dev/sda1
- 如果是 xfs 文件系统:
xfs_growfs /
2.6 验证扩容结果
df -h
输出示例:
root@ccs-gitlab:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.9G 0 2.9G 0% /dev
tmpfs 593M 3.2M 590M 1% /run
/dev/sda1 20G 8.6G 11G 46% /
tmpfs 2.9G 1.1M 2.9G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda15 124M 12M 113M 10% /boot/efi
tmpfs 593M 0 593M 0% /run/user/0
说明 /
分区已经成功扩容。
💡 小技巧:
- 对使用 LVM 的 Linux 系统,可用
lvextend
扩展逻辑卷,再扩展文件系统。 - 扩容过程尽量备份重要数据,以防操作失误。
这样,你的 PVE 虚拟机就完成了磁盘扩容和系统分区扩展,新的磁盘空间可以立即使用。