APFS用于macOS,iOS,watchOS和tvOS
APFS(Apple文件系统)是用于组织和构建存储系统上的数据的系统。 最初与macOS Sierra一起发布的APFS取代了30年前的HFS + 。
HFS +和HFS(分层文件系统的稍早版本)最初是在软盘时创建的,而软盘是用于Mac的主要存储介质,因为旋转硬盘是第三方提供的昂贵选项。
过去,苹果一直在替换HFS +,但已经包含在iOS , tvOS和watchOS中的 APFS现在成为macOS High Sierra和后来的默认文件系统。
APFS针对今天和未来的存储技术进行了优化
HFS + 在800kb软盘为王时实施。 目前的Mac可能不会使用软盘,但旋转硬盘似乎已经过时了 。 随着Apple在所有产品中强调基于闪存的存储,优化用于旋转媒体的文件系统以及等待磁盘旋转的固有延迟并没有太大意义。
APFS的设计始于SSD和其他基于闪存的存储系统。 尽管APFS针对固态存储器的工作原理进行了优化,但它与现代硬盘驱动器的配合良好。
未来打样
APFS支持一个64位的inode编号。 inode是标识文件系统对象的唯一标识符 。 文件系统对象可以是任何东西; 一个文件,一个文件夹。 使用64位的inode,APFS可以容纳大约9个百万个文件系统对象,超过21亿的旧限制。
Nine quintillion可能看起来像一个相当大的数字,你可以正确地问什么存储设备将有足够的空间来容纳这么多的对象。 答案需要窥探存储趋势。 考虑一下:苹果已经开始将企业级存储技术转移到消费级产品上,例如Mac和其使用分层存储的能力。 这在Fusion驱动器中首次出现,它将数据在高性能SSD和较慢但体积较大的硬盘之间移动。 经常访问的数据保存在快速SSD上,而使用较少的文件则存储在硬盘上。
通过macOS ,Apple通过添加基于iCloud的存储扩展了这一概念。 允许您已经观看过的电影和电视节目存储在iCloud中,以释放本地存储空间。 虽然这最后一个例子并不需要跨分区存储系统使用的所有磁盘都使用统一的inode编号系统,但它确实表明了苹果可能正在进入的一个大方向; 将多种最适合用户需求的存储技术结合在一起,并让操作系统将其视为单个文件空间。
APFS特性
APFS具有许多将旧版文件系统与众不同的功能。
- 克隆 - 克隆允许几乎即时的文件副本,而无需使用额外的空间。 而不是将文件从一个位置逐位拷贝到另一个位置,而是使用克隆引用原始文件,共享两个文件之间相同的数据块。 对一个文件进行更改,只有已更改的数据块被写入新克隆,而原始和克隆都会继续共享未更改的数据块。 这不仅使文件复制和保存特别快,而且还节省了存储空间需求。
- 快照 - APFS可以创建代表某个时间点的卷快照。 可以使用快照来促进高效的备份,并且可以让您回到特定时间点的事情。 快照是指向原始卷及其数据的只读指针。 除了存储指向原始卷的指针所需的空间量之外,新快照不会占用实际空间。 随着时间的流逝,对原始卷进行更改,快照仅更新为仅发生更改。
- 加密 - APFS使用AES-XTS或AES-CBC模式支持强大的全盘加密 。 文件和元数据都将被加密。 支持的加密方法包括:
- 清除(不加密)。
- 单密钥。
- 多密钥,包含数据和元数据的每个文件密钥。
- 空间共享 - 空间共享结束了预定义的分区大小; 相反, 所有卷都共享驱动器上的基础可用空间 。 空间共享将允许驱动器上的多个卷根据需要动态增长和减少,而不需要重新分区。
- 写时复制 - 这种数据保护方案允许数据结构只要没有改变就可以共享。 一旦请求更改(写入),就会创建一个新的唯一副本,确保原始文件保持不变。 只有在写入完成后,文件信息才会更新以指向新数据。
- 原子安全保存 - 这与写时复制的想法类似,但适用于任何文件操作,例如重命名或移动文件或目录。 以重命名为例,即将重命名的文件将与新数据(文件名)一起复制; 直到复制过程完成,文件系统才会更新以指向新数据。 这可以确保,如果由于任何原因(如电源故障或某种类型的CPU打嗝),写入未完成,原始文件保持不变。
- 稀疏文件 - 这种分配文件空间的更有效方式允许文件空间仅在实际需要时增长。 在非稀疏文件系统中,即使没有数据准备好存储,也必须预先保留文件空间。