我有一个 Ubuntu 服务器 20.04,带有加密的 50GB LVM 根分区,我刚刚意识到文件系统本身只显示 25GB
安装是默认的(除了加密位),我不明白为什么它没有使用根分区的所有空间?
如何扩展根文件系统?
PV VG Fmt Attr PSize PFree
/dev/mapper/dm_crypt-0 ubuntu-vg lvm2 a-- 48.48g <24.24g
VG #PV #LV #SN Attr VSize VFree
ubuntu-vg 1 1 0 wz--n- 48.48g <24.24g
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao---- 24.24g
答案1
为什么它没有使用根分区的所有空间?
创建逻辑卷时,仅为其分配了 24.24 GB。这实际上可能是一件好事:如果您发现由于某种原因需要一个逻辑卷,则剩余空间可用于创建另一个逻辑卷,或者您可以使用可用空间来扩展现有逻辑卷,即使其文件系统已安装并处于安装状态。使用。
保留一些未分配的空间可能是一件好事,因为它可以让您轻松应对未来意外的需求:
- 文件系统需要比预期更多的空间?没问题,您可以在线扩展。 (扩展文件系统通常比缩小文件系统容易得多,因此降低预期要求然后根据需要进行扩展可能是一个很好的策略。)
- 您需要一个带有特殊挂载选项的小型文件系统来用于 chroot 监狱吗?只需使用一些未分配的空间为其创建一个新的 LV 即可。
如何扩展根文件系统?
例如,要将其扩展 5 GB:
sudo lvextend --resizefs -L +5G ubuntu-vg/ubuntu-lv
或者,如果您想使用所有剩余的未分配容量来扩展根文件系统:
sudo lvextend --resizefs -l +100%FREE ubuntu-vg/ubuntu-lv
如果不使用该--resizefs
选项,则该命令将仅扩展逻辑卷,而不扩展其中的文件系统。然后,您必须使用另一个命令来告诉文件系统利用扩展名: 或者fsadm resize /dev/mapper/ubuntu--vg-ubuntu--lv
或 特定于文件系统的命令,例如resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
or xfs_growfs /
。
(一旦 LV 成功扩展,--resizefs
选项lvextend
实际上只会为您运行命令。)fsadm resize ...
答案2
语境
LVM 块上应该有(某种程度上)多个文件系统。这是 LVM 中物理文件系统的表示方式(至少就 LVM 和 LVM2 而言)。
如果您使用 Gparted GUI 查看文件系统,它看起来会与其他分区不同。大多数分区将由一堆排成一行的块表示,代表一个驱动器,而 LVM 分区将由 2 个块表示,一个块堆叠在另一个块的顶部,嵌套在行内。
这是因为 LVM 由多个卷组成,这些卷协同工作来存储数据并允许您访问数据。有点像 RAID,尽管它们的相似之处仅此而已。
这就是可能会让人有点困惑的地方。从技术上讲,这两个驱动器代表相同的数据,但以不同的方式。如果您熟悉归档,则可以为 LVM 使用相同的抽象(尽管这些术语不可互换。)
LVM 具有逻辑卷 (LV)、物理卷 (PV) 和卷组 (VG)。单个卷组可以容纳多个物理卷。它还将包含一个逻辑卷,其中保存物理卷的元数据。换句话说,据说VG中的逻辑卷’地图' VG 的物理卷。这个元数据就是我之前将其与存档概念进行比较的原因。
与其他文件系统相比,此映射功能使 LVM 具有一些优势。一方面,由于其物理部分可以拆分为多个部分,因此 LVM 分区本身可以拆分为多个驱动器。例如,对于 Ext2、3、4 卷,这是不可能的。
LVM 的主要缺点(至少根据我的经验)出现在“应用”领域。尤其是对于 Ubuntu 而言。
例如,如果您通过 Ubuntu Live 介质上的“修复驱动器”选项获得了 LVM(即您使用 USB 启动棒修复损坏的分区,并恢复了 LVM2 / LUKs 分区),那么它们很可能那是行不通的。
免责声明:这是一个非常高层次的解释,而不是深入探讨。在这方面,一些陈述采用“或多或少”的格式,以使概念易于理解。有些地方,我其实开始解释得更深入,但发现结果很难理解,所以我改变了它们。要更深入地了解,请参阅这里。
回答问题本身
文件系统本身只是 lvm 分区的一部分。到目前为止,在我见过的每个实例中,在 Ubuntu Live 创建的 LVM 分区中,都有 2 个 PV。这可能是可编辑的。也就是说,我使用过 5 个独立的块,它们都是由不同的用户在不同的时间、在不同的机器上创建的,根据我的经验,2 一直是一个神奇的数字。你想怎样就怎样吧。
亲自了解这个概念的最佳方法(在 20.04 上;不确定 Gparted 版本)是使用 Gparted GUI 检查您的驱动器。您将亲眼看到我所阐述的抽象概念。