diff --git a/family/how-to/time-machine.md b/family/how-to/time-machine.md index 016ba8f6..73379425 100644 --- a/family/how-to/time-machine.md +++ b/family/how-to/time-machine.md @@ -40,6 +40,69 @@ ls /tmp/tm-test # должен показать mbp-black.sparsebundle umount /tmp/tm-test ``` +## Диагностика: почему бэкап не завершается + +### Просмотр логов backupd + +backupd пишет логи в subsystem `com.apple.TimeMachine`. Ключевые команды: + +```bash +# Все ошибки за последние 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" +``` + +### Текущий статус + +```bash +tmutil status +# BackupPhase может быть: +# - MountingDiskImage — монтирует sparsebundle (может висеть, если бандл повреждён) +# - PreparingSourceVolumes — собирает список изменений (файлы eventDB) +# - Copying — копирует файлы +# - ThinningPostCopy — удаляет старые бэкапы +``` + +### Известные причины сбоев + +1. **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 штуки. + +2. **BACKUP_FAILED_NO_SPACE_FOR_LOCAL_SNAPSHOT (50)** + - Не хватает места на локальном диске Mac (`/System/Volumes/Data`) для локального снапшота. + - Лечится: освободить место на локальном SSD, или удалить старые локальные снапшоты: + ```bash + tmutil deletelocalsnapshots / + ``` + +3. **macOS Tahoe 26 (26.5.1) — SMB signing/encryption** + - Начиная с macOS 26 (Tahoe), Apple ужесточила требования к SMB signing. + - OMV Samba может не справляться, особенно через WireGuard. + - Если бэкап постоянно срывается с DISCONNECTED, попробовать: + ```bash + 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](https://gist.github.com/Zahorone/6915be6f5088edb2f64018ce9e4dfe97) + +### ~43 .interrupted папок — не причина, а следствие* + +backupd выводит `Expected SnapshotInProgressContainer metadata type but found APFSBackup` для каждой прерванной сессии. Это не ошибка — он корректно обрабатывает interrupted-папки и пытается их "апгрейднуть". Проблема не в них, а в том что бэкап постоянно прерывается по DISCONNECTED. + ## Перевыбрать destination на Mac ```bash @@ -68,7 +131,14 @@ smbutil view //timemachine@kraken - **До 2026-06-02**: использовался Docker-контейнер `mbentley/timemachine:smb`. Контейнер снесён, Samba перенесена на хост OMV из-за проблем с persisting паролей (tdbsam не сохранялся, `ntlm auth = no` ломал backupd при reconnect). -- **2026-06-24**: проверена доступность smbd и бандла. +- **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 вне дома, IP `10.120.1.143`, Kraken резолвится в WG `10.99.1.2`). `mount_smbfs` и `smbutil` выдают `Authentication error`.