什么是APFS(Apple的macOS文件系统)?

什么是APFS(Apple的macOS文件系统)?

APFS(Apple文件系统)是一种用于在存储系统上组织和构建数据的系统。最初与macOS Sierra 一起发布的APFS 取代了已有 30年历史的HFS +。

HFS +和HFS(稍微早一些版本的分层文件系统)最初是在软盘时代创建的,软盘是旋转硬盘驱动器时Mac的主要存储介质,是第三方提供的昂贵选项。

在过去,Apple已经调整了更换HFS +,但已经包含在iOS,tvOS和watchOS中的 APFS 现在是macOS High Sierra及其后的默认文件系统。

APFS针对今天和明天的存储技术进行了优化

HFS +是在800 kb软盘为王的时候实现的。目前的Mac可能没有使用软盘,但硬盘似乎开始显得过时了。随着Apple在其所有产品中强调基于闪存的存储,优化了与旋转媒体一起使用的文件系统,以及等待磁盘旋转的固有延迟并没有多大意义。

APFS是从SSD和其他基于闪存的存储系统开始设计的。尽管APFS针对固态存储的工作原理进行了优化,但它在现代硬盘上表现良好。

未来的证明

APFS支持64位inode编号。inode是标识文件系统对象的唯一标识符。文件系统对象可以是任何东西; 一个文件,一个文件夹。使用64位inode,APFS可以容纳大约9个quintillion文件系统对象爆破超过21亿的旧限制。

九个quintillion可能看起来像一个相当大的数字,你可能正确地问什么存储设备将有足够的空间来实际容纳那么多的对象。答案需要了解存储趋势。考虑一下:Apple已经开始将企业级存储技术转移到消费级产品,例如Mac及其使用分层存储的能力。这在Fusion驱动器中首次出现,它在高性能SSD和速度较慢但更大的硬盘之间移动数据。经常访问的数据保存在快速SSD上,而较少使用的文件存储在硬盘驱动器上。

通过macOS,Apple通过添加基于iCloud的存储扩展了这一概念。允许您已经看过存储在iCloud中的电影和电视节目,从而释放本地存储空间。虽然最后一个示例不需要在此分层存储系统使用的所有磁盘上使用统一的inode编号系统,但它确实显示了Apple可能正在进入的一般方向; 汇集最符合用户需求的多种存储技术,并让操作系统将它们视为单个文件空间。

APFS功能

APFS具有许多功能,使其与旧文件系统区别开来。

  • 克隆 – 克隆允许几乎即时的文件复制,而无需使用额外的空间。克隆不是将文件从一个位置逐位复制到另一个位置,而是引用原始文件,共享两个文件之间相同的数据块。对一个文件进行更改,只有已更改的数据块写入新克隆,而原始和克隆都继续共享未更改的数据块。这不仅使文件复制和保存特别快,而且还节省了存储空间需求。
  • 快照 – APFS可以创建表示某个时间点的卷快照。快照可用于促进高效备份,并允许您回溯特定时间点的情况。快照是指向原始卷及其数据的只读指针。除了将指针存储到原始卷所需的空间量之外,新快照不占用任何实际空间。随着时间的推移和对原始卷的更改,仅使用发生的更改来更新快照。
  • 加密 – APFS支持使用AES-XTS或AES-CBC模式的强大全盘加密。文件和元数据都将被加密。支持的加密方法包括:
    • 清除(不加密)。
    • 单密钥。
    • 多键,包含数据和元数据的每个文件密钥。
  • 空间共享 – 空间共享结束了预定义的分区大小; 相反,所有卷共享驱动器上的基础可用空间。空间共享将允许驱动器上的多个卷根据需要动态增长和缩小,而无需重新分区。
  • Copy-On-Write – 此数据保护方案允许共享数据结构,只要不进行任何更改即可。一旦请求更改(写入),就会生成一个新的唯一副本,确保原件保持不变。只有在写入完成后才更新文件信息以指向新数据。
  • 原子安全保存 – 这类似于写时复制的想法,但适用于任何文件操作,例如重命名或移动文件或目录。以重命名为例,将使用新数据(文件名)复制即将重命名的文件; 直到复制过程完成后才更新文件系统以指向新数据。这可确保如果出于任何原因(例如电源故障或某种类型的CPU打嗝),写入未完成,则原始文件保持不变。
  • 稀疏文件 – 这种分配文件空间的更有效方式允许文件空间仅在实际需要时增长。在非稀疏文件系统中,即使没有准备好存储数据,也必须提前保留文件空间。

分享到: