11 KiB
Executable File
Time Machine Backup — Kraken (RPi5)
Топология
Бэкап идёт по SMB на Кракен (RPi5). Samba на хосте, smb.conf управляется вручную (не Docker-контейнер, не OMV-плагин).
Destination: smb://timemachine@kraken/TimeMachine
Бандл: mbp-black.sparsebundle
Пользователь: timemachine (uid=1001), создан через omv-rpc
Пароль: smbpasswd -a timemachine
passdb.tdb персистентен на хосте — пароль не слетает при рестарте
Бандл лежит на локальном HDD Кракена: /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/timemachine/
Текущий статус (2026-09-24)
- Бэкап работает (LAN): бандл 470 ГБ, последняя сессия 2026-09-24 13:20 — инкремент 1.73 ГБ, успешно.
- Квота 800 ГБ (745 Gi): занято 470 Gi, до потолка ~275 Gi — дальше TM чистит старые снапшоты.
- Диск Кракена: 1.8 ТБ, свободно 757 ГБ.
- Не решено: SMB через WG вне дома —
mount_smbfsAuthentication error (см. History 2026-07-01).
Конфигурация Samba (вручную, не OMV)
Шара в /etc/samba/smb.conf, правится вручную: плагин openmediavault-samba НЕ установлен,
omv-salt deploy этот файл не перезаписывает. В config.xml остался инертный остаток
extraoptions (fruit:time machine max size = 0) — не применяется, не трогать.
Порядок правки: scp-копия локально → правка → заливка → sudo testparm -s → sudo systemctl restart smbd.
[TimeMachine]
path = /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/timemachine
browseable = yes
read only = no
valid users = timemachine
vfs objects = fruit streams_xattr
fruit:time machine = yes
fruit:time machine max size = 800000000000
Квота 800 ГБ (800000000000 байт, macOS видит 745 Gi) — установлена 2026-09-24.
При заполнении квоты TM удаляет старые снапшоты. Бэкапы конфига:
/etc/samba/smb.conf.bak-20260922, /etc/samba/smb.conf.bak-20260924.
Проверка доступа
mkdir -p /tmp/tm-test
mount_smbfs //timemachine:'timemachine'@kraken/TimeMachine /tmp/tm-test
ls /tmp/tm-test # должен показать mbp-black.sparsebundle
umount /tmp/tm-test
Диагностика: почему бэкап не завершается
Просмотр логов backupd
backupd пишет логи в subsystem com.apple.TimeMachine. Ключевые команды:
# Все ошибки за последние N часов
log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -iE '(error|fail|cannot|could not|timeout|disconnect|BACKUP|thinning)'
# Прогресс копирования
log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep "CopyProgress"
# Когда бэкап завершился/упал
log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -E "backup completed|backup failed|BACKUP_FAILED|BackupFinishing|Finished backup|BackupCancelled"
Текущий статус
tmutil status
# BackupPhase может быть:
# - MountingDiskImage — монтирует sparsebundle (может висеть, если бандл повреждён)
# - PreparingSourceVolumes — собирает список изменений (файлы eventDB)
# - Copying — копирует файлы
# - ThinningPostCopy — удаляет старые бэкапы
Известные причины сбоев
-
BACKUP_FAILED_DISCONNECTED_NETWORK (26) / BACKUP_FAILED_DISCONNECTED_DISK_IMAGE (70)
- SMB-шара отвалилась во время бэкапа. Причины: WG туннель перезагрузился, таймаут на SMB, проблемы с сетью.
- Симптом:
Failed to set checkpoint marker — No such file or directory, потом ошибка DISCONNECTED - Косвенно: внутри sparsebundle остаются
.interruptedпапки. На 2026-07-01 их было 43 штуки.
-
BACKUP_FAILED_NO_SPACE_FOR_LOCAL_SNAPSHOT (50)
- Не хватает места на локальном диске Mac (
/System/Volumes/Data) для локального снапшота. - Лечится: освободить место на локальном SSD, или удалить старые локальные снапшоты:
tmutil deletelocalsnapshots /
- Не хватает места на локальном диске Mac (
-
macOS Tahoe 26 (26.5.1) — SMB signing/encryption
- Начиная с macOS 26 (Tahoe), Apple ужесточила требования к SMB signing.
- OMV Samba может не справляться, особенно через WireGuard.
- Если бэкап постоянно срывается с DISCONNECTED, попробовать:
sudo tee /etc/nsmb.conf << 'EOF' [default] signing_required=yes streams=yes soft=yes dir_cache_max_cnt=0 protocol_vers_map=6 mc_prefer_wired=yes EOF - Источник: GitHub Gist — macOS Tahoe SMB Backup Fix
~43 .interrupted папок — не причина, а следствие*
backupd выводит Expected SnapshotInProgressContainer metadata type but found APFSBackup для каждой прерванной сессии. Это не ошибка — он корректно обрабатывает interrupted-папки и пытается их "апгрейднуть". Проблема не в них, а в том что бэкап постоянно прерывается по DISCONNECTED.
Перевыбрать destination на Mac
sudo tmutil setdestination -p smb://timemachine@kraken/TimeMachine
Связанные заметки
- family/how-to/wireguard-vpn — туннель для бэкапа вне дома
- family/how-to/kraken-network — ssh, сетевые адреса
Важно: связка WireGuard + SMB
Когда mbp-black не дома (IP не 192.168.1.x), kraken резолвится через VPS dnsmasq
в 10.99.1.2 (WG адрес). SMB работает через туннель, но может быть медленнее.
Проверка доступа через WG с mbp-black:
smbutil view //timemachine@kraken
Если дома — лучше через LAN (smb://192.168.1.14/TimeMachine), быстрее.
Plan: квота TM 800 ГБ (2026-09-24)
Состояние: квота ОТКЛЮЧЕНА (закомментирована 2026-09-22), macOS видит весь диск 1.8 ТБ. Новый полный бэкап 470 ГБ завершён 2026-09-24, на диске свободно 757 ГБ.
- Бэкап
/etc/samba/smb.conf→smb.conf.bak-20260924(правка через локальную копию, не sed по SSH) - Строка 48: раскомментировать, значение
800000000000(800 ГБ) testparm -s— синтаксис + эффективный конфигsystemctl restart smbd- Проверка с Mac: mount → df (ожидание ~800 ГБ)
- Обновить доки: time-machine.md, openmediavault-rpi5.md
Примечание: плагин openmediavault-samba НЕ установлен — smb.conf управляется вручную.
В config.xml остался инертный остаток extraoptions (max size = 0) — не применяется, не трогаем.
✅ Выполнено 2026-09-24. testparm ок, smbd active, проверка с Mac (mount + df):
745Gi total / 470Gi used / 275Gi avail — квота 800 ГБ видна. Раздел «Конфигурация» переписан под реальное состояние.
History
- 2026-09-24: квота
fruit:time machine max size = 800000000000(800 ГБ, macOS видит 745 Gi). 2026-09-22 при чистке диска старый sparsebundle (2.2 ТБ) был удалён и квота 3 ТБ закомментирована — macOS видел весь диск 1.8 ТБ без потолка. Новый бандл (пересоздан 2026-09-22) — 470 ГБ; последняя проверенная сессия 2026-09-24 13:20 — инкремент 1.73 ГБ,Successfully completed. Правка: scp-копия → patch → заливка, бэкапsmb.conf.bak-20260924. Уточнено, что smb.conf управляется вручную (раздел «Конфигурация» переписан). - До 2026-06-02: использовался Docker-контейнер
mbentley/timemachine:smb. Контейнер снесён, Samba перенесена на хост OMV из-за проблем с persisting паролей (tdbsam не сохранялся,ntlm auth = noломал backupd при reconnect). - 2026-07-01: диагностика причин срыва бэкапов на mbp-black (26.5.1, WG туннель).
- backupd не виснет — реально копирует, но медленно через WG.
- Найдены ошибки в логах:
BACKUP_FAILED_DISCONNECTED_NETWORK (26)в 15:21 — SMB отвалился. Симптом:Failed to set checkpoint marker — No such file or directory.- После перезапуска:
BACKUP_FAILED_NO_SPACE_FOR_LOCAL_SNAPSHOT (50)— не хватило места для локального снапшота.
- Внутри бандла ~43
.interruptedпапок — следствие прерванных сессий, не причина. - Добавлен раздел "Диагностика: почему бэкап не завершается" с командами просмотра логов и известными причинами сбоев.
- Добавлен референс на GitHub Gist по macOS Tahoe SMB signing fix.
- Проблема: пароль
timemachineне проходит при подключении через WireGuard (mbp-black вне дома, IP10.120.1.143, Kraken резолвится в WG10.99.1.2).mount_smbfsиsmbutilвыдаютAuthentication error. - Проверено на Kraken: smbd слушает на
0.0.0.0:445, TCP/445 через WG открыт,smbstatusпоказывает активных сессий 0. Samba конфигурация:disable netbios = yes,log level = 0(логи в /var/log/samba/log.smbd пустые — запросы аутентификации даже не доходят до smbd, значит проблема на клиентской стороне). - Диагностика не завершена — причина Authentication error не выяснена.
- Доки обновлены: убрано упоминание TrueNAS, прописан прямой пароль
timemachineв credentials в обоих документах (time-machine.mdиopenmediavault-rpi5.md).