需要帮助扩展 LVM 卷

需要帮助扩展 LVM 卷

我正在尝试扩展 vHost 上的 lvm/空间。我在 XCP-ng 中将其从 20g 扩展到 100g。我可以看到磁盘上的新空间

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0 63.3M  1 loop /snap/core20/1828
loop1                       7:1    0 63.5M  1 loop /snap/core20/2015
loop2                       7:2    0 91.8M  1 loop /snap/lxd/24061
loop3                       7:3    0 49.8M  1 loop /snap/snapd/18357
loop4                       7:4    0 40.8M  1 loop /snap/snapd/20092
sr0                        11:0    1 1024M  0 rom
xvda                      202:0    0  100G  0 disk
├─xvda1                   202:1    0    1M  0 part
├─xvda2                   202:2    0  1.8G  0 part /boot
└─xvda3                   202:3    0 18.2G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0   10G  0 lvm  /

我尝试了不同的 lvextend -l +100%FREE xxx,但都没有成功。resize2fs 也没有给我带来任何帮助。我漏掉了某个步骤,有谁能帮我吗?


sudo pvs输出:

PV         VG        Fmt  Attr PSize  PFree
/dev/xvda3 ubuntu-vg lvm2 a--  18.22g 8.22g

我想我最终将空间移到了 xvda3 而不是 LVM

root@Plex:/home/penbrock# lsblk /dev/xvda
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
xvda                      202:0    0  100G  0 disk
├─xvda1                   202:1    0    1M  0 part
├─xvda2                   202:2    0  1.8G  0 part /boot
└─xvda3                   202:3    0 98.2G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0   10G  0 lvm  /

答案1

作为如何解决你的问题的实际答案的序言请记住,逻辑卷管理器 (LVM) 系统建立在多个层上,这些层协同工作以在磁盘上创建可操作的逻辑卷:

  • 您的实际磁盘。无论是 SSD、HDD 还是虚拟磁盘,当我们谈论虚拟机或 VPS 之类的东西时,这就是硬件机器级别。它包含系统的实际数据,包括分区表等,这些分区表定义了驱动器上的分区和每个分区的数据分配。这些分区构成了 PV,而成为 PV 的分区由在磁盘分区表上创建的分区定义。
  • 物理卷(PV) - 这些是指定为 LVM2 成员的磁盘分区,它们构成了 LVM 系统的卷组。多个 PV 可以成为 VG 的成员,来自多个磁盘的多个 PV 可以组成一个 VG。一个 PV 一次只能安全地成为一个 VG 的成员。
  • 卷组(VG) - 指定的 PV 组,它们组合起来指定卷组的总可用空间。LV 在组成 VG 的成员 PV 内创建。
  • 逻辑卷(LV) - 这些是组成 LVM 实际逻辑卷部分的“逻辑驱动器”。这些是属于单身的VG,并且可以扩展以填充其所属的 VG。每个 VG 可以有多个 LV,但 VG 中 LV 的总大小不能超过 VG 中的空间,并且不能重叠(就像磁盘上的分区一样)。
  • 实际的文件系统安装在逻辑卷上。这就是您在逻辑卷上拥有根文件系统的方式,Ubuntu 就是在安装程序中直接安装在 LVM 环境中的。这就是您相互影响与卷一起安装以供操作系统使用。

当处理 LVM 卷时,您必须考虑每一层。

在 VM/VPS 上执行此操作的一般过程是:扩展物理磁盘/驱动器、扩展作为 LVM 成员的分区、扩展 PV(如果尚未扩展)、调整逻辑卷本身的大小,然后调整该卷上的实际文件系统的大小。(当涉及多个 PV 和/或多个 VG 时,这会变得更加复杂,本文不作介绍)


如果您不想阅读,而只是想知道答案……

我们从你的帖子中xvda3得知物理体积sudo pvsLVM 正在使用。如果您实际运行并读取它,则会在输出中看到这一点。

每当我们使用 LVM 系统时,几个步骤你必须扩大单 PV 单 VG 环境*

  1. 调整硬盘本身的大小(如果从较小的物理驱动器转到较大的物理驱动器,则通过克隆,或者如果这是 VM 或虚拟磁盘,则在虚拟机管理程序处,或者对于 VPS 或 DO 节点等,则在托管面板等处)(您已经这样做了)。
  2. 调整 LVM VG 成员分区的大小.(sudo growpart /dev/xvda 3)(您已经从第二个输出中扩大了分区lsblk,但您可以保留它以供将来参考)。
  3. 如果 PV 尚未调整大小,则调整其大小。这有时可以在分区增长期间自动完成,因此您可能不需要这样做,但它永远不会有害。(sudo pvresize /dev/xvda3
  4. 调整 LV 的大小sudo lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  5. 调整文件系统本身的大小以使用更大的空间。sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

然后您的系统将反映扩展的磁盘空间。


*我特别提到了单 PV 单 VG 设置因为你的系统(以及安装程序中直接设置的大多数 LVM)都是在单个磁盘上设置的,而 Ubuntu 默认为单 LV,在单卷组,在单次光伏(分区)上的磁盘,除非您使用自定义安装。多PV或者多VG设置非常复杂,超出了您的问题和答案的范围。

相关内容