ubuntu 24.04使用SMB给macOS做无线Time Machine备份

前要:

一直以来使用外置硬盘给 MacTime Machine 备份盘,但是存在若干不够方便的地方,如:

  • 磁盘需要格式化为 APFS 格式,虽然 APFS 的“卷共享容器空间”的机制可以很方便的让 Time Machine 卷和其他资料卷共用空间,而不是像传统的分盘让空间分隔,还要考虑空间分配问题。但 APFS 格式只在 macOS 设备间方便使用
  • 虽然在不连接磁盘的情况下,内置存储也会保留24小时内到每小时快照,但总是需要刻意记起找出插入硬盘进行备份的操作

正好最近使用旧电脑刷了 Ubuntu 用作 NAS 使用,于是想了解关于如何配置无线 Time Machine

无线Time Machine的共享协议选择:

最开始找到的教程是使用 AFP 的开源实现 netatalkLinux 支持 AFP 共享协议,然后作为 Time Machine 盘。但发现 netatalk 最近曝出过严重漏洞项目本身在GitHub也只有 0.2K Star 的关注。主观感觉其稳定性是存在疑问的。

后来发现,并不一定是 AFP 协议的共享才能做 Time Machine 备份盘;Samba 只要进行一些配置就能做 Time Machine 备份用了。

在 Mac 上可以与时间机器配合使用的磁盘类型

Apple 官方文档中说明有写到

【提示】如果可以选择 SMBAFP,请使用 SMB 来备份到外置备份磁盘。

目前 Apple 官方也是更推荐使用 SMB 协议来作为无线 Time Machine 备份的。

最新的 macOS Tahoe 26.2 已经提示下个版本不再支持 AFP 进行备份了,如下图:

ubuntu 24.04上Samba的配置

安装 avahisamba

在原来的 /etc/samba/smb.conf 尾部增加如下配置:

更详细的配置可参考

Configure Samba to Work Better with Mac OS X

创建 smb 配置文件中指定的用户:

重启服务,使得配置生效,如下:

macOS上的配置:

打开访达,边栏上应该能直接看到服务器,点击后点上面的“连接身份...”,再点“注册用户”,输入用户和密码,勾选“在我的钥匙串中记住此密码”,点连接,随后会显示出多个共享,多选连接即可。

如果边栏没有,则需按command+K来手动连接,输入smb://xiaomingnas.local。这里xiaomingnas.local中的xiaomingnas是主机的hostname,通常avahi的mDNS服务会使用<hostname>.local作为域名。点连接,后续步骤与上述相同。

随后在 Mac 的系统设置-通用-时间机器,点+号,就能选择设置的 Time Machine 进行备份了。然后根据提示设置登录用户名,时间机器的加密密码即可。

无线备份受限于网络传输速度,首次备份可能需要数小时才能完成,可耐心等待。

Time Machine 默认设置了速度限制,以保障网络和磁盘可正常使用,首次备份可以在 Mac 上暂时解除该限制

用外置磁盘和无线共享设置Time Machine的区别:

使用外置磁盘备份,点击边栏上的卷后,可以看到目录形式展示的每次的备份,并直接查看其中的目录文件。还可以方便地多选备份进行删除,来腾出空间占用

而使用 SMB 共享作为备份盘。这会在共享路径下生成一个类似“小明的MacBook Air.sparsebundle”目录。大致结构如下

其中 bands 目录中会有大量固定大小为 67MB 的二进制文件,这些便是备份的数据。

Apple 官方对 sparsebundle 的解释的大致意思是,它是一个以二进制形式存储的,可按需收缩和扩大的可扩展文件。

在 Mac 上使用“磁盘工具”创建磁盘映像

这样看用 SMB 共享设置 Time Machine 实际上更加灵活,相比之下不挑磁盘格式,且备份在 Linux 上的磁盘中仅作为某个路径下的某个目录存在,而不像使用外置磁盘备份一样单独占据一个 APFS 卷。

但其不能像外置磁盘一样,可以任意多选删除备份来腾出空间。但可以设置 fruit:time machine max size 来限制备份大小,这样达到空间临界点时 macOS 就会自动删除最旧的备份来腾出空间。当然,磁盘备份同样也可以在添加 APFS 卷时,通过设置“配额大小”来限制 Time Machine 过度膨胀(但设置完毕后不易变更)

参考链接


发布者

发表回复

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