文件系统

文件系统是数据组织方式,定义数据在磁盘上的保存、读取和更新方法。不同的文件系统可以根据存储设备的不同进行优化,提高效率。

  Arch Linux支持许多文件系统类型,我们可以为每个磁盘分区设置不同的文件系统。每种文件系统有自己的优缺点和独有特性。以下内容是关于Arch Linux支持的文件系统类型的概述,左侧的链接地址指向Wikipedia以提供更丰富的信息

  • ext4:Fourth Extended Filesystem。一种新的文件系统,向前兼容 ext2 和 ext3 ,最大支持 1EB (1,048,576 TB) 分区,支持单个 16TB 的文件。子目录最大个数支持 64,000, ext3 只支持 32,000。支持在线碎片处理
  • hfs:Hierarchical File System 是苹果公司开发的专有文件系统,在 Mac OS 系统中使用
  • ntfs:Windows使用的文件系统。 NTFS 相比 FAT 和 HPFS(High Performance File System)在技术作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能,如访问控制列表和文件系统日志
  • xfs:由 Silicon Graphics 开发的历史悠久的日志文件系统,最初是为 IRIX 操作系统开发,后来移植到 GNU/Linux。在处理大文件的时候能够提供高吞吐能力,格式化和挂载都非常快。对比测试显示 XFS 在处理数量较多的小文件时比较慢。 XFS 非常稳定,支持在线碎片整理。
  • 等等  
  • tmpfs is a temporary filesystem that resides in memory and/or swap partition(s). Mounting directories as tmpfs can be an effective way of speeding up accesses to their files, or to ensure that their contents are automatically cleared upon reboot.

  • devtmpfs 的功用是在 Linux 核心 启动早期建立一个初步的 /dev,令一般启动程序不用等待 udev,缩短 GNU/Linux 的开机时间

cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Jul 30 10:41:12 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=81e7edf2-5fed-4fec-b895-65eba01088e4 /                       xfs     defaults        0 0
UUID=c88184e1-1d90-40f5-8560-cee949266b99 /boot                   xfs     defaults        0 0

文件系统日志

以上除了 ext2 和 FAT16/32(即VFAT)以外的文件系统都支持文件系统日志。文件系统日志通过在数据实际变更前写入日志记录变更来提供故障恢复能力。当出现系统崩溃或掉电故障的时候,这些文件系统能够更快的恢复到可用状态,并且在恢复过程中更不容易出现错误。文件系统日志将会占用文件系统中的一部分空间。

并非所有的文件系统日志技术都相同。ext3 和 ext4 提供 data-mode journaling,同时记录数据本身和元数据。由于对性能影响很大,这个功能默认是禁用的。其它文件系统仅提供记录元数据日志的ordered-mode journaling。尽管都能在系统崩溃后将系统返回正常状态,data-mode journaling 提供了最大程度的数据安全防护,但性能有所降低,因为数据会被写两次(第一次到日志,第二次到磁盘)。可以根据数据的重要性选择文件系统。

来源:https://wiki.archlinux.org/index.php/File_systems_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

原文地址:https://www.cnblogs.com/shengulong/p/9216980.html