蚊章汇 - EXT4
type: channel
link: https://linuxcn.bwsl.wang/tag/EXT4/
items: Btrfs 和 LVM-ext4 该如何选择？
items: Dropbox 在 Linux 上终止除了 Ext4 之外所有文件系统的同步支持
items: 如何在 Linux 中查看已挂载的文件系统类型
items: 深入理解 ext4 等 Linux 文件系统
items: Linux 的 EXT4 文件系统的历史、特性以及最佳实践
items: 如何选择文件系统：EXT4、Btrfs 和 XFS

Btrfs 和 LVM-ext4 该如何选择？
type: item
date: 2021-01-23T21:31:51+08:00
description: Fedora 33 在其各类桌面版本中引入了新的默认文件系统 Btrfs。多年以来，Fedora 一直在 逻辑卷管理 Logical Volume Manager （LVM） 卷之上使用 ext4，引入 Brtfs 对 Fedora 来说是一个很大的转变。更改默认文件系统需要 令人信服的原因。虽然 Btrfs 是令人兴奋的下一代文件系统，但 LVM 上的 ext4 是成熟而稳定的。本指南旨在探索各自的高级特性，使得更容易在 Btrfs 和 LVM-ext4 之间进行选择。先说结论最简单的建议是坚持使用默认值。全新安装的 Fedora 33 环境默认为 Btrfs，升级之前的 Fedora 版本将继续使用最初安装的设置，通常是 LVM-ext4。对于现有的 Fedora 用户来说，获取 Btrfs 的最简单方式是全新安装。然而，全新安装比简单升级更具破坏性。除非有特殊需要，否则这种干扰可能是不必要的。Fedora 开发团队仔细考虑了这两个默认值，因此对任何一个选择都要有信心。那么其他文件系统呢？现在有很多 Linux 系统的文件系统。在加上卷管理器、加密方法和存储机制的组合后，这一数字呈爆炸式增长。那么，为什么要关注 btrfs 和 LVM-ext4 呢？对于 Fedora 的用户来说，这两种设置可能是最常见的。在 Fedora 11 中，LVM 之上的 ext4 成为了默认磁盘布局，在此之前则使用的是 ext3。既然 Btrfs 是 Fedora 33 的默认设置，那么绝大多数现有用户会考虑是应该原地踏步还是向前跳跃。面对全新安装的 Fedora 33 环境，有经验的 Linux 用户可能会想知道是使用这个新的文件系统，还是退回到他们熟悉的文件系统。因此，在众多可能的存储选项中，许多 Fedora 用户会想知道如何在 Btrfs 和 LVM-ext4 之间进行选择。两者的共性尽管两个文件系统之间存在核心差异，但 Btrfs 和 LVM-ext4 实际上有很多共同之处。两者都是成熟且经过充分测试的存储技术。从 Fedora Core 的早期开始，就一直在使用 LVM，而 ext4 在 2009 年成为 Fedora 11 的默认设置。Btrfs 在 2009 年并入 Linux 主线内核，并且 Facebook 广泛使用了该文件系统。SUSE Linux Enterprise 12 在 2014 年使其成为默认文件系统。因此，它在生产环境中也有着长久的运行时间。这两个系统都能很好地防止因意外停电而导致的文件系统损坏，尽管它们的实现方式不同。它们支持的配置包括使用单盘设置和跨越多个设备，并且这两种配置都能够创建近乎即时的快照。有各种工具可以帮助管理这两种系统，包括命令行和图形界面。这两种解决方案在家用台式机和高端服务器上都同样有效。LVM-ext4 的优势ext4 文件系统 专注于高性能和可伸缩性，没有太多额外的花哨之处。它能有效地防止长时间后的碎片化，并当碎片化出现后提供了 很好的工具。ext4 之所以坚如磐石，是因为它构建在前代的 ext3 文件系统之上，带来了多年的系统内测试和错误修复。LVM-ext4 环境中的大多数高级功能都来自 LVM 本身。LVM 位于文件系统的“下方”，这意味着它支持任何文件系统。 逻辑卷 Logical volume （LV）是通用的块设备，因此 虚拟机可以直接使用它们。这种灵活性使得每个逻辑卷都可以使用合适的文件系统，用合适的选项应对各种情况。这种分层方法还遵循了“小工具协同工作”的 Unix 哲学。从硬件抽象出来的 卷组 volume group （VG）允许 LVM 创建灵活的逻辑卷。每个逻辑卷都提取自同一个存储池，但具有自己的设置。调整卷的大小比调整物理分区的大小容易得多，因为没有数据有序放置的限制。LVM 物理卷 physical volume （PV）可以是任意数量的分区，甚至可以在系统运行时在设备之间移动。LVM 支持只读和读写的 快照，这使得从活动系统创建一致的备份变得很容易。每个快照都有一个定义的大小，更改源卷或快照卷将占用其中的空间。又或者，逻辑卷也可以是 稀疏配置池 thinly provisioned pool 的一部分。这允许快照自动使用池中的数据，而不是使用在创建卷时定义的固定大小的块。有多个磁盘驱动器的 LVM当有多个设备时，LVM 才真正大放异彩。它原生支持大多数 RAID 级别，每个逻辑卷可以具有不同的 RAID 级别。LVM 将自动为 RAID 配置选择适当的物理设备，或者用户可以直接指定它。基本的 RAID 支持包括用于性能的数据条带化（RAID0）和用于冗余的镜像（RAID1）。逻辑卷也可以使用 RAID5、RAID6 和 RAID10 等高级设置。LVM …

