Aby uniknąć długich przerw w wykonywaniu kopii zapasowych Borg, uruchamiaj czyszczenie zasad przechowywania po pomyślnym wykonaniu kopii, ale kompaktowanie repozytorium planuj rzadziej i poza głównym oknem tworzenia kopii. Borg 1.4 oddziela usuwanie archiwów od fizycznego odzyskiwania miejsca, dlatego nie ma potrzeby uruchamiania borg compact po każdym borg prune.
Ten poradnik dotyczy aktualnego modelu poleceń Borg 1.4.x stable. Borg 2 zmienia semantykę repozytoriów i archiwów w kilku obszarach, dlatego przed skopiowaniem automatyzacji z innej głównej wersji sprawdź zainstalowaną wersję.
Potwierdź wersję Borg i repozytorium
borg --version
borg info /mnt/backup/borg-repo
borg list /mnt/backup/borg-repo
W FAQ Borg zaznaczono, że Borg używa blokady obejmującej całe repozytorium i tylko jeden proces może mieć dostęp zapisu w danym momencie. Jeśli długotrwałe kompaktowanie koliduje z kolejną zaplanowaną kopią zapasową, wykonanie kopii czeka na zwolnienie blokady lub kończy się niepowodzeniem po przekroczeniu limitu czasu oczekiwania na blokadę.
Najpierw zdefiniuj zasady przechowywania za pomocą testowego uruchomienia
borg prune usuwa historię archiwów. Dokumentacja Borg dotyczącą polecenia prune zdecydowanie zaleca testowanie za pomocą opcji --dry-run i --list.
borg prune --dry-run --list --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' /mnt/backup/borg-repo
Jeśli jedno repozytorium zawiera kopie zapasowe z wielu maszyn lub zbiorów danych, filtr archiwów jest niezbędny. Bez restrykcyjnego filtra Borg 1.4 uznaje wszystkie archiwa w repozytorium za kandydatów do zastosowania tych samych reguł przechowywania.
Uruchamiaj prune tylko po pomyślnym wykonaniu kopii zapasowej
#!/bin/sh
set -eu
REPO=/mnt/backup/borg-repo
ARCHIVE='{hostname}-{now:%Y-%m-%d_%H-%M}'
borg create --stats "$REPO::$ARCHIVE" /srv/data
borg prune --list --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' "$REPO"
Nie wykonuj prune tylko dlatego, że uruchomił się harmonogram; wykonuj prune, ponieważ nowa kopia zapasowa została pomyślnie ukończona, a zasady przechowywania zostały już zweryfikowane.
Zrozum, dlaczego Prune nie zwalnia miejsca natychmiast
Od wersji Borg 1.2 kompaktowanie jest oddzielone od zwykłych poleceń zapisujących dane w repozytorium. osobne uwagi dotyczące kompaktowania w Borg wyjaśniają, że usunięcie lub przycięcie archiwów nie powoduje natychmiastowego odzyskania całego miejsca na dysku repozytorium.
borg create
|
nowe archiwum zatwierdzone
|
borg prune
|
stare archiwa usunięte z puli przechowywania
|
borg compact
|
odzyskane miejsce w niewykorzystanych segmentach
Jest to przydatne przy planowaniu, ponieważ codzienne kopie zapasowe nie muszą ponosić pełnego kosztu przepisywania częściowo wykorzystanych segmentów repozytorium.
Uruchamiaj Compact rzadziej niż Prune
- backup: każdej nocy;
- prune: po każdej pomyślnie wykonanej kopii zapasowej lub kilka razy w tygodniu;
- compact: raz w tygodniu, w spokojnym okresie;
- pełne sprawdzanie repozytorium: według osobnego, rzadszego harmonogramu.
# Codzienna kopia zapasowa + prune
0 1 * * * /usr/local/sbin/borg-backup
# Cotygodniowe compact
0 4 * * 0 /usr/local/sbin/borg-compact
Jeśli kopie zapasowe często trwają kilka godzin, zaplanuj compact w większych odstępach lub użyj czasomierza z jawnymi zależnościami.
Użyj domyślnego progu compact przed wymuszeniem maksymalnej liczby przepisań
Aktualna dokumentacja polecenia compact domyślnie używa progu 10%.
borg compact --progress /mnt/backup/borg-repo
To dobry punkt wyjścia, gdy priorytetem jest krótki czas konserwacji. Unikaj automatycznego używania --threshold 0; przepisuje dane za każdym razem, gdy można odzyskać choć trochę miejsca, i może działać znacznie wolniej w dużym repozytorium.
Chroń konserwację przed kolizją z następną kopią zapasową
Jeśli zadanie może zgodnie z prawem poczekać na inny proces Borg, ustaw ograniczony czas oczekiwania na blokadę:
borg --lock-wait 1800 create /mnt/backup/borg-repo::'{hostname}-{now}' /srv/data
Nie używaj bardzo długiego czasu oczekiwania na blokadę jako substytutu dobrego harmonogramu. Monitoruj, kiedy kopia zapasowa faktycznie się rozpoczyna i kończy.
Jeśli kilka klientów współdzieli jedno repozytorium, rozłóż ich harmonogramy w czasie. FAQ Borga wskazuje, że wiele repozytoriów może zmniejszyć rywalizację o blokadę, gdy deduplikacja między klientami nie jest istotna.
Używaj szybkich statystyk, gdy raportowanie spowalnia prune
Dodano w Borg 1.4.5 --quick-stats aby tworzyć, usuwać i przycinać archiwa, unikając wolniejszych statystyk obejmujących całe repozytorium, gdy nie są potrzebne.
borg prune --quick-stats --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' /mnt/backup/borg-repo
Zachowaj wolne miejsce, zanim będzie potrzebne compact
Nie czekaj, aż system plików repozytorium całkowicie zapełni się i zabraknie wolnego miejsca. Borg nie może niezawodnie wykonywać standardowych operacji zapisu w repozytorium na całkowicie pełnym systemie plików.
df -h /mnt/backup
borg info /mnt/backup/borg-repo
W szerszym planie tworzenia kopii zapasowych NAS przewodnik ZimaOS tworzenia kopii zapasowych w schemacie 3-2-1 przypomina, że retencja repozytorium to tylko jedna warstwa projektu kopii zapasowych.
Zweryfikuj harmonogram, zanim mu zaufasz
- Czy każda kopia zapasowa utworzyła nowe archiwum?
- Czy prune uruchamiało się tylko po pomyślnym wykonaniu kopii zapasowych?
- Czy zestaw retencji odpowiadał planowi z uruchomienia próbnego?
- Czy cotygodniowe compact zakończyło się przed kolejną kopią zapasową?
- Czy po compact zwiększyła się ilość wolnego miejsca?
- Czy którekolwiek zadanie spędziło niespodziewanie dużo czasu, czekając na blokadę Borg?
Jeśli compact wielokrotnie nakłada się na kolejną kopię zapasową, zmniejsz częstotliwość kompaktowania, zachowaj domyślny próg, przenieś compact na spokojniejsze okno czasowe albo podziel niezależne obciążenia na osobne repozytoria.
Wzorzec konserwacji Borg z minimalnymi przerwami
CODZIENNIE
01:00 borg create
|
+-- powodzenie --> borg prune
|
+-- niepowodzenie --> zachowaj stare archiwa, wyślij alert
CO TYDZIEŃ
04:00 borg compact
OKRESOWO
borg check
przywracanie wybranych plików
Podstawowa zasada jest prosta: prune chroni zasady retencji; compact odzyskuje miejsce; nie muszą być uruchamiane z taką samą częstotliwością.
Wsparcie i wskazówki
Więcej do przeczytania

Home Assistant działa przez Wi-Fi, ale nie działa przez Ethernet ani VPN
Przetestuj każdą ścieżkę sieciową osobno, sprawdź stan interfejsów i routingu, rozróżnij bezpośrednie połączenie z adresem IP od wykrywania, a następnie napraw tylko uszkodzoną warstwę.

Jak wycofać Home Assistant z użycia, nie pozostawiając niechronionych danych
Udowodnij wymianę lub archiwizację, unieważnij każdą ścieżkę zaufania, wyczyść każde urządzenie zawierające dane i zachowaj wyłącznie udokumentowane chronione kopie zapasowe.

Czy warto używać automatycznych aktualizacji Home Assistant na serwerze domowym?
Wybierz aktualizacje ręczne, tylko z powiadomieniem lub etapowe aktualizacje automatyczne, uwzględniając wpływ na gospodarstwo domowe, ryzyko niezgodności, czas obserwacji i gotowość do przywrócenia działania.

