我在通过 SMB 进行 macOS 备份时遇到了相当棘手的问题。我确实使用 SMB 在 Ubuntu Server 20.04 上设置了 Time Machine 服务器。当服务器启动/重新启动时,一切正常,我可以在所有 Mac 上看到 Time Machine 服务器,我可以访问它以前的备份,甚至可以完美地进行备份。然而过了一段时间(我搞不清楚触发原因是什么),Time Machine 磁盘上的所有文件都消失了(当我尝试从 macOS 访问它们时),并且每次备份都失败并出现错误:
Time Machine 无法完成对“data-server.local”的备份 网络备份磁盘不支持所需的功能。
当我登录服务器(通过 SSH 连接到 Ubuntu 服务器)时ls
,Time Machine 文件夹完全是空的。重新启动 SMB 和 Avahi 服务无济于事。但是,当我重新启动整个操作系统时,一切都恢复了(并且有故障前进行的新备份),并且所有 Mac 都可以再次执行备份而不会出现任何问题。
正如我所说,我找不到触发因素。有时它会在两小时后发生,有时在一天后发生,但绝不会经过更长的时间。它几乎看起来像是在一次备份后发生的,但我在网络上有三台 Mac,它们都设法在不中断的情况下进行完整备份,每台都在不同的时间(它们都具有相同的用户帐户并使用相同的凭据登录服务器)。
我完全迷失了,因为我无法从逻辑上解释这种行为。
如果有帮助的话我会提供 SMB 配置:
[global]
workgroup = WORKGROUP
server string = %h
server role = standalone server
map to guest = bad user
usershare allow guests = no
[TimeMachine]
comment = Time Machine
path = /media/TimeMachine
browseable = yes
writeable = yes
read only = no
force create mode = 0600
force directory mode = 2770
spotlight = yes
vfs objects = catia fruit streams_xattr
durable handles = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
ea support = yes
inherit acls = yes
fruit:aapl = yes
fruit:time machine = yes
fruit:model = MacPro
fruit:advertise_fullsync = true
valid users = davedavee @sadmin
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288
编辑
我刚刚想到:一种可能性是磁盘睡眠功能。由于操作系统是服务器版本,所以不应该是这种情况,但听起来很合理。顺便说一下,磁盘是通过 USB 驱动程序连接的(如果这确实重要的话)。如果是“驱动器睡眠模式”选项,我该如何检查其设置以及正确的设置是什么?我知道我可以用 Google 搜索或阅读一些手册页,但就像我说的,它刚刚出现在我的脑海中,问题已经问过了……
答案1
好的,我想我已经解决了这个问题。看起来外部驱动板的驱动程序在一段时间后确实会失效(TimeMachine 使用的硬盘是通过 PCI 插槽中的外部驱动卡连接的)。我已将磁盘通过 USB 3.0 > SATA 驱动程序连接到主板的 USB 3.0 端口,到目前为止运行良好。
如果有其他问题,我会发布更新,但前提是确实存在。否则会解决。