Dropbox 在 Linux 上终止除了 Ext4 之外所有文件系统的同步支持
type: item
date: 2018-11-21T05:22:30+08:00
description: Dropbox 正考虑将同步支持限制为少数几种文件系统类型：Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。Dropbox 是最受欢迎的 Linux 中的云服务之一。很多人都在使用 Linux 下的 Dropbox 同步客户端。但是，最近，一些用户在他们的 Dropbox Linux 桌面客户端上收到一条警告说：“移动 Dropbox 文件夹位置， Dropbox 将在 11 月停止同步“Dropbox 将仅支持少量文件系统一个 Reddit 主题强调了一位用户在 Dropbox 论坛上查询了该消息后的公告，该消息被社区管理员标记为意外新闻。这是回复中的内容：“大家好，在 2018 年 11 月 7 日，我们会结束 Dropbox 在某些不常见文件系统的同步支持。支持的文件系统是 Windows 的 NTFS、macOS 的 HFS+ 或 APFS，以及Linux 的 Ext4。Dropbox 官方论坛Dropbox 官方确认支持文件系统的限制此举旨在提供稳定和一致的体验。Dropbox 还更新了其桌面要求。那你该怎么办？如果你在不受支持的文件系统上使用 Dropbox 进行同步，那么应该考虑更改位置。Linux 仅支持 Ext4 文件系统。但这并不是一个令人担忧的新闻，因为你可能已经在使用 Ext4 文件系统了。在 Ubuntu 或其他基于 Ubuntu 的发行版上，打开磁盘应用并查看 Linux 系统所在分区的文件系统。检查 Ubuntu 上的文件系统类型如果你的系统上没有安装磁盘应用，那么可以使用命令行了解文件系统类型。如果你使用的是 Ext4 文件系统并仍然收到来自 Dropbox 的警告，请检查你是否有可能收到通知的非活动计算机/设备。如果是，将该系统与你的 Dropbox 帐户取消连接。Dropbox 也不支持加密的 Ext4 吗？一些用户还报告说他们在加密 Ext4 文件系统同步时也收到了警告。那么，这是否意味着 Linux 的 Dropbox 客户端只支持未加密的 Ext4 文件系统？这方面 Dropbox 没有官方声明。你使用的是什么文件系统？你也收到了警告吗？如果你在收到警告后仍不确定该怎么做，你应该前往该方案的官方帮助中心页面。请在下面的评论中告诉我们你的想法。via: https://itsfoss.com/dropbox-linux-ext4-only/作者：Ankush Das 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

