网易首页 > 网易手机 > 正文

知名开发者带你分析苹果APFS文件系统

0
分享至

(原标题:知名开发者带你分析苹果APFS文件系统)

在今年的 WWDC 大会上,苹果公布了一个为旗下所有 OS 打造的全新文件系统 APFS。尽管它在消费者眼中并不显眼,但作为取代现有 HFS+ 的方案,APFS 的出现势必会产生深远影响。曾经参与 ZFS 文件系统开发的 Delphix 公司 CTO Adam Leventhal 以一个开发者的角度来评价 APFS,分析我们即将会迎来什么:

前言

APFS,也就是 Apple File System(苹果文件系统),它的开发从 2014 年开始,Dominic Giampaolo 为首席工程师。APFS 不基于已有的东西,而是苹果从头打造的一个独立的系统。当 Giampaolo 被问到他有没有从 BSD 的 HAMMER,Linux 的 btrfs 或 OpenZFS 这些现代文件系统那里得到设计灵感时 —— 毕竟 APFS 想要实现的和它们的部分功能很相似 —— Giampaolo 解释说为了避免受到过多影响,他虽然知道它们,但并没有深入去了解。

Giampaolo 夸赞 APFS 的测试团队“是典范性的”,这一点尤为关键。业界流传一句话是,文件系统要走向成熟需要十年时间,而就我在 ZFS 上的经验,这话多多少少是正确的。苹果想要仅凭三、四年的发展就将 APFS 推广开来,那就一定要让它加速成熟起来。

还债

当 Mac 512K 还是苹果的旗舰级产品的 1985 年,HFS 文件系统就出现在了人们的眼前。HFS+ 作为它的重要更新,于 1998 年随着拥有 4GB 硬盘的 G3 PowerMacs 一起到来。自那时候起,家用电脑的存储能力可以说已经增长了超过千倍。为了对应不同的设备,HFS+ 也被分成了多个竞争的方向(据说 iOS 团队弄了个自己的 HFS 变体,做得太隐蔽甚至 Mac OS 团队都不知道),拥有不同的功能。不得不说 HFS+ 已经变得老旧而混乱了。更重要的是,它缺少了大多数操作系统为企业打造的重要特性,如纳秒时间戳、校验和、快照、稀疏文件支持等,这些都是理论上必须要有的基础成本。APFS 填补了这个空白,顺便还加上了对大型设备的支持。

APFS 最重要的变化在于它解决了 HFS+ 不可持续的问题,这是苹果一直以来所背负的技术债务。它统一了所有的变体,带来了期盼中的特性。总的来说,苹果从代码开始重新打造了自己的文件系统。

不过在 APFS 的特性列表里,压缩功能却消失了,从理论上说它要实现并不困难。当开发团队被问到为什么不做压缩功能的时候,他们用一种苹果特有的方式 —— 既不确认也不否定 —— 表示认同,并且强烈暗示说这是值得期待的。所以如果 APFS 公共版本里拥有压缩功能,并不会让人感到奇怪。

加密

加密很明显是 APFS 的核心特性,不同的设备对它的需求也不一样。举个例子,iPhone 要求的是文件系统中存在多个密钥,而笔记本电脑则希望有基于每个用户的密钥。你在 WWDC 上可以听到很多次“创新”这个词,但 APFS 在加密方面配得上这个词。它支持文件系统中以下几种不同的加密方案:

- 不加密

- 对应元数据和用户数据的单一密钥

- 对应元数据、文件,甚至是文件一部分的多个密钥

多密钥加密机制尤其适用于移动设备,因为它的所有数据都可能会被加密,然而解锁手机本身就需要额外的密钥和额外的数据。可惜的是这个机制在 macOS Sierra 第一个 beta 上似乎并没有作用(使用 diskutil 命令指定生成一个加密的新卷时,文件系统报告说没有加密)。

