在 Btrfs 和 LVM-ext4 之间选择

[ad_1]

Fedora 33 在桌面变体中引入了新的默认文件系统, Btrfs. 经过多年 Fedora 使用 分机4 在之上 逻辑卷管理器 (LVM) 量,这是一个很大的转变。 更改默认文件系统需要 令人信服的理由. 虽然 Btrfs 是令人兴奋的下一代文件系统,但 LVM 上的 ext4 已经建立并稳定。 本指南旨在探索每种功能的高级功能,并使其更容易在 Btrfs 和 LVM-ext4 之间进行选择。

总之

最简单的建议是坚持使用默认值。 一个新鲜的 Fedora 33 安装默认为 Btrfs 并升级以前的 Fedora 发行版继续使用最初安装的任何内容,通常是 LVM-ext4。 对于现有的 Fedora 用户,获得 Btrfs 的最干净方法是全新安装。 但是,全新安装比简单升级更具破坏性。 除非有特殊需要,否则这种中断可能是不必要的。 这 Fedora 开发团队仔细考虑了这两个默认值,因此请对任何一个选择充满信心。

所有其他文件系统呢?

有一个 Linux系统的大量文件系统. 在添加卷管理器、加密方法和存储机制的组合后,这个数字会爆炸式增长。 那么为什么要关注 Btrfs 和 LVM-ext4? 为了 Fedora 观众 这两种设置可能是最常见的。 LVM 上的 Ext4 成为默认磁盘布局 Fedora 11,LVM 上的 ext3 在此之前出现。

现在 Btrfs 是默认的 Fedora 33,绝大多数现有用户将考虑他们是否应该留在原地或向前跳跃。 面对新鲜的 Fedora 33 安装,有经验的 Linux 用户可能想知道是使用这个新的文件系统还是退回到他们熟悉的。 因此,在可能的存储选项的广泛领域之外,许多 Fedora 用户会想知道如何在 Btrfs 和 LVM-ext4 之间进行选择。

共性

尽管两种设置之间存在核心差异,但 Btrfs 和 LVM-ext4 实际上有很多共同点。 两者都是成熟且经过良好测试的存储技术。 LVM 从早期开始就一直在使用 Fedora Core 和 ext4 成为 2009 年默认为 Fedora 11. Btrfs 于 2009 年并入主线 Linux 内核, Facebook 广泛使用它. SUSE Linux Enterprise 12 使其成为 2014年默认. 因此,那里也有大量的生产运行时间。

这两个系统都在防止因意外断电而导致文件系统损坏方面做得很好,即使它们的实现方式不同。 支持的配置包括单个驱动器设置以及跨多个设备,两者都能够创建近乎即时的快照。 存在多种工具来帮助管理任一系统,包括命令行和图形界面。 这两种解决方案在家用台式机和高端服务器上同样有​​效。

LVM-ext4 的优势

LVM 上 ext4 的结构

ext4 文件系统 专注于高性能和可扩展性,没有太多多余的装饰。 它可以有效地防止长时间的碎片化,并提供 不错的工具 因为它什么时候发生。 Ext4 坚如磐石,因为它建立在以前的 ext3 文件系统上,并带来了多年来的系统内测试和错误修复。

LVM-ext4 设置中的大多数高级功能来自 LVM 本身。 LVM 位于文件系统的“下方”,这意味着它支持任何文件系统。 逻辑卷 (LV) 是通用块设备,因此 虚拟机可以直接使用它们。 这种灵活性允许每个逻辑卷在各种情况下使用正确的文件系统和正确的选项。 这种分层方法也尊重了小工具协同工作的 Unix 哲学。

卷组 (VG) 对硬件的抽象允许 LVM 创建灵活的逻辑卷。 每个 LV 从同一个存储池中提取,但具有自己的配置。 调整卷大小比调整物理分区大小要容易得多,因为对数据的有序放置没有限制。 LVM 物理卷 (PV) 可以是任意数量的分区,甚至可以在系统运行时在设备之间移动。

LVM 支持只读和读写 快照,这使得从活动系统创建一致的备份变得容易。 每个快照都有一个定义的大小,并且源或快照卷使用空间的更改从那里开始。 或者,逻辑卷也可以是 精简配置池. 这允许快照自动使用池中的数据,而不是使用在创建卷时定义的固定大小的块。

具有 LVM 的多个设备

当有多个设备时,LVM 真的很出色。 它对大多数有本机支持 RAID 级别 每个逻辑卷可以有不同的 RAID 级别。 LVM 会自动为 RAID 配置选择合适的物理设备,或者用户可以直接指定。 基本 RAID 支持包括数据条带化以提高性能(RAID0) 和镜像冗余 (RAID1)。 逻辑卷还可以使用高级设置,例如 RAID5, RAID6, 和 RAID10. LVM RAID 支持已经成熟,因为在底层 LVM 使用相同的 设备映射器 (dm)多设备 (md) mdadm 使用的内核支持。

逻辑卷也可以 缓存卷 适用于具有快速和慢速驱动器的系统。 一个经典的例子是 SSD 和旋转磁盘驱动器的组合。 缓存卷使用更快的驱动器来处理更频繁访问的数据(或作为写缓存),而使用速度较慢的驱动器来处理大量数据。

LVM 中的大量稳定特性和 ext4 的可靠性能证明了它们已经使用了多长时间。 当然,更多的功能带来了复杂性。 在配置 LVM 时,为正确的功能找到正确的选项可能具有挑战性。 对于单驱动器桌面系统,LVM 的特性(如 RAID 和缓存卷)不适用。 但是,逻辑卷比物理分区更灵活,快照很有用。 对于正常的桌面使用,LVM 的复杂性也可能成为从典型用户可能遇到的问题中恢复的障碍。