如何在 Linux 中查看已挂载的文件系统类型
type: item
date: 2018-11-05T07:00:44+08:00
description: 如你所知，Linux 支持非常多的文件系统，例如 ext4、ext3、ext2、sysfs、securityfs、FAT16、FAT32、NTFS 等等，当前被使用最多的文件系统是 ext4。你曾经疑惑过你的 Linux 系统使用的是什么类型的文件系统吗？没有疑惑过？不用担心！我们将帮助你。本指南将解释如何在类 Unix 的操作系统中查看已挂载的文件系统类型。在 Linux 中查看已挂载的文件系统类型有很多种方法可以在 Linux 中查看已挂载的文件系统类型，下面我将给出 8 种不同的方法。那现在就让我们开始吧！方法 1 – 使用 findmnt 命令这是查出文件系统类型最常使用的方法。findmnt 命令将列出所有已挂载的文件系统或者搜索出某个文件系统。findmnt 命令能够在 /etc/fstab、/etc/mtab 或 /proc/self/mountinfo 这几个文件中进行搜索。findmnt 预装在大多数的 Linux 发行版中，因为它是 util-linux 包的一部分。如果 findmnt 命令不可用，你可以安装这个软件包。例如，你可以使用下面的命令在基于 Debian 的系统中安装 util-linux 包：$ sudo apt install util-linux下面让我们继续看看如何使用 findmnt 来找出已挂载的文件系统。假如你只敲 findmnt 命令而不带任何的参数或选项，它将像下面展示的那样以树状图形式列举出所有已挂载的文件系统。$ findmnt示例输出：正如你看到的那样，findmnt 展示出了目标挂载点（TARGET）、源设备（SOURCE）、文件系统类型（FSTYPE）以及相关的挂载选项（OPTIONS），例如文件系统是否是可读可写或者只读的。以我的系统为例，我的根（/）文件系统的类型是 EXT4 。假如你不想以树状图的形式来展示输出，可以使用 -l 选项来以简单平凡的形式来展示输出：$ findmnt -l你还可以使用 -t 选项来列举出特定类型的文件系统，例如下面展示的 ext4 文件系统类型：$ findmnt -t ext4 TARGET SOURCE FSTYPE OPTIONS / /dev/sda2 ext4 rw,relatime,commit=360 └─/boot /dev/sda1 ext4 rw,relatime,commit=360,data=orderedfindmnt 还可以生成 df 类型的输出，使用命令$ findmnt --df或$ findmnt -D示例输出：SOURCE FSTYPE SIZE USED AVAIL USE% TARGET dev devtmpfs 3.9G 0 3.9G 0% /dev run tmpfs 3.9G 1.1M 3.9G 0% /run /dev/sda2 ext4 456.3G 342.5G 90.6G 75% / tmpfs tmpfs 3.9G 32.2M 3.8G 1% /dev/shm tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup bpf bpf 0 0 0 - /sys/fs/bpf tmpfs tmpfs 3.9G 8.4M 3.9G 0% /tmp /dev/loop0 squashfs 82.1M 82.1M 0 100% /var/lib/snapd/snap/core/4327 /dev/sda1 ext4 92.8M 55.7M 30.1M 60% /boot tmpfs tmpfs 788.8M 32K 788.8M 0% /run/user/1000 gvfsd-fuse fuse.gvfsd-fuse 0 0 0 - /run/user/1000/gvfs你还可以展示某个特定设备或者挂载点的文件系统类型。查看某个特定的设备：$ findmnt /dev/sda1 TARGET SOURCE FSTYPE OPTIONS /boot /dev/sda1 ext4 rw,relatime,commit=360,data=ordered查看某个特定的挂载点：$ findmnt / TARGET SOURCE FSTYPE OPTIONS / /dev/sda2 ext4 rw,relatime,commit=360你甚至还可以查看某个特定标签的文件系统的类型：$ findmnt LABEL=Storage更多详情，请参考其 man 手册。$ man findmntfindmnt 命令已足够完成在 Linux 中查看已挂载文件系统类型的任务，这个命令就是为了这个特定任务而生的。然而，还存在其他方法来查看文件系统的类型，假如你感兴趣的话，请接着往下看。方…

