PVE环境 parted 拿磁盘剩余空间新建分区(PVE常用,GPT磁盘)

⚠️ 严禁在系统盘sda随便操作!只操作新加的数据盘,例如 /dev/sdb、/dev/nvme1n1
操作前确认磁盘设备,数据会丢失,重要数据先备份!

1、查看磁盘+空闲空间

lsblk
# 打印分区+空闲空间
parted /dev/sdb print free

输出会看到 Free Space,看最后一段空闲的起始位置。

2、一条命令直接把尾部全部剩余空间新建分区

parted /dev/sdb mkpart primary $(parted /dev/sdb print free | grep 'Free Space' | tail -1 | awk '{print $1}') 100%

替换 /dev/sdb 成你的磁盘

3、内核刷新分区表(必须执行)

partprobe /dev/sdb
lsblk

新分区一般是 /dev/sdb4 这类编号。

✅ PVE两种用法(二选一)

方案A:做成LVM(推荐PVE虚拟机存储,LVM/LVM-Thin)

# 创建PV
pvcreate /dev/sdb4
# 新建卷组,名字自定义如 vmdata
vgcreate vmdata /dev/sdb4

然后网页:节点 → 磁盘 → LVM / LVM-Thin 创建存储。

方案B:直接ext4文件系统,做目录存储(iso/备份)

mkfs.ext4 /dev/sdb4
mkdir -p /mnt/diskdata
mount /dev/sdb4 /mnt/diskdata

永久挂载写入 /etc/fstab,PVE网页添加「目录」存储。


补充:如果你不是新建分区,而是扩容已有分区(PVE系统盘LVM扩容)

# 把3号分区扩展到磁盘末尾
parted /dev/sda resizepart 3 100%
partprobe /dev/sda
# 扩容PV识别新增空间
pvresize /dev/sda3
# 把全部空闲空间给到pve/data
lvextend -l +100%FREE /dev/pve/data

快速排坑

  1. Warning: Not all of the space available → 输入 F fix GPT表
  2. parted报错:磁盘被占用 → 不要在正在读写的盘操作,最好把该盘上虚拟机全部关机
  3. 新建分区后lsblk看不到 → partprobe 或者重启节点
作者:月影鹏鹏  创建时间:2026-10-04 08:16
最后编辑:月影鹏鹏  更新时间:2026-10-04 08:16