Files
obsidian-vault/family/how-to/time-machine.md
T

3.3 KiB
Raw Blame History

Time Machine Backup — Kraken (RPi5)

Топология

Бэкап идёт по SMB на контейнер mbentley/timemachine:smb, запущенный на Кракене (RPi5, OMV).

Destination: smb://timemachine@kraken/TimeMachine Бандл: mbp-black.sparsebundle Контейнер: mbentley/timemachine:smb на Кракене (restart: unless-stopped) Пароль: timemachine (samba user в контейнере)

Бандл лежит на TrueNAS, смонтирован в контейнер: /srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/timemachine/

Важно при перезапуске контейнера

После docker compose up образ устанавливает пароль через smbpasswd автоматически (из PASSWORD в .env). Если монтирование не работает после рестарта — запустить вручную:

ssh kraken 'echo -e "timemachine\ntimemachine" | docker exec -i timemachine smbpasswd -s timemachine'

Сбой аутентификации (2026-06-02)

Симптом: Time Machine показывает «The network backup disk could not be accessed because there was a problem with the network username or password». Ping kraken работает, SMB-шар смонтировать через mount_smbfs — тоже.

Причины (все три были одновременно):

  1. PASSWORD= пустая в docker-compose.env имел TM_PASSWORD вместо PASSWORD, volumes path был вписан в environment секцию. Контейнер стартовал с пустым паролем.
  2. ntlm auth = no в smb.conf — Samba отклоняла NTLM при реаутентификации backupd (error 57 Socket is not connected, Authentication error 80). Finder mount работал (первичное подключение), backupd падал при reconnect.
  3. /run/samba не персистентный — tdbsam с паролями не сохранялся между перезапусками контейнера.
  4. System.keychain — backupd хранит credentials в System.keychain, не в login keychain. Finder использует login keychain — поэтому Finder mount работал а TM нет.

Восстановление

  1. Переустановить пароль samba-пользователя в контейнере:

    ssh kraken 'docker exec -i timemachine sh -c "echo -e \"timemachine\\ntimemachine\" | smbpasswd -a -s timemachine"'
    
  2. Удалить все старые записи timemachine@kraken из Keychain (login + system)

  3. Cmd+K в Finder → smb://kraken/TimeMachine → Connect As → Registered User → timemachine / timemachine

  4. Перевыбрать destination:

    sudo tmutil setdestination -p smb://timemachine@kraken/TimeMachine
    

Проверка доступа из консоли

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

Связанные заметки