本文是篇摘要,主要内容是如何将 Time Machine 与 ReadyNAS 配合使用,文章最初是由 btaroli 所写,后经 sirozha 和 ReadyNAS Mac/OSX 论坛上的其它人修改,最后由 DavidB 摘录而成。感谢热爱 Mac 的用户对 ReadyNAS 论坛的贡献。
我刚刚把另一台机器改成使用 NAS(网络附加存储)对联网的 Time Machine 进行备份,此次运行的很顺利,没有出现问题。以下为总结:
本例中使用的是一台主机名为“magpie”的 Mac Mini ,运行 OS X 10.5.2 系统,通过802.11g 与 ReadyNAS NV+(RAIDiator 4.01c1-p1 [1.00a041] with AFP patch loaded)连接。我在每台机器(此为“TMmagpie”)上都创建了一个 AFP 共享,并将它们设置为只有机器的“所有人”才能访问。因为如果我把某个共享设置为存储所有客户端 Time Machine 备份的话,那就有可能使某个用户在备份中看到其他人的私人数据。
要确保使用简单的主机名—也就是说,不要使用引号,如:Maggie’s Mac,否则程序会出错。
当 NAS 上的共享设置好以后,我们剩下所需要做的都是在客户端(此为 magpie)本地进行的。我在这里列出的是一些在 Terminal.app 中运行的命令,尽管还有其它方法(GUI)实现这里提到的某些功能。
此前,这台机器是将 Time Machine 备份到一个本地 Firewire 硬盘中,而此处所介绍的部分程序是将 Firewire 硬盘中的内容复制到 NAS 中,以使后面的备份能够覆盖先前的备份。这样就不必再删除先前的备份了!
- 在“系统偏好”中,关闭 Time Machine。
- 查找机器内部以太网端口的 MAC 地址:
$ ifconfig en0 | grep ether
执行此命令会输出一行内容,例如:
ether 00:16:cb:af:91:d7
尽管网络备份可使用不同的端口(例如:AirPort:通常为“en1”)完成,但本系统将使用 en0的地址作为系统标识符。
这种情况下,Time Machine 使用的标识符为“magpie_0016cbaf91d7”。
- 在本地磁盘上(而不是 Time Machine 硬盘上)创建一个新的“sparsebundle”。此 sparsebundle 是一个虚拟文件系统镜像,我们将把它复制到 NAS 中,然后,Time Machine 将远程访问这一镜像(不论NAS 使用的是什么文件系统功能,Time Machine 都不会受到限制:所有的存储都在 sparsebundle 内进行)。缺省时,sparsebundle 容量可以不断增加,直到存满 NAS 为止,而此例中,除了备份以外,我们还要用 NAS 进行其它操作,所以我们将 sparsebundle 的大小设定为140 GB。由于这是 Time Machine 创建的缺省名称,所以我们将此称为“magpie 的备份”。事实上,你叫这个卷什么都行。
$ hdiutil create -size 140g -fs HFS+J -volname "Backup of magpie" magpie_0016cbaf91d7.sparsebundlecreated: /Users/david/magpie_0016cbaf91d7.sparsebundle $
Mac Mini 并没有加载开发人员工具等内容:Hdiutil 命令是操作系统自带的。我们用人工创建sparsebundle,这样可以对共享的大小进行规定。由于存在系统漏洞,所以我们不能在 NAS(尽管他们就位后是可以使用。)上远程创建 sparsebundle ,只能在本地硬盘上完成这一过程。Sparsebundle 共享达到140 GB 后将停止使用:随着存到它里面文件系统数据的增多,它也不断地增大,最大容量为140 GB。
- 如果你不复制当前 Time Machine 硬盘中的数据,跳到第9步。
- 挂载 sparsebundle:
$ open magpie_0016cbaf91d7.sparsebundle
你会在 Finder 中看到“magpie 的备份”显示为一个已经挂载的卷。
- 将原来的 Time Machine 备份复制到 sparsebundle 中。在“硬盘工具”中:
点击左侧控制板上的 Time Machine 硬盘,然后选择“恢复”工具条:
- 把本地 Time Machine卷拖到“资源”域中
- 把 sparsebundle 卷(“magpie的备份”)拖到“目的地”域中
- 选择“删除目的地”(也许不是强制的)
- 恢复
根据硬盘上的数据多少,可能需要多花些时间。
- 如果在“硬盘工具”中选择“删除目的地”,卷名将从本地 Time Machine 硬盘复制。将新卷重新命名为“magpie 的备份”(或者任何你想用的名称)。
- 卸载(“弹出”)sparsebundle 卷。
- 挂载 NAS 共享,sparsebundle 也就被挂载上了(此为“TMmagpie”)。我通过 AFP 把所有共享都挂载上了,不过,你也可以使用CIFS挂载。当挂载完成后,在 Terminal.app 中就可以象/Volumes/TMmagpie 一样访问了。
- 复制 sparsebundle 到共享:
$ rsync -avE /Users/david/magpie_0016cbaf91d7.sparsebundle /Volumes/TMmagpie/.
根据网络情况(802.11g、802.11n、100bT、1000bT 等),所用时间也可能较长!
rsync 较为智能,只复制文件中的新增部分,如果不需要重新复制全部内容,可以终止之前的复制,重新运行这个命令。
同时,你可以继续使用这台机器。只是不要再打开 Time Machine 备份。
- 如果 sparsebundle 的本地副本存储在了会被 Time Machine 备份的区域,要在继续前删掉它。如果没有个好理由,我们可不想把 Time Machine 的备份扩大一培!
- 在“Time Machine 系统偏好”控制板中,选择“更改硬盘”。它将为你提供一个可以向其备份的硬盘卷列表。如果包含 sparsebundle 的共享没有在列表中(是你没挂载它,对吗?),可能是因为它没有从 Time Capsule 或其它 OSX 机器中挂载上。要在此这显示这一共享,你需要在终端上执行以下命令:
$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
要使其升效,你需要先登出然后再登入(在“苹果”菜单中选择“登出”:你可以“重启”,也会完成登出操作)。现在,再挂载一次 TMmagie,然后再试一下 Time Machine 的“更改硬盘”。
- 选择 NAS(“TMmagpie”)上的共享作为 Time Machine 备份的新目的地。
Time Machine 会自动重启,两分钟后开始备份。如果你没有组装包含本地硬盘内容的 sparsebundle,首次备份将进行全面备份,所花的时间也会非常长(根据网络设施等情况而定)。如果你已经预先组装了sparsebundle,此备份将是增量备份,所花时间不长(当然,要由自第一步关闭 Time Machine 后机器上的文件改动多少而定)。当备份已经启动,在备份中继续后面的步骤以完成操作。
- 现在你可以断开 TMmagpie 共享了。Time Machine 将直接自动挂 载sparsebundle 文件(在备份时,你会看到“magpie 的备份”已挂载)。
- 很不幸,聚光灯(Spotlight)软件会索引“magpie 的备份”共享上的内容,这会使备份速度明显下降。为了避免发生这种情况,首次挂载共享要尽快到“系统偏好”的“Spotlight” 的“隐私”控制板中。使用底部的“+”按钮,选择“magpie 的备份”共享,然后 Spotlight 就会忽略它了。如果 Spotlight 已经开始进行索引了,应立即停止索引,以提高备份速度。
就这些。恭喜!新的 Time Machine 备份将每隔一小时进行一次,你可以通过平时的 Time Machine 界面访问备份文件。使用 magpie 后,我们可以把之前用于 Time Machine 备份的本地200G Firewire 硬盘断开了:这个硬盘比 Mac Mini 的声音吵!