使用 PVE + Debian 组合后,开发变得愉快了很多。今天遇到了一个新的问题,磁盘空间不足,拓展之后磁盘大小仍然不变。
我们讨论的是使用 LVM(逻辑卷管理器)的情况。
在这种情况下,我们需要首先看看系统。
root@debian:/home/svtter# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 132G 0 disk
├─sda1 8:1 0 487M 0 part /boot
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 31.5G 0 part
├─debian--vg-root 254:0 0 30.5G 0 lvm /
└─debian--vg-swap_1 254:1 0 976M 0 lvm [SWAP]
sr0 11:0 1 1.4G 0 rom
此时我们总共有 132G 的可用空间,使用了 31.5 G。
我们需要调整 /dev/sda5
的大小。
我们首先需要使用一个 bootable usb。如果你使用的 PVE,你可以直接加载一个 iso 来启动。
注意:以下的操作不一定具有可复现性。请务必备份你的数据,以防不测。
在 live system 中,运行parted /dev/sda
。
debian live system 中,用户名密码为:
user/live
,切换 root 用户,只需要sudo su
。
在 parted 中,使用 print 查看磁盘情况。
下面是一个操作样例:
# 启动 parted 并选择磁盘
parted /dev/sda
# 查看当前分区表
print
# 调整分区大小(假设要将 /dev/sda5 扩展到最大可用空间)
resizepart 5 # 5 是 /dev/sda5 的分区编号
# 按照提示输入新的分区大小,按 Enter 选择默认的最大可用空间
# 退出 parted
quit
此时,需要首先resizepart /dev/sda2
,也就是逻辑卷组。然后在扩展resizepart /dev/sda5
。
完成拓展后,运行
pvresize /dev/sda5
vgextend debian-vg /dev/sda5
lvextend -l +100%FREE /dev/debian-vg/root
此时磁盘空间已经拓展了。但是 ext4 文件系统还未适应。
运行命令来重新调整 ext4 文件系统。
e2fsck -f /dev/debian-vg/root
resize2fs /dev/debian-vg/root
再次查看
root@debian:/home/user# sudo lvdisplay /dev/debian-vg/root
--- Logical volume ---
LV Path /dev/debian-vg/root
LV Name root
VG Name debian-vg
LV UUID 82SmmD-qnAc-KOIO-1B2Y-ynP3-Mo0E-D12Rq0
LV Write Access read/write
LV Creation host, time debian, 2025-02-15 05:49:23 +0000
LV Status available
# open 0
LV Size <91.70 GiB
Current LE 23475
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
这样一来,磁盘空间就拓展了。