[2026-06-03] sort: processed 10, deleted 10
This commit is contained in:
@@ -2,50 +2,32 @@
|
||||
|
||||
## Топология
|
||||
|
||||
Бэкап идёт по SMB на контейнер `mbentley/timemachine:smb`, запущенный на Кракене (RPi5, OMV).
|
||||
Бэкап идёт по SMB на Кракен (RPi5). Samba управляется OMV (не Docker-контейнер).
|
||||
|
||||
Destination: `smb://timemachine@kraken/TimeMachine`
|
||||
Бандл: `mbp-black.sparsebundle`
|
||||
Контейнер: `mbentley/timemachine:smb` на Кракене (`restart: unless-stopped`)
|
||||
Пароль: `timemachine` (samba user в контейнере)
|
||||
Пользователь: `timemachine` (uid=1001), создан через omv-rpc
|
||||
Пароль: `smbpasswd -a timemachine`
|
||||
passdb.tdb персистентен на хосте — пароль не слетает при рестарте
|
||||
|
||||
Бандл лежит на TrueNAS, смонтирован в контейнер:
|
||||
`/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/timemachine/`
|
||||
Бандл лежит на TrueNAS, смонтирован по SMB в Кракен.
|
||||
|
||||
## Важно при перезапуске контейнера
|
||||
## Конфигурация OMV Samba
|
||||
|
||||
После `docker compose up` образ устанавливает пароль через smbpasswd автоматически (из `PASSWORD` в `.env`). Если монтирование не работает после рестарта — запустить вручную:
|
||||
```bash
|
||||
ssh kraken 'echo -e "timemachine\ntimemachine" | docker exec -i timemachine smbpasswd -s timemachine'
|
||||
Шара добавлена через `extraoptions` в `conf.service.smb`:
|
||||
```
|
||||
[TimeMachine]
|
||||
path = /mnt/timemachine
|
||||
valid users = timemachine
|
||||
...
|
||||
```
|
||||
|
||||
## Сбой аутентификации (2026-06-02)
|
||||
Применить конфиг:
|
||||
```bash
|
||||
omv-salt deploy run samba
|
||||
```
|
||||
|
||||
Симптом: 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
|
||||
@@ -54,6 +36,18 @@ ls /tmp/tm-test # должен показать mbp-black.sparsebundle
|
||||
umount /tmp/tm-test
|
||||
```
|
||||
|
||||
## Перевыбрать destination на Mac
|
||||
|
||||
```bash
|
||||
sudo tmutil setdestination -p smb://timemachine@kraken/TimeMachine
|
||||
```
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[family/how-to/wireguard-vpn|WireGuard VPN]] — туннель для бэкапа вне дома
|
||||
|
||||
## History
|
||||
|
||||
- **До 2026-06-02**: использовался Docker-контейнер `mbentley/timemachine:smb`.
|
||||
Контейнер снесён, Samba перенесена на хост OMV из-за проблем с persisting паролей
|
||||
(tdbsam не сохранялся, `ntlm auth = no` ломал backupd при reconnect).
|
||||
|
||||
Reference in New Issue
Block a user