深入理解 ext4 等 Linux 文件系统
type: item
date: 2018-09-11T17:58:00+08:00
description: 了解 ext4 的历史，包括其与 ext3 和之前的其它文件系统之间的区别。目前的大部分 Linux 文件系统都默认采用 ext4 文件系统，正如以前的 Linux 发行版默认使用 ext3、ext2 以及更久前的 ext。对于不熟悉 Linux 或文件系统的朋友而言，你可能不清楚 ext4 相对于上一版本 ext3 带来了什么变化。你可能还想知道在一连串关于替代的文件系统例如 Btrfs、XFS 和 ZFS 不断被发布的情况下，ext4 是否仍然能得到进一步的发展。在一篇文章中，我们不可能讲述文件系统的所有方面，但我们尝试让你尽快了解 Linux 默认文件系统的发展历史，包括它的诞生以及未来发展。我仔细研究了维基百科里的各种关于 ext 文件系统文章、kernel.org 的 wiki 中关于 ext4 的条目以及结合自己的经验写下这篇文章。ext 简史MINIX 文件系统在有 ext 之前，使用的是 MINIX 文件系统。如果你不熟悉 Linux 历史，那么可以理解为 MINIX 是用于 IBM PC/AT 微型计算机的一个非常小的类 Unix 系统。Andrew Tannenbaum 为了教学的目的而开发了它，并于 1987 年发布了源代码（以印刷版的格式！）。IBM 1980 中期的 PC/AT，MBlairMartin，CC BY-SA 4.0虽然你可以细读 MINIX 的源代码，但实际上它并不是自由开源软件（FOSS）。出版 Tannebaum 著作的出版商要求你花 69 美元的许可费来运行 MINIX，而这笔费用包含在书籍的费用中。尽管如此，在那时来说非常便宜，并且 MINIX 的使用得到迅速发展，很快超过了 Tannebaum 当初使用它来教授操作系统编码的意图。在整个 20 世纪 90 年代，你可以发现 MINIX 的安装在世界各个大学里面非常流行。而此时，年轻的 Linus Torvalds 使用 MINIX 来开发原始 Linux 内核，并于 1991 年首次公布，而后在 1992 年 12 月在 GPL 开源协议下发布。但是等等，这是一篇以 文件系统 为主题的文章不是吗？是的，MINIX 有自己的文件系统，早期的 Linux 版本依赖于它。跟 MINIX 一样，Linux 的文件系统也如同玩具那般小 —— MINIX 文件系统最多能处理 14 个字符的文件名，并且只能处理 64MB 的存储空间。到了 1991 年，一般的硬盘尺寸已经达到了 40-140 MB。很显然，Linux 需要一个更好的文件系统。ext当 Linus 开发出刚起步的 Linux 内核时，Rémy Card 从事第一代的 ext 文件系统的开发工作。ext 文件系统在 1992 年首次实现并发布 —— 仅在 Linux 首次发布后的一年！—— ext 解决了 MINIX 文件系统中最糟糕的问题。1992 年的 ext 使用在 Linux 内核中的新虚拟文件系统（VFS）抽象层。与之前的 MINIX 文件系统不同的是，ext 可以处理高达 2 GB 存储空间并处理 255 个字符的文件名。但 ext 并没有长时间占统治地位，主要是由于它原始的时间戳（每个文件仅有一个时间戳，而不是今天我们所熟悉的有 inode、最近文件访问时间和最新文件修改时间的时间戳。）仅仅一年后，ext2 就替代了它。ext2Rémy 很快就意识到 ext 的局限性，所以一年后他设计出 ext2 替代它。当 ext 仍然根植于 “玩具” 操作系统时，ext2 从一开始就被设计为一个商业级文件系统，沿用 BSD 的 Berkeley 文件系统的设计原理。ext2 提供了 GB 级别的最大文件大小和 TB 级别的文件系统大小，使其在 20 世纪 90 年代的地位牢牢巩固在文件系统大联盟中。很快它被广泛地使用，无论是在 Linux 内核中还是最终在 MINIX 中，且利用第三方模块可以使其应用于 MacOS 和 Windows。但这里仍然有一些问题需要解决：ext2 文件系统与 20 世纪 90 年代的大多数文件系统一样，如果在将数据写入到磁盘的时候，系统发生崩溃或断电，则容易发生灾难性的数据损坏。随着时间的推移，由于碎片（单个文件存储在多个位置，物理上其分散在旋转的磁盘上），它们也遭受了严重的性能损失。尽管存在这些问题，但今天 ext2 还是用在某些特殊的情况下 —— 最常见的是，作为便携式 USB 驱动器的文件系统格式。ext31998 年，在 ext2 被采用后的 6 年后，Stephen Tweedie 宣布他正在致力于改进 ext2。这成了 ext3，并于 2001 年 11 月在 2.4.15 内核版本中被采用到 Linux 内核主线中。20 世纪 90 年…

