Linux文件系统类型说明,应该使用哪一种
为您的应用程序选择Linux文件系统是一个重要的决定。本教程介绍了一些主要的Linux文件系统,并提供了适合您的应用程序的正确文件系统的建议。
什么是Linux文件系统
引导Linux系统并使其正常工作所需的几乎每一点数据和编程都保存在文件系统中。例如,操作系统本身、编译器、应用程序、共享库、配置文件、日志文件、介质装载点等。
文件系统在后台运行。就像操作系统内核的其他部分一样,它们在日常使用中基本上是不可见的。
Linux文件系统通常是Linux操作系统的内置层,用于处理存储数据的管理。它控制数据的存储和检索方式。
此外,它还管理文件名、文件大小、创建日期以及有关文件的更多信息。
Ext4文件系统
1992年,专门为Linux操作系统推出了扩展文件系统或ext。它的根源在于Minix操作系统。1993年,一个名为Extended File System 2或ext2的更新发布,多年来一直是许多Linux发行版的默认文件系统。
到2001年,ext2升级为ext3,引入了日志记录,以防止崩溃或电源故障中的损坏。
Ext4(第四扩展文件系统)于2008年推出,自2010年以来一直是默认的Linux文件系统。它被设计为ext3文件系统的一个渐进修订版,并克服了ext3中的一些限制。
因此,ext4与前代相比具有显著的优势,如改进的设计、更好的性能、可靠性和新功能。
现在,ext4是大多数Linux发行版上的默认文件系统。它可以支持大文件和高达16 TB的文件系统。
它还支持无限数量的子目录(ext3文件系统最多只支持32000个)。此外,ext4与ext3和ext2向后兼容,允许使用ext4驱动程序安装这些旧版本。
ext4是大多数Linux发行版的默认选择是有原因的。它经过试验、测试、稳定、性能卓越,并得到广泛支持。因此,如果您正在寻找稳定性,ext4是最适合您的Linux文件系统。
尽管有其功能,ext4不支持透明压缩、透明加密或重复数据消除。
XFS文件系统
XFS是Silicon Graphics开发的一种高度可扩展的文件系统,于1994年首次部署在基于Unix的IRIX操作系统中。它是一个日志文件系统,因此,在将更改提交到主文件系统之前,它会跟踪日志中的更改。
其优点是保证文件系统的一致性,并在发生电源故障或系统崩溃时加快恢复。
开始
XFS的创建是为了支持超大的文件系统
大小高达16 EB,文件大小高达8 EB。因此,它在大型服务器和存储阵列上运行的历史悠久。
XFS的一个显著特性是保证速率IO。这允许应用程序保留带宽。文件系统计算可用性能,并根据现有保留调整其操作。
XFS以在需要高性能和可扩展性的环境中操作而闻名,因此通常被视为具有企业工作负载的大型系统中性能最高的文件系统之一。
如今,XFS受到大多数Linux发行版的支持,并已成为Red Hat Enterprise Linux、Oracle Linux、CentOS和许多其他发行版上的默认文件系统。
XFS文件系统的最佳使用案例
那么,你有大型服务器吗?您是否有较大的存储需求,或者有本地慢速SATA驱动器?
如果您的服务器和存储设备都很大,并且不需要减小文件系统大小,那么XFS可能是最佳选择。
XFS是一个优秀的文件系统,可以很好地扩展到大型服务器。但是,即使使用较小的存储阵列,XFS在平均文件大小较大(例如,大小为数百兆字节)时也能表现得很好。
Btrfs文件系统
Btrfs是下一代通用Linux文件系统,提供了先进的集成设备管理、可扩展性和可靠性等独特功能。它是根据GPL许可的,并开放供任何人贡献。文件系统使用不同的名称,包括“Butter FS”、“B-tree FS”和“Better FS”
Btrfs的开发始于2007年的Oracle。它在2009年被合并到主流Linux内核中,并在Linux 2.6.29版本中首次亮相。
Btrfs不是大多数Linux发行版中使用的默认ext4文件系统的继任者,但它提供了更好的可扩展性和可靠性。相反,Btrfs是一个写时复制(CoW)文件系统,旨在解决当前Linux文件系统中的各种弱点。
Btrfs主要
焦点
容错性、自我修复特性和易于管理。
Btrfs最多可以支持一个16字节的分区和一个相同大小的文件。因此,如果你对这些数字感到困惑,你只需要知道Btrfs最多可以支持Ext4的16倍数据。
书面复制是如何工作的?你为什么想要它
在传统的文件系统中,修改文件会读取数据,对其进行更改,然后将其写回同一位置。在写时复制文件系统中,它读取数据、修改数据并将其写入新位置。这可以防止在读-修改-写事务期间丢失数据,因为数据总是在磁盘上。
由于在新块完全写出来之前,您不会“重新打印”,因此如果您在写入过程中断电或崩溃,您最终会得到旧块或新块,但不会得到半写损坏的块。所以你不需要
fsck
文件系统启动时,可以降低数据损坏的风险。
您可以在任何时候对文件系统进行快照,使用当前指针集在元数据中创建快照条目。
这可以保护旧块以后不被垃圾收集,并允许文件系统在快照期间原样呈现卷。换句话说,您拥有即时回滚功能。您甚至可以克隆该卷,使其成为基于快照的可写卷。
您的另一个选择是Linux上的ZFS,它可能更稳定,但需要更多的步骤才能在典型的Linux发行版上安装。
Btrfs功能
- 写时复制(CoW)和快照
–即使是从“热”文件系统或虚拟机(VM)进行增量备份,也可以轻松进行。 - 文件级校验和
–每个文件的元数据都包括一个用于检测和修复错误的校验和。 - 压缩
–文件可以动态压缩和解压缩,从而提高读取性能。 - 自动碎片整理
–后台线程在文件系统使用时对其进行调优。 - 子卷
–文件系统可以共享一个空间池,而不是放在它们的分区中。 - 突袭
–Btrfs执行其RAID实现,因此LVM或mdadm不需要具有RAID。目前,支持RAID 0、1和10。RAID 5和6被认为是不稳定的。 - 分区是可选的
–虽然Btrfs可以使用分区,但它有可能使用原始设备(/dev//
直接地 - 重复数据消除
–重复数据消除支持有限;然而,重复数据消除最终将成为Btrfs的标准功能。这使Btrfs能够通过二进制diff比较文件来节省空间。
Btrfs是一个一旦实现就不需要管理的文件系统。因此,您永远不应该运行
fsck
命令。每当出现任何错误或不一致时,它都应该处理它们并继续前进。
虽然Btrfs确实仍被认为是实验性的,目前正在积极开发中,但Btrfs将成为Linux系统的默认文件系统的时间越来越近了。一些Linux发行版已经开始在其当前版本中切换到它。
如果你不怕处理一个不太成熟的生态系统,Btrfs可能是你更好的选择。
ZFS文件系统
ZFS(Zettabyte文件系统)自2005年10月出现以来,一直是技术最先进、功能最完整的文件系统之一。它是由Sun Microsystems创建的本地文件系统(即ext4)和逻辑卷管理器(即LVM)。
ZFS是在开源许可证下发布的,直到Oracle收购了Sun Microsystems并关闭了许可证。
您可以将ZFS看作一个卷管理器和一个RAID阵列
,这允许将额外的磁盘添加到ZFS卷中,从而允许将额外空间添加到文件系统中。此外,ZFS还提供了一些传统RAID所没有的其他功能。
ZFS严重依赖内存,因此您至少需要8GB才能启动。在实践中,尽可能多地使用硬件/预算。
ZFS通常被数据囤积者、NAS用户和其他极客使用,他们更喜欢信任自己的冗余存储系统,而不是云。这是一个极好的文件系统,可以管理多个数据磁盘,与一些一流的RAID设置相媲美。
ZFS与其他存储管理方法类似,但在某些方面却截然不同。例如,ZFS通常不使用Linux逻辑卷管理器(LVM)或磁盘分区,而且在为zpool准备介质之前,通常可以方便地删除分区和LVM结构。
zpool与LVM类似。zpool跨越一个或多个存储设备,并且zpool的成员可以是各种类型。基本存储元素是单个设备、镜像和raidz。所有这些存储元件都被称为vdevs。
ZFS可以比任何RAID控制器更好地执行存储完整性,因为它对文件系统结构有着深入的了解。因此,数据安全是ZFS的一个重要设计特征。在zpool中写入的所有块都进行了积极的校验和,以确保数据的一致性和正确性。
对于服务器使用,您希望几乎完全消除任何数据丢失的可能性,并且稳定性是游戏的名称,您可能需要研究ZFS。
ZFS功能
无尽的可扩展性
。从技术上讲,它并不是无穷无尽的,但它是一个128位的文件系统,能够管理zettaytes(10亿TB)的数据。因此,无论您有多少硬盘空间,ZFS都适合管理它。
最大完整性
。您在ZFS内部所做的一切都使用校验和来确保文件的完整性。因此,您可以放心,您的文件及其冗余副本不会遇到静默数据损坏。此外,当ZFS忙于悄悄地检查数据的完整性时,它会随时进行自动修复。
驱动器池
ZFS的创建者希望你把它想象成类似于你的电脑使用RAM的方式。当你的电脑需要更多的内存时,你再加一根棍子,你就完成了。
类似地,使用ZFS,当您需要更多的硬盘驱动器空间时,您可以放入另一个硬盘驱动器,就完成了。不需要花费时间对磁盘进行分区、格式化、初始化或其他任何操作。当您需要更大的存储“池”时,只需添加磁盘即可。
突袭
ZFS能够实现许多不同的RAID级别,同时提供与硬件RAID控制器相当的性能。这使您能够节省资金,简化设置,并访问ZFS改进的高级RAID级别。
Reiser4文件系统
ReiserFS是一个通用的日志计算机文件系统,最初由Hans Reiser领导的Namesys团队设计和实现。它在Linux内核的2.4.1版本中引入,是第一个包含在标准内核中的日志文件系统。
除了安全更新和关键错误修复外,Namesys已停止在ReiserFS上的开发。
Reiser4是ReiserFS的后续文件系统。
它增加了加密,提高了性能,等等。
Reiser4需要一个修补的内核。不幸的是,它仍然没有包含在官方的Linux内核中,但Linux 5.x的补丁已经可用。Reiser4没有出现在Linux内核中的原因可以概括为需要进一步测试。
Reiser4在所有场景和工作负载中提供了所有文件系统中最高效的磁盘空间使用率。
ReiserFS提供了优于其他文件系统的优势,尤其是在处理大量小文件时。
它支持日志记录,以便在出现问题时快速恢复。文件系统结构基于树。此外,Reiser4比其他文件系统消耗更多的CPU。
Reiser4具有优化小文件(小于一个块)占用的磁盘空间的独特能力。这是因为它们完全存储在inode中,而不在数据区中分配块。
除了实现传统的Linux文件系统功能外,Reiser4还为用户提供了一些附加功能:文件的透明压缩和加密、完整的数据日志记录,以及几乎无限的(在插件体系结构的帮助下)可扩展性。
然而,不支持直接IO(已开始实施工作)、配额和POSIXACL。
结论
选择满足您特定应用需求的文件系统需要咨询和研究各种参数。
本文概述了ext4、ZFS、XFS、Btrfs和Reiser4文件系统选项的好处,以帮助您为应用程序环境确定正确的文件系统。
谢谢你在这里度过你的时间。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...