thinkstockphotos promo.jpg——495542190

Linux EXT、XFS和BTRFS文件系统有什么区别?

2017年4月19日
Linux支持的主要文件系统之间有何不同?

下载本文的PDF格式。

Linux支持一系列文件系统,包括在Windows FAT和NTFS等其他操作系统上使用的文件系统。嵌入式开发人员可能会支持这些分区,但通常情况下,Linux文件系统(如4扩展文件系统(ext4)、XFS或BTRFS)将用于大多数存储分区。理解这些选项有助于为应用程序选择正确的文件系统。

这里介绍的Linux文件系统包括嵌入式应用程序中通常使用的文件系统。还有一类为多节点环境设计的集群文件系统,如Red Hat的全局文件系统(GFS)、GlusterFS和Lustre。

我们首先概述特性,然后对每个特性进行更详细的描述。

扩展文件系统

扩展文件系统实际上是一个系列,目前包括ext2、ext3和ext4。多年来,它一直是事实上的标准,而且现在仍然普遍使用。

ext2文件系统于1993年引入,支持符号链接和长文件名等Linux特性。它现在可以处理多达32 Tbytes的卷和多达2 Tbytes的文件大小。它仍然在许多基于闪存的存储系统和FAT文件系统上使用。它缺少ext3和ext4中的日志系统。

ext2文件分配使用多级层次结构,为较小的文件提供快速访问(图1).文件的inode引用数据块中用于文件开始的前12个链接。较大的文件在访问数据之前先添加单级引用,然后是双级引用。

1.ext2文件系统有一个文件定义(inode),其中包括关于该文件的详细信息,并链接到数据节点,最后链接到索引节点。小文件不会使用这些。

ext2文件系统可以升级到ext3。ext3文件系统增加了日志记录、在线文件系统增长功能,以及用于更大目录的HTree索引系统。如果不使用这些特性,那么ext3文件系统将匹配ext2文件系统。

ext3文件系统不包括动态inode分配和区段等较新的特性。这样做的好处是文件系统元数据位于固定的、已知的位置。存在冗余数据结构以提高可恢复性。

ext3的日志记录系统以三种模式之一运行:日志(低风险)、有序(中等风险)和回写(高风险)。第一种模式将元数据和文件内容写入日志,有效地保存两次信息。有序模式只将元数据放在日志中,并在提交日志条目之前将文件数据独占地写入文件系统数据结构。回写模式不能保证提交元数据的时间。这样更快,但会影响崩溃发生时可以恢复的内容。

ext4文件系统增加了许多主要特性,包括1 Ebyte大小的文件系统和16 Tbytes大小的文件。区段取代了以前使用的传统块映射机制。即使ext4文件系统是向后兼容的,如果启用了区段支持等新特性,它也不能作为ext3文件系统挂载。

ext4文件系统支持持久的预分配—对于像流媒体这样顺序访问性能至关重要的应用程序非常有用。它还支持延迟分配。日志被检查和提高可靠性,并且有一个多块分配器。文件系统检查要快得多。

ext4系统是在现有基础设施上构建的,这使得某些特性难以实现。它目前不支持安全删除文件属性。较新的文件系统(如XFS和BTRFS)提供的改进可能适用于某些应用程序,也可能不适用。

XFS

XFS是最初由Silicon Graphics开发的64位日志文件系统。它是为基于分配组的并行I/O设计的。这允许系统根据I/O线程的数量和文件系统带宽进行扩展。它被设计成跨多个存储设备。XFS包含自己的卷管理器。

它使用B+树作为目录和文件分配。文件系统被划分为具有自己的分配和空闲空间管理的分配组(AG)。文件被分配使用的区(图2)在可能的情况下使用连续块。区段的数量通常随着文件大小的增加而增加。XFS可以处理可变块大小、稀疏文件和快照。

2.基于区段的分配使用更大的连续块来实现更高效的存储和访问。区段通过B+树引用。

XFS使用日志系统来跟踪更新。对于文件更新,这个过程可以是同步的,也可以是异步的。当出现错误时,前者或多或少容易出现问题,但当涉及多个任务和文件时,后者更快、更有效。可以将日志存储在单独的设备上,进一步提高可靠性。XFS具有可以利用分级存储管理服务的数据迁移API (DMAPI)。

XFS的一个显著特性是保证速率I/O (GRIO)。这允许应用程序预留带宽。这在嵌入式应用程序中非常有用。文件系统计算可用性能,并根据现有的预留调整操作。

BTRFS

BTRFS文件系统基于COW (copy-on-write) b -树。根据BTRFS的主要作者克里斯·梅森的说法它的目标是“让Linux能够扩展可用的存储空间”。可伸缩不仅是指存储寻址,还意味着能够管理和管理它与一个干净的界面,让人们看到什么正在使用,使其更可靠。”

BTRFS也是一个类似于XFS的基于区段的存储系统。它对小文件和索引目录具有空间效率,并支持动态inode分配。它处理多个存储设备,并提供对RAID条带化、镜像和条带化+镜像的支持。BTRFS也支持闪存驱动器直接支持TRIM/丢弃操作。

该系统支持压缩、可写和只读快照,以及高效的增量备份。子卷系统允许独立的内部文件系统根以及配额系统实现。支持带外重复数据删除。这些特性在高可用性嵌入式系统中非常有用。

BTRFS存储在固定位置的信息很少。这对于ext2/3/4迁移来说是一个优势,因为假设有足够的空闲空间,就地转换是可能的。此外,BTRFS是开源集群文件系统Ceph的底层存储系统。

从我们的合作伙伴

5G电信整流器的1千瓦模拟控制AC/DC参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

30-W/In3, 93.4%效率,100-W AC/DC适配器参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

120w双级矩阵兼容汽车大灯ECU参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

三相1.25 kw, 200vac小形状因数Gan逆变器参考设计集成驱动器

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

电池管理系统

电池管理系统。具有更大潜力的创新应用。应用程序和产品。电池管理系统是一个电子…

94%峰值效率,150W标准,240W峰值工业交流/直流电源与CC/CV参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

5G电信整流器的1千瓦模拟控制AC/DC参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

30-W/In3, 93.4%效率,100-W AC/DC适配器参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

120w双级矩阵兼容汽车大灯ECU参考设计

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

三相1.25 kw, 200vac小形状因数Gan逆变器参考设计集成驱动器

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

电池管理系统

电池管理系统。具有更大潜力的创新应用。应用程序和产品。电池管理系统是一个电子…
49110602©Oliver Sved | Dreamstime.com
Pcb dreamtime L 49110602推广
Baidu