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

60 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`). Если монтирование не работает после рестарта — запустить вручную:
```bash
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
```
### Проверка доступа из консоли
```bash
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
```
## Связанные заметки
- [[family/how-to/wireguard-vpn|WireGuard VPN]] — туннель для бэкапа вне дома