Linux 的 EXT4 文件系统的历史、特性以及最佳实践
type: item
date: 2017-07-11T23:40:08+08:00
description: 让我们大概地从 EXT4 的历史、特性以及最佳实践这几个方面来学习它和之前的几代 EXT 文件系统有何不同。在之前关于 Linux 文件系统的文章里，我写过一篇 Linux 文件系统介绍 和一些更高级的概念例如 一切都是文件。现在我想要更深入地了解 EXT 文件系统的特性的详细内容，但是首先让我们来回答一个问题，“什么样才算是一个文件系统 ？” 一个文件系统应该涵盖以下所有特点：数据存储： 对于任何一个文件系统来说，一个最主要的功能就是能够被当作一个结构化的容器来存储和获取数据。命名空间： 命名空间是一个提供了用于命名与组织数据的命名规则和数据结构的方法学。安全模型： 一个用于定义访问权限的策略。API： 操作这个系统的对象的系统功能调用，这些对象诸如目录和文件。实现： 能够实现以上几点的软件。本文内容的讨论主要集中于上述几点中的第一项，并探索为一个 EXT 文件系统的数据存储提供逻辑框架的元数据结构。EXT 文件系统历史虽然 EXT 文件系统是为 Linux 编写的，但其真正起源于 Minix 操作系统和 Minix 文件系统，而 Minix 最早发布于 1987，早于 Linux 5 年。如果我们从 EXT 文件系统大家族的 Minix 起源来观察其历史与技术发展那么理解 EXT4 文件系统就会简单得多。Minix当 Linux Torvalds 在写最初的 Linux 内核的时候，他需要一个文件系统但是他又不想自己写一个。于是他简单地把 Minix 文件系统 加了进去，这个 Minix 文件系统是由 Andrew S. Tanenbaum 写的，同时它也是 Tanenbaum 的 Minix 操作系统的一部分。Minix 是一个类 Unix 风格的操作系统，最初编写它的原因是用于教育用途。Minix 的代码是自由可用的并有适当的许可协议，所以 Torvalds 可以把它用 Linux 的最初版本里。Minix 有以下这些结构，其中的大部分位于生成文件系统的分区中：引导扇区 是硬盘安装后的第一个扇区。这个引导块包含了一个非常小的引导记录和一个分区表。每一个分区的第一个块都是一个包含了元数据的 超级块 （ superblock ） ，这些元数据定义了其他的文件系统结构并将其定位于物理硬盘的具体分区上。一个 inode 位图块 决定了哪些 inode 是在使用中的，哪一些是未使用的。inode 在硬盘上有它们自己的空间。每一个 inode 都包含了一个文件的信息，包括其所处的数据块的位置，也就是该文件所处的区域。一个 区位图 用于保持追踪数据区域的使用和未使用情况。一个 数据区, 这里是数据存储的地方。对上述了两种位图类型来说，一个 位 （ bit ） 表示一个指定的数据区或者一个指定的 inode。 如果这个位是 0 则表示这个数据区或者这个 inode 是未使用的，如果是 1 则表示正在使用中。那么，inode 又是什么呢 ? 就是 index-node（索引节点）的简写。 inode 是位于磁盘上的一个 256 字节的块，用于存储和该 inode 对应的文件的相关数据。这些数据包含了文件的大小、文件的所有者和所属组的用户 ID、文件模式（即访问权限）以及三个时间戳用于指定：该文件最后的访问时间、该文件的最后修改时间和该 inode 中的数据的最后修改时间。同时，这个 inode 还包含了位置数据，指向了其所对应的文件数据在硬盘中的位置。在 Minix 和 EXT 1-3 文件系统中，这是一个数据区和块的列表。Minix 文件系统的 inode 支持 9 个数据块，包括 7 个直接数据块和 2 个间接数据块。如果你想要更深入的了解，这里有一个优秀的 PDF 详细地描述了 Minix 文件系统结构 。同时你也可以在维基百科上对 inode 指针结构 做一个快速了解。EXT原生的 EXT 文件系统 (意即 扩展的 （ extended ） ) 是由 Rémy Card 编写并于 1992 年与 Linux 一同发行。主要是为了克服 Minix 文件系统中的一些文件大小限制的问题。其中，最主要的结构变化就是文件系统中的元数据。它基于 Unix 文件系统 （UFS），其也被称为伯克利快速文件系统（FFS）。我发现只有很少一部分关于 EXT 文件系统的发行信息是可以被确证的，显然这是因为其存在着严重的问题，并且它很快地被 EXT2 文件系统取代了。EXT2EXT2 文件系统 就相当地成功，它在 Linux 发行版中存活了多年。它是我在 1997 年开始使用 Red Hat Linux 5.0 时接触的第一个文件系统。实际上，EXT2 文件系统有着和 EXT 文件系统基本相同的元数据结构。然而 EXT2 更高瞻远瞩，因为其元数据结构之…

