Extend LVM Disk.md

使用 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

这样一来,磁盘空间就拓展了。

LVM  Linux  Debian  til 

也可以看看