Snapper – zarządzanie migawkami w openSUSE

Snapper jest doskonałym narzędziem do zarządzania migawkami (snapshots) jeśli tylko używamy systemu plików btrfs i mamy odpowiednio skonfigurowane środowisko.

Snapper jest dostępny dla wszystkich na standardowych warunkach otwartego oprogramowania, jednakże najlepszej integracji doczekamy się w openSUSE, w którym począwszy od wersji 13.1 btrfs jest rekomendowany w domyślnej instalacji.

W przypadku openSUSE’a jeśli zdecydujemy się na użycie brtfsa, migawki zostaną tak skonfigurowane, że oprócz standardowego tworzenia ich co jakiś czas, będą one również tworzone za każdym razem przed i po użyciu zypper’a i Yast’a w trybie zapisu. Innymi słowy, jeśli zmienimy konfigurację w jakikolwiek sposób będziemy mogli łatwo wszystko odwrócić i to nawet klikając przez GUI 😉

Należy pamiętać aby partycje/wolumeny pod btrfs były odpowiednio duże gdyż migawki są właśnie na nich przechowywane. Pierwsza migawka nic nie „waży”, a to dlatego, że mechanizm polega na przechowywaniu zmian w blokach. Im więcej zmian tym więcej danych jest przechowywanych.

Stwórzmy przykładową konfigurację.

Utworzyłem mały system plików jako btrfs i zamontowałem w /mnt/Dane

zrzut ekranu24(2)

Następnie utworzyłem podstawową konfigurację do tworzenia automatycznych migawek i nawałem ją: Dane

snapper -c Dane create-config /mnt/Dane

(później jeśli chcemy odwoływać się do tej konfiguracji to musimy podać jej nazwę: snapper -c Dane …, w innym przypadku snapper będzie chciał się dobrać się do konfiguracji root’a)

zrzut ekranu25(2)

Utworzyłem kilka migawek, zarządzać nimi oraz oglądać ich zawartość można korzystając ze Snapper’a, którego znajdziemy w Yast’cie (lub przez komendę snapper)

zrzut ekranu26(2)

Pomiędzy każda migawką wpisywałem nowe linie do wcześniej utworzonego pliku:

Pierwszy wpis
Drugi wpis
Trzeci wpis

Czwarta migawka powstała po dodaniu do pliku: „Trzeci wpis”. Snapper umożliwia podglądanie historii zmian i powrót do wybranej wersji pliku. Ot taki wehikuł czasu.

zrzut ekranu27(1)
Przywracamy stan z trzeciej migawki. Zaznaczamy migawkę (lub poszczególne pliki) i klikamy na przycisk Odtwórz.

zrzut ekranu28(1)

zrzut ekranu29(1)Plik został przywrócony, a my powinniśmy mieć stan z migawki trzeciej, czyli z dwoma wpisami.

zrzut ekranu30(1)

Kilka uwag na koniec:

zalecam poczytanie dokumentacji, zwłaszcza tej od SLESa:

https://www.suse.com/documentation/sles11/book_sle_admin/data/cha_snapper.html

https://en.opensuse.org/openSUSE:Snapper_Tutorial

– należy dostosować ustawienia czas automatycznego usuwania migawek

/etc/snapper/configs/nazwakonfiguracji np: /etc/snapper/configs/Dane

Domyślne wartości są trochę przesadzone, przynajmniej dla zwykłego użytkownika. Migawki tworzone są co godzinę + przed/po zmianach yast’em i zypperem. Warto ustawić usuwanie np wg poniższych wartości:

TIMELINE_LIMIT_HOURLY=”7″
TIMELINE_LIMIT_DAILY=”7″
TIMELINE_LIMIT_MONTHLY=”0″
TIMELINE_LIMIT_YEARLY=”0″

System będzie trzymał jedynie 7 godzinnych migawek z 7 dni.

– usunięcie pliku nie powoduje zwolnienia miejsca na dysku, gdyż zapewne siedzi on jeszcze w migawkach tak więć ‚df -h’ nie pokaże prawdy. Należy użyć komendy:

btrfs filesystem df /mnt/Dane

– w przypadku partycji root, migawki nie śledzą niektórych systemowych katalogów (co jest logiczne)

/opt
/srv
/tmp
/var/crash
/var/log
/var/run
/var/spool
/var/tmp

2 komentarze

    • Anonimowy, 18 stycznia 2015, 20:12

    Odpowiedz

    Czy da radę zainstalować kde 5 w OpenSuse 13.2 ? Jak tak można prosić o instrukcję ? 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.