Btrfs 的优势

显示 Btrfs 文件系统与硬盘分区和挂载目录的关系。Btrfs 结构

从前几代吸取的教训指导了内置的功能 Btrfs. 与 ext4 不同,它可以直接跨越多个设备,因此它带来了通常只有在卷管理器中才能找到的功能。 它还具有 Linux 文件系统空间中独一无二的功能(ZFS 具有类似的功能集,但 不要指望它在 Linux 内核中)。

Btrfs 的主要功能

也许最重要的功能是所有数据的校验和。 校验和与写时复制一起提供 关键方法 在意外断电后确保文件系统的完整性。 更独特的是,校验和可以检测数据本身的错误。 静默数据损坏,有时称为 有点红,这是大多数人意识到的更常见。 如果没有主动验证,损坏最终会传播到所有可用的备份。 这使用户没有有效的副本。 通过透明地校验所有数据,Btrfs 能够立即检测到任何此类损坏。 启用权利 重复或突袭选项 允许文件系统也透明地修复损坏。

写时复制 (COW) 也是 Btrfs 的一个基本功能,因为它对于提供文件系统完整性和即时子卷快照至关重要。 从公共子卷创建时,快照会自动共享基础数据。 此外,事后 重复数据删除 使用相同的技术来消除相同的数据块。 单个文件可以通过调用 cp 使用 COW 功能 引用选项. Reflink 副本对于复制大文件(例如虚拟机映像)特别有用,这些文件随着时间的推移往往具有大部分相同的数据。

Btrfs 支持跨越多个设备而无需卷管理器。 多设备支持解锁数据镜像以实现冗余和条带化以提高性能。 还有对更高级 RAID 级别的实验性支持,例如 RAID5RAID6. 与标准 RAID 设置不同,Btrfs raid1 选项实际上允许奇数个设备。 例如,它可以使用 3 个设备,即使它们的大小不同。

所有 RAID 和 dup 选项都是在文件系统级别指定的。 因此,单个子卷不能使用不同的选项。 请注意,对多个设备使用 RAID1 选项意味着即使一个设备出现故障,卷中的所有数据也可用,并且校验和功能保持数据本身的完整性。 这超出了当前典型 RAID 设置所能提供的范围。

附加的功能

Btrfs 还支持快速简便的远程备份。 子卷快照可以发送到远程系统进行存储。 通过利用文件系统中固有的 COW 元数据,这些传输通过仅发送先前发送的快照的增量更改来提高效率。 用户应用程序,例如 鲷鱼 使管理这些快照变得容易。

此外,Btrfs 卷可以具有 透明压缩聊天+c 将标记单个文件或目录进行压缩。 压缩不仅可以减少数据占用的空间,还可以通过减少写入操作量来帮助延长 SSD 的使用寿命。 压缩当然会引入额外的 CPU 开销,但有很多选项可用于进行正确的权衡。

Btrfs 集成了文件系统和卷管理器功能,意味着整体维护比 LVM-ext4 更简单。 当然,这种集成的灵活性较低,但对于大多数台式机,甚至服务器,设置已经绰绰有余。

LVM 上的 Btrfs

Btrfs 可以 就地转换 ext3/ext4 文件系统. 就地转换意味着没有数据要复制出来然后再复制回来。数据块本身甚至没有被修改。 因此,现有 LVM-ext4 系统的一种选择是保留 LVM 并简单地将 ext4 转换为 Btrfs。 虽然可行且受支持,但也有理由说明这不是最佳选择。

Btrfs 的一些吸引力在于它具有与卷管理器集成的文件系统带来的更简单的管理。 通过在 LVM 之上运行,还有一些其他卷管理器可以用于任何系统维护。 此外,LVM 设置通常具有多个具有独立文件系统的固定大小的逻辑卷。 虽然 Btrfs 支持给定计算机中的多个卷,但许多不错的功能都希望单个卷具有多个子卷。 如果每个卷都有一个独立的 Btrfs 卷,用户仍然需要手动管理固定大小的 LVM 卷。 尽管如此,缩小已安装的 Btrfs 文件系统的能力确实使处理固定大小的卷变得不那么痛苦。 使用在线收缩,无需启动实时映像。

在使用 Btrfs 的多设备支持时,必须仔细考虑逻辑卷的物理位置。 对于 Btrfs 来说,每个 LV 都是一个单独的物理设备,如果实际情况并非如此,那么某些数据可用性功能可能会做出错误的决定。 例如,如果单个驱动器出现故障,对数据使用 raid1 通常可以提供保护。 如果实际逻辑卷位于同一物理设备上,则没有冗余。

如果强烈需要某些特定的 LVM 功能,例如原始块设备或缓存的逻辑卷,那么在 LVM 之上运行 Btrfs 是有意义的。 在这种配置中,Btrfs 仍然提供了它的大部分优点,例如校验和和轻松发送增量快照。 虽然 LVM 在使用时有一些操作开销,但 Btrfs 并不比任何其他文件系统更是如此。

包起来

当试图在 Btrfs 和 LVM-ext4 之间进行选择时,没有唯一的正确答案。 每个用户都有独特的需求,同一个用户可能有不同的系统,不同的需求。 查看每个配置的功能集,并确定是否有一些吸引人的地方。 如果没有,坚持使用默认值并没有错。 选择任何一种设置都有充分的理由。

[ad_2]

Related Posts