Time Machine 背后用的是什么原理? 三种档案连结让你知道

TimeMachine 我觉得是世界上最简单最无脑的备份方式,但你知道他背后是用什么样的文件管理来做到他的备份模式吗?

先简单回顾一下,Time Machine 会帮你的电脑整台机器备份(扣除垃圾桶、快取、暂存档、Spotlight index),然后之后每次备份的时候,就只会备份新的文件,所以只有第一次要备份很久,之后都很快就结束。

比如说你的 Mac 是 256G 的容量用了 200G,只有第一次会备份 200G 花你一个小时,之后可能都是1G、2G 只需要备份五分钟。 所以一个 500G 的外接硬盘,可以备份你两个月左右的时间,而不是只能备份两次。

如果你跟我一样很懒惰,想要找回资料的时候不会进入 Time Machine 的界面,会发现他的备份都照着时间排好,找到想要的时间点,然后依照文件夹的位置把文件拉回即可。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

好,问题来了。

如果每一次备份都只是备份新增的文件,为什么每个时间点进去都可以看到完整的整个系统呢?

▼ 聪明如你一定会想到,那就是替身嘛。 我们平常只要对文件按下右键,就可以制作一个替身,放在桌面上,快速连结到常用的文件夹等等。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

▼ 的确,平常我们使用的替身(Windows叫捷径),的确是一个很接近的答案。 不过你有没有发现,替身的文件夹上面都有一个小小的黑色箭头,告诉你他只是一个替身。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

▼ 而 TimeMachine 的文件夹中,只有最新的那一份有替身的标示。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

其实,对 Mac 来说,文件的链接共有三种,替身只不过是其中一种。 但真要介绍的话篇幅太长,所以以下就简单介绍三种的分别

1. Aliases:

就是替身,有连接性,原始文件改名或位置动了(至少要在同磁区)还是连接的到。 算是最简单的链接法,所以在右键菜单中就可以使用。

2. Symbolic links 

只能用终端机做,原始档动了就坏了,但占的空间更小

3. Hard links

这个也只能使用终端机操作,这个概念比较特别,我们要把它想成是一个进入点,每个文件都只是入口,实际指向磁盘中真实储存的位置。 而 Time Machine 就是使用这个

很难理解吧,我想到一个很好的比喻。

▼ 我们在剪辑视频的时候,有很多素材,但我们在 iMovie 计划案中,一个素材在短片中重复出现,会因此增加磁盘使用量吗。 并不会,因为他只是显示我们用了很多次,实际上都是指向那个原始素材。 直到汇入新的素材,才会增加使用容量。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

(当然等输出视频之后视频长度会影响容量,但这就跟这次的比喻无关了。 )

说到这个,有没有想到另一个概念很类似的例子呢?

苹果在去年10.13的发布会demo上,秀了一手在APFS磁区中一秒复制10G文件的魔法。 其实就是非常接近的概念。

▼ 在苹果的开发者手册中,可以看到像下面的图说。

Time Machine 背后用的是什么原理? 三种档案连结让你知道

我们使用的 Keynote 文件都是指向 SSD 中真实存储的磁区,当我们修改时会另外增加一个蓝色的存储位置。 这样当我们要复制时,也只不过是新增一个指向绿色位置的项目而已。 所以使用容量并不会增加,当然就可以一秒复制。

不过,不知道是不是概念重复的原因,APFS 中已经不能使用 Hard Link,这我不清楚实际原因。

但你可能有注意到 Time Machine 的硬盘只能使用旧的日志式,而不能使用 APFS 格式的硬盘来做为 Time Machine 备份碟。 APFS 不能使用 Hard Link 绝对是其中一个原因。

所以现在你对 Time Machine 有没有更了解了呢? 你看到的文件,全部都只是幻影旅团的轻薄假象,对应上磁盘上真实的磁区位置而已。

(0)
麦克哥麦克哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注