TranslateProject/translated/tech/20201106 Reclaim hard-drive space with LVM.md
2020-11-24 08:46:17 +08:00

7.0 KiB
Raw Blame History

使用 LVM 回收硬盘空间

Hard drive image

照片Frank R @ Unsplash.com

LVM 是一个逻辑卷管理工具,包括分配磁盘、区代化、镜像和调整逻辑卷的大小。它在 Fedora 安装中被普遍使用(在 BTRFS 作为默认之前是 LVM+Ext4。但是你是否曾经遇到过启动系统时Gnome 提示主卷几乎没有空间了!幸运的是,很有可能有一些空间在另一个卷中,而未被使用,并准备重新分配。下面就来看看如何用 LVM 回收硬盘空间。

在卷之间轻松重新分配空间的关键是逻辑卷管理器 LVM。Fedora 32 及以前的系统默认使用 LVM 来划分磁盘空间。这种技术类似于标准的硬盘分区,但 LVM 更加灵活。LVM 不仅可以实现灵活的卷大小管理,还可以实现一些高级功能,比如读写快照、在多个硬盘上进行数据区带化或镜像、将高速硬盘作为慢速硬盘的缓存等等。所有这些高级选项可能会让人有点不知所措,但调整卷的大小很直接的。

LVM 基础

_卷组_作为 LVM 系统中的主要容器。默认情况下Fedora 只定义了一个卷组,但你可以根据需要定义多个卷组。实际的硬盘和硬盘分区被添加到 卷组_中作为_物理卷。_物理卷_会将可用的空间添加到_卷组_中。一个典型的 Fedora 安装有一个格式化的启动分区,其余的硬盘是一个配置为 LVM _物理卷_的分区。

从这个可用空间池中,卷组_分配了一个或多个_逻辑卷。这些卷类似于硬盘分区但没有磁盘上连续空间的限制。LVM 的_逻辑卷_甚至可以跨越多个设备就像硬盘分区一样_逻辑卷_有一个定义的大小可以包含任何文件系统然后可以挂载到特定的目录。

需要什么

在 gnome-disks 应用中确认系统使用 LVM ,并确保其他卷中有可用的空间。如果没有从另一个卷中回收的空间,这个指南就没有用。还需要一个 Fedora live CD/USB。任何需要收缩的文件系统都必须卸载。从 Live 镜像运行可以让硬盘上的所有卷保持未挂载状态,甚至包括像 //home 这样的重要目录。

Use gnome-disks to verify free space

一句话警告

按照这个指南,应该不会丢失任何数据,但它确实会使用一些非常底层和强大的命令。一个错误可能会破坏硬盘上的所有数据。所以要先备份磁盘上的所有数据!

调整 LVM 卷的大小

开始时,启动 Fedora Live 镜像并在对话框中选择 Try Fedora。接下来,使用 Run Command 启动 blivet-gui 应用(按 Alt-F2,输入 blivet-gui然后按_回车_。选择左侧 LVM 下的卷组。逻辑卷在右边。

Explore logical volumes in blivet-gui

逻辑卷标签由卷组名称和逻辑卷名称组成。在本例中,卷组是 “fedora_localhost-live”分配了 “home”、“root” 和 “swap” 逻辑卷。要找到完整的卷选择每一个卷点击_齿轮_图标然后选择 resize。调整大小对话框中的滑块表示卷的允许大小。左边的最小值是文件系统中已经使用的空间所以这是最小可能的体积大小不删除数据。右边的最大值是基于_卷组_中的最大可用空间。

Resize dialog in blivet-gui

灰色的 resize 选项意味着该卷已经满了,而且卷组中没有可用空间。现在可以更改大小了!查看所有的卷,就像上面的截图那样,找到一个有足够空间的卷。并像上面的截图那样,在所有的卷中找到一个有大量额外空间的卷。向左移动滑块来设置新的大小。腾出足够的空间对整个卷有用,但仍然为未来的数据增长留出足够的空间。否则,这个卷将是下一个被填满的卷。

点击 resize,注意卷列表中出现了一个新项目:空闲空间。现在选择这次要调整的卷,并将滑块一直向右移动。按 resize并查看新改进的卷的布局。然而硬盘驱动器上的任何东西都还没有改变。点击_勾选按钮_将更改提交到磁盘。

Review changes in blivet-gui

查看更改的摘要,如果一切看起来都是正确的,点击 Ok 继续。等待 blivet-gui 完成。现在重新启动回到 Fedora ,享受之前被充满的卷上的新空间。

为未来计划

要知道任何特定卷在未来需要多少空间是很困难的。与其立即分配所有可用的空闲空间不如考虑在卷组中留出空闲空间。事实上Fedora Server 默认在卷组中保留空间。当一个卷处于在线和使用中时,扩展卷是可能的。不需要 Live 镜像或重启。当一个卷几乎满的时候,可以使用部分可用空间轻松扩展卷并继续工作。遗憾的是,默认的磁盘管理器 gnome-disks 不支持 LVM 卷的大小调整,所以安装 blivet-gui 作为图形化管理工具。另外,还有一个简单的终端命令来扩展卷。

lvresize -r -L +1G /dev/fedora_localhost-live/root

总结

用 LVM 回收硬盘空间只是 LVM 功能的表面。大多数人特别是在桌面中可能不需要更高级的功能。然而当需要的时候LVM 就在那里,尽管它的实现可能会变得有点复杂。从 Fedora 33 开始,BTRFS 是默认的文件系统,没有 LVM。BTRFS 可以更容易管理,同时对于大多数常见的使用来说也足够灵活。查看最近 Fedora Magazine 关于 BTRFS 的文章了解更多。


via: https://fedoramagazine.org/reclaim-hard-drive-space-with-lvm/

作者:Troy Curtis Jr 选题:lujun9972 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出