如何选择文件系统：EXT4、Btrfs 和 XFS
type: item
date: 2016-03-09T18:50:56+08:00
description: 老实说，人们最不曾思考的问题之一是他们的个人电脑中使用了什么文件系统。Windows 和 Mac OS X 用户更没有理由去考虑，因为对于他们的操作系统，只有一种选择，那就是 NTFS 和 HFS+。相反，对于 Linux 系统而言，有很多种文件系统可以选择，现在默认的是广泛采用的 ext4。然而，现在也有改用一种称为 btrfs 文件系统的趋势。那是什么使得 btrfs 更优秀，其它的文件系统又是什么，什么时候我们又能看到 Linux 发行版作出改变呢？首先让我们对文件系统以及它们真正干什么有个总体的认识，然后我们再对一些有名的文件系统做详细的比较。文件系统是干什么的？如果你不清楚文件系统是干什么的，一句话总结起来也非常简单。文件系统主要用于控制所有程序在不使用数据时如何存储数据、如何访问数据以及有什么其它信息（元数据）和数据本身相关，等等。听起来要编程实现并不是轻而易举的事情，实际上也确实如此。文件系统一直在改进，包括了更多的功能、更高效地完成它需要做的事情。总而言之，它是所有计算机的基本需求、但并不像听起来那么简单。为什么要分区？由于每个操作系统都能创建或者删除分区，很多人对分区都有模糊的认识。Linux 操作系统即便使用标准安装过程，在同一块磁盘上仍使用多个分区，这看起来很奇怪，因此需要一些解释。拥有不同分区的一个主要目的就是为了在灾难发生时能获得更好的数据安全性。通过将硬盘划分为分区，数据会被分隔以及重组。当事故发生的时候，只有存储在被损坏分区上的数据会被破坏，很大可能上其它分区的数据能得以保留。这个原因可以追溯到 Linux 操作系统还没有日志文件系统、任何电力故障都有可能导致灾难发生的时候。使用分区也考虑到了安全和健壮性原因，因此操作系统部分损坏并不意味着整个计算机就有风险或者会受到破坏。这也是当前采用分区的一个最重要因素。举个例子，用户创建了一些会填满磁盘的脚本、程序或者 web 应用，如果该磁盘只有一个大的分区，如果磁盘满了那么整个系统就不能工作。如果用户把数据保存在不同的分区，那么就只有那个分区会受到影响，而系统分区或者其它数据分区仍能正常运行。记住，拥有一个日志文件系统只能在掉电或者和存储设备意外断开连接时提供数据安全性，并不能在文件系统出现坏块或者发生逻辑错误时保护数据。对于这种情况，用户可以采用 廉价磁盘冗余阵列 （ RAID：Redundant Array of Inexpensive Disks ） 的方案。为什么要切换文件系统？ext4 文件系统由 ext3 文件系统改进而来，而后者又是从 ext2 文件系统改进而来。虽然 ext4 文件系统已经非常稳定，是过去几年中绝大部分发行版的默认选择，但它是基于陈旧的代码开发而来。另外， Linux 操作系统用户也需要很多 ext4 文件系统本身不提供的新功能。虽然通过某些软件能满足这种需求，但性能会受到影响，在文件系统层次做到这些能获得更好的性能。Ext4 文件系统ext4 还有一些明显的限制。最大文件大小是 16 tebibytes（大概是 17.6 terabytes），这比普通用户当前能买到的硬盘还要大的多。使用 ext4 能创建的最大卷/分区是 1 exbibyte（大概是 1,152,921.5 terabytes）。通过使用多种技巧， ext4 比 ext3 有很大的速度提升。类似一些最先进的文件系统，它是一个日志文件系统，意味着它会对文件在磁盘中的位置以及任何其它对磁盘的更改做记录。纵观它的所有功能，它还不支持透明压缩、重复数据删除或者透明加密。技术上支持了快照，但该功能还处于实验性阶段。Btrfs 文件系统btrfs 有很多不同的叫法，例如 Better FS、Butter FS 或者 B-Tree FS。它是一个几乎完全从头开发的文件系统。btrfs 出现的原因是它的开发者起初希望扩展文件系统的功能使得它包括快照、 池化 （ pooling ） 、校验以及其它一些功能。虽然和 ext4 无关，它也希望能保留 ext4 中能使消费者和企业受益的功能，并整合额外的能使每个人，尤其是企业受益的功能。对于使用大型软件以及大规模数据库的企业，让多种不同的硬盘看起来一致的文件系统能使他们受益并且使数据整合变得更加简单。删除重复数据能降低数据实际使用的空间，当需要镜像一个单一而巨大的文件系统时使用 btrfs 也能使数据镜像变得简单。用户当然可以继续选择创建多个分区从而无需镜像任何东西。考虑到这种情况，btrfs 能横跨多种硬盘，和 ext4 相比，它能支持 16 倍以上的磁盘空间。btrfs 文件系统一个分区最大是 16 exbibytes，最大的文件大小也是 16 exbibytes。XFS 文件系统XFS 文件系统是 扩展文件系统 （ ext…