关于加密,我注意和 diskutil 相关的特性:当使用 diskutil 创建一个新卷后,APFS 支持安全地即时擦写文件系统。不过 APFS 会警告你这可能导致数据损坏,除非在命令行输入“-IHaveBeenWarnedThatAPFSIsPreReleaseAndThatIMayLoseData”才能继续 —— 这可不是瞎编。这或许意味着用户可以建立一个无法从 APFS 中提取的文件系统密钥。安全擦写只需要删除密钥即可,不需要为了确保完全的清除而打乱整个硬盘。多个 iOS 文档指出这个功能需要特殊的硬件。有趣的是这对于 macOS 来说究竟意味着什么。不管怎么说,不要让 FBI 或者 NSA 知道这件事,OK?

快照及备份

APFS 带来了一个呼声相当高的文件系统特性:快照。快照功能让你能够保留文件系统特定时刻的状态,使得在修改文件系统的同时保留旧数据。它实现了这个功能,却又很高效地节省了空间。文件系统能够追踪变化,只有新的数据才会占据额外的空间。这对于备份工作来说有着相当高价值的潜力,因为你可以有效地追踪自上一次备份以来数据的变化。

ZFS 系统拥有快照功能和序列化机制,使得它可以有效地进行备份或进行远程传输。APFS 能够做到这点吗?Giampaolo 的回答是可能不行。ZFS 能够发送所有已更改的数据,而 Time Machine 则拥有类似排除列表这样的东西。这个不足是可以解决的,但我们要观察的是苹果会怎么做。APFS 目前仍不兼容 Time Machine,因为它缺乏对目录硬链接的支持,这个让人烦躁的问题可能源于 Time Machine 那被人质疑的可靠性。希望 APFS 以后能够针对 Time Machine 备份打造高效的序列化机制。

当 APFS 的开发经理 Eric Tamura 在 WWDC 上展示快照时,它所需的工具却并不包括在 macOS Sierra 的 Beta 版中。我使用 DTrace(我对苹果从 OpenSolaris 移植来这个技术越发惊讶)找到了一个被称为 fs_snapshot 的东西,希望其他人能够逆向工程找到它的确切用途。

管理

APFS 带来的另一个新特性是“空间共享”,让跨越一台设备的单个 APFS“容器”能够拥有多个“卷”(文件系统)在其中。苹果将该功能与过去静态分配硬盘空间,以支持多个 HFS+ 的实例进行对比,这显得有些华而不实。ZFS 和 btrfs 都拥有相似的概念,即一个用有嵌套文件系统的共享存储池,以实现规划与管理。

在和 Giampaolo 及 APFS 团队其它成员的谈话中,我们讨论了多个卷是如何作为一个单元让用户可以实现快照和加密等操作的。你会希望多个卷可以符合那些设置的不同策略。举个例子,当你想要每天对系统进行一次快照和备份的时候,用来在休眠时保存内存数据的 /private/var/vm/sleepimage 不该需要理会,也不该备份。

空间共享看上去更像是一个操作上的细节,而且能够改变游戏规则的新特性。你可以将它视为一个拥有快照和加密操作的特殊文件夹。添加新卷会因出现未知错误(不知道 -69625 究竟是什么意思)失败,但使用一个更大的磁盘镜像可以解决这个问题。

访问:

苹果在线商店(中国)

相关推荐
热点推荐
为什么今年没人提“消费降级”了?

为什么今年没人提“消费降级”了?

黯泉
2026-05-20 17:47:21
七届二中全会五大书记排序变化,透露出哪些深层含义?

七届二中全会五大书记排序变化,透露出哪些深层含义?

芳芳历史烩
2026-06-29 09:08:53
管泽元:后面去韩国解说MSI了,不会我回来罗哥已经回家了吧

管泽元:后面去韩国解说MSI了,不会我回来罗哥已经回家了吧

慢歌轻步谣
2026-06-29 12:22:51
“月捐人”终于被重视!韩红基金会首次致谢,救护车上也标注字样

“月捐人”终于被重视!韩红基金会首次致谢,救护车上也标注字样

火山詩话
2026-06-29 09:40:51
45岁马苏与40岁江疏影同框,戳穿整容行业真相

45岁马苏与40岁江疏影同框,戳穿整容行业真相

凉了时光人
2026-06-29 15:19:53
女子领了结婚证全程没笑意,捧着红本满眼痛苦,评论区却夸真实

女子领了结婚证全程没笑意,捧着红本满眼痛苦,评论区却夸真实

捣蛋窝
2026-06-28 05:03:42
伊朗总统:60亿美元伊朗资产将获解冻

伊朗总统:60亿美元伊朗资产将获解冻

极目新闻
2026-06-29 16:34:34
法国40℃高温禁空调,民众自嘲不如中国猪

法国40℃高温禁空调,民众自嘲不如中国猪

这样子啊
2026-06-28 05:26:37
大威始终支持亲妈

大威始终支持亲妈

蜻蜓世音
2026-06-29 15:44:56
表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

表面老艺术家,私下贪财又好色,这几位晚节不保一点都不冤

梦史
2026-06-20 17:12:58
A股:集体收涨,医药股暴涨,半导体大涨,周二行情这样走了

A股:集体收涨,医药股暴涨,半导体大涨,周二行情这样走了

云鹏叙事
2026-06-29 15:08:38
外网吵翻!大批印度网友想零成本定居中国,只想白嫖福利?

外网吵翻!大批印度网友想零成本定居中国,只想白嫖福利?

魔都姐姐杂谈
2026-06-28 14:03:26
河北发现苏麻喇姑墓,专家进入墓室,揭开康熙皇帝的“百年谎言”

河北发现苏麻喇姑墓,专家进入墓室,揭开康熙皇帝的“百年谎言”

青史卷中人
2026-06-26 14:45:57
尊界冲刺138.8万元 余承东照着提词器念了20分钟

尊界冲刺138.8万元 余承东照着提词器念了20分钟

经济观察报
2026-06-27 21:03:27
韩国史上最大规模产业投资计划!五年内DRAM产能翻倍,三星、SK海力士各新建两座芯片厂

韩国史上最大规模产业投资计划!五年内DRAM产能翻倍,三星、SK海力士各新建两座芯片厂

华尔街见闻官方
2026-06-29 14:26:36
普京透露俄军正快速推进:俄军距斯拉维扬斯克仅8公里,在苏梅州的目标是建立安全缓冲区,康斯坦丁诺夫卡市已有96%的区域处于俄军控制之下

普京透露俄军正快速推进:俄军距斯拉维扬斯克仅8公里,在苏梅州的目标是建立安全缓冲区,康斯坦丁诺夫卡市已有96%的区域处于俄军控制之下

扬子晚报
2026-06-29 12:05:42
遭王星昊三杀,77个月铁幕正崩塌!申真谞四年自救倒计时

遭王星昊三杀,77个月铁幕正崩塌!申真谞四年自救倒计时

王老师聊围棋
2026-06-28 20:39:06
1948年大决战在即,毛主席突然下令枪毙手下大将:谁求情都不行

1948年大决战在即,毛主席突然下令枪毙手下大将:谁求情都不行

史之韵
2026-06-28 06:46:29
斯洛伐克总理:不会参与北约700亿欧元援乌计划

斯洛伐克总理:不会参与北约700亿欧元援乌计划

环球网资讯
2026-06-28 17:34:02
太阳黄蜂达成3换3交易,火箭迎来利好,杰伦格林或再次换队

太阳黄蜂达成3换3交易,火箭迎来利好,杰伦格林或再次换队

富贵体坛说
2026-06-29 11:00:53
2026-06-29 18:55:00

头条要闻

媒体:台军偷拍福建舰 还异想天开用几款导弹摧毁航母

头条要闻

媒体:台军偷拍福建舰 还异想天开用几款导弹摧毁航母

体育要闻

他和伊朗队,再次赢得全世界的尊重

娱乐要闻

跟风电影《给阿公的牛肉丸》开机

财经要闻

近20家半导体企业开启新一轮涨价潮

科技要闻

杀疯了!深圳一天出两家200亿具身智能公司

汽车要闻

全新宝马iX3长轴版将于成都车展预售 四季度交付

态度原创

艺术
教育
亲子
公开课
军事航空

艺术要闻

24幅 当代画家人物油画作品

教育要闻

都是体育运动,有什么内在联系呢

亲子要闻

两岁宝宝上托二班,听老师讲故事时非常认真,网友:这个专注力真的太强了

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

普京最新发声:俄罗斯正处于命运攸关之际

无障碍浏览 进入关怀版
×