BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Apple为iOS和macOS提供全新文件系统APFS

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 大愚若智 关注 9 他的粉丝 发布于 2016年6月30日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Apple在WWDC 2016大会上还发布了一个名为APFS的全新文件系统,一经发布就引起了大量开发者的关注。根据Apple提供的初版开发者文档介绍,APFS:

针对闪存/SSD存储进行优化,提供了更强大的加密、写入时复制(Copy-on-write)元数据、空间分享、文件和目录克隆、快照、目录大小快速调整、原子级安全存储基元(Atomic safe-save primitives),以及改进的文件系统底层技术。

与HFS+的简单对比

根据Apple的介绍,APFS支持HFS+的全部功能,并在下列几方面有所改进:

  • 与使用32位文件ID的HFS+不同,APFS可支持64位索引节点(Inode)编号,借此一个卷最多可存储超过900亿亿个文件。
  • HFS+只能同时对整个存储设备的文件系统进行初始化,APFS提供了一种可扩展存储块分配程序(Extensible block allocator),借此可对数据结构进行延迟初始化(Lazy initialization),进而大幅改善大容量卷的性能。
  • APFS支持三种模式的加密:不加密、单密钥加密,以及多密钥加密,并可管理每个文件所用的密钥和元数据密钥。

在HFS+的基础上APFS还提供了其他改善和新功能,包括稀疏文件(Sparse file)、改进的TRIM操作,内建对扩展属性的支持等。

APFS的新功能

APFS还包含多个与ZFS以及HAMMER等现代化文件系统相似的高级功能,多年前Apple曾尝试将其移植到OS X:

  • 为确保发生崩溃等故障后文件不受损,APFS提供了一种全新的写入时复制(Copy-on-write)机制。
  • 空间分享(Space sharing)技术使得共享物理卷上的多个文件系统可以灵活扩展,而无需进行硬性分区操作。
  • 克隆功能使得用户能够为文件和目录创建副本,在对这些副本进行更改前,副本完全不占用额外的存储空间,并且修改后也只需要在磁盘上存储改动过的文件块。通过强制使用copyItemAtURL:toURL:error:copyItemAtPath:toPath:error:NSFileManager方法,这一过程对用户来说是完全透明的。
  • 快照是指为整个文件系统创建的只读实例,可用于实现差异备份。但目前开发者还无法使用API管理快照。
  • 原子化存储(Atomic save)可通过一笔事务将一批文件或目录以整体方式统一更名。这种全新行为是通过强制实施moveItemAtURL:toURL:error:moveItemAtPath:toPath:error:NSFileManager方法以透明的方式实现的。

使用APFS

APFS目前以开发者预览版的方式通过macOS 10.12发布,该版本还提供了一个操作这一全新文件系统的新版hdutil命令。用户可以使用下列命令创建APFS分区:

$ hdiutil create -fs APFS -size 1GB foo.sparseimage

由于是开发者预览版,Apple也提醒了开发者在使用APFS时可能遇到故障和数据丢失等情况。此外APFS还存在一些局限,例如:

  • 无法用于启动磁盘。
  • 文件和目录名称大小写敏感。
  • 无法用于Time Machine、FileVault或Fusion驱动器。

按照计划APFS将于2017年正式发布,最终将取代Apple已沿用超过30年的HFS+文件系统。

查看英文原文:A Look at APFS, Apple’s New File System for iOS and macOS

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT