我正在尝试扩展 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 pvs
LVM 正在使用。如果您实际运行并读取它,则会在输出中看到这一点。
每当我们使用 LVM 系统时,几个步骤你必须扩大单 PV 单 VG 环境*:
- 调整硬盘本身的大小(如果从较小的物理驱动器转到较大的物理驱动器,则通过克隆,或者如果这是 VM 或虚拟磁盘,则在虚拟机管理程序处,或者对于 VPS 或 DO 节点等,则在托管面板等处)(您已经这样做了)。
- 调整 LVM VG 成员分区的大小.(
sudo growpart /dev/xvda 3
)(您已经从第二个输出中扩大了分区lsblk
,但您可以保留它以供将来参考)。 - 如果 PV 尚未调整大小,则调整其大小。这有时可以在分区增长期间自动完成,因此您可能不需要这样做,但它永远不会有害。(
sudo pvresize /dev/xvda3
) - 调整 LV 的大小(
sudo lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
) - 调整文件系统本身的大小以使用更大的空间。 (
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
)
然后您的系统将反映扩展的磁盘空间。
*我特别提到了单 PV 单 VG 设置因为你的系统(以及安装程序中直接设置的大多数 LVM)都是在单个磁盘上设置的,而 Ubuntu 默认为单 LV,在单卷组,在单次光伏(分区)上的磁盘,除非您使用自定义安装。多PV或者多VG设置非常复杂,超出了您的问题和答案的范围。