Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

W standardowej instalacji SUSE Linux Enterprise Server (SLES) z katalogiem głównym Btrfs i włączonym Snapperem, najbezpieczniejszym sposobem odzyskiwania jest uruchomienie migawki utworzonej przed nieudaną aktualizacją, przetestowanie jej w trybie tylko do odczytu, a następnie uruchomienie sudo snapper rollback. Tworzy to nowy, zapisywalny katalog główny z przetestowanego stanu; nie powoduje to przewijania każdego dysku, podwoluminu ani bazy danych aplikacji.

Aktualne instrukcje administracyjne dotyczące systemu SLES 15 SP7 nadal korzystają z tego schematu uruchamiania i testowania. Przed jego zastosowaniem należy upewnić się, że komputer spełnia wymagania dotyczące układu przywracania systemu SUSE i zidentyfikować migawkę wstępną dla nieudanej transakcji Zypper lub YaST.

Czy wycofanie Snappera przywróci cały serwer?

Nie. Funkcja przywracania systemu z możliwością rozruchu dotyczy migawek w domyślnej rootkonfiguracji Snapper. Dokumenty SUSE obsługują domyślny układ podwoluminów głównych, z systemem plików Btrfs na jednym urządzeniu głównym i działającym, zainstalowanym programem ładującym. Przywracanie zmienia zawartość podwoluminu /; inne podwoluminy nie są uwzględniane. W typowych układach SLES ścieżki takie jak /var, /srv, /opt, /usr/locali często /homeznajdują się poza migawką. Baza danych lub usługa może zatem zachować dane zapisane po utworzeniu migawki, nawet gdy jej pakiety systemowe zostaną cofnięte.

Przed wykonaniem operacji przywracania należy wykonać lub zweryfikować osobną kopię zapasową ważnych danych aplikacji. Należy również unikać tej procedury, jeśli zmieniono domyślny układ podwoluminów Btrfs lub używany jest katalog główny obejmujący wiele urządzeń: udokumentowane wymagania dotyczące przywracania rozruchu w systemie SLES 15 SP7 nie obejmują tych konfiguracji. Przed kontynuowaniem należy zapoznać się z wymaganiami dotyczącymi odzyskiwania Snapper w systemie SUSE.

Która migawka została wykonana przed nieudaną aktualizacją?

Użyj konfiguracji Snappera dla głównego systemu plików i porównaj parę pre/post transakcji. W typowym systemie SLES z włączonymi migawkami głównymi Btrfs, Zypper i YaST tworzą migawki wokół operacji na pakietach. Migawka pre reprezentuje stan główny przed daną operacją; migawka post reprezentuje stan po jej uruchomieniu, w tym częściowo nieudaną transakcję.

  1. Sprawdź, czy konfiguracja główna istnieje sudo snapper list-configs. Poszukaj konfiguracji o nazwie root.
  2. Potwierdź typ głównego systemu plików za pomocą findmnt -no FSTYPE /. W przypadku tej procedury przywracania systemu rozruchowego powinien zostać wyświetlony komunikat btrfs. Następnie uruchom sudo btrfs filesystem show /i potwierdź raporty głównego systemu plików Total devices 1.
  3. Wypisz pary transakcji z sudo snapper -c root list -t pre-post. Dopasuj datę i opis do nieudanej aktualizacji. Zapisz numer w kolumnie Pre #, a nie sparowaną Post #.
  4. Sprawdź, co zmieniło się między parami. Zastąp PREi POSTliczbami wyświetlanymi na komputerze:
sudo snapper -c root status PRE..POST
sudo snapper -c root diff PRE..POST

Te polecenia wyświetlają zmienione ścieżki i różnice w plikach. Numery migawek, daty, opisy pakietów i dane wyjściowe różnią się w zależności od hosta; nie należy kopiować przykładowego numeru ze zrzutu ekranu. Jeśli nie pojawi się odpowiednia para, sprawdź, czy Snapper jest włączony i czy polityka czyszczenia usunęła już migawkę. Brakującej migawki nie można odtworzyć po fakcie.

Ilustrujący widok terminala przedstawiający główną listę przed/po aktualizacji Snapper, z parą transakcji Zypper ułatwiającą identyfikację migawki przed aktualizacją.
Ilustrujący widok terminala przedstawiający główną listę przed/po aktualizacji Snapper, z parą transakcji Zypper ułatwiającą identyfikację migawki przed aktualizacją.

Jak sprawdzić stary korzeń przed jego utrwaleniem?

Zrestartuj system i użyj wpisu migawki bootloadera. W systemie SLES wybierz Start Bootloader from a read-only snapshot, a następnie wybierz migawkę z datą bezpośrednio poprzedzającą nieudaną transakcję. Menu rozruchowe oznacza wpisy datą i opisem, który może obejmować zypp(zypper)operację YaST. Wybierz migawkę zarejestrowaną przed aktualizacją; nie wybieraj migawki po aktualizacji tylko dlatego, że jej opis jest łatwiejszy do rozpoznania.

Zaloguj się i przetestuj usługi lub aplikacje, które uległy awarii. Pliki główne migawki są tylko do odczytu podczas tego testu, więc samo uruchomienie nie zmienia domyślnego katalogu głównego. Jeśli migawka jest nieprawidłowa lub system nadal się zawiesza, zrestartuj system i spróbuj innej migawki lub skorzystaj z systemu ratunkowego. Nie wymuszaj wycofania tylko po to, aby wybór z menu był trwały.

Ilustrujące menu rozruchowe z udokumentowaną opcją migawki tylko do odczytu i wpisami opatrzonymi datą; należy wybrać wpis odpowiadający migawce sprzed aktualizacji.
Ilustrujące menu rozruchowe z udokumentowaną opcją migawki tylko do odczytu i wpisami opatrzonymi datą; należy wybrać wpis odpowiadający migawce sprzed aktualizacji.

Kiedy należy uruchomić snapper rollback?

Uruchom wycofanie dopiero po uruchomieniu starszej migawki i pozytywnym przejściu kontroli. Z tej migawki tylko do odczytu wykonaj:

sudo snapper rollback

Następnie uruchom ponownie i wybierz normalny domyślny wpis rozruchowy:

sudo reboot

Snapper zachowuje migawkę stanu systemu sprzed wycofania i tworzy nowy katalog główny do odczytu i zapisu na podstawie przetestowanej migawki. W udokumentowanym procesie rozruchu z migawki nie przekazuje się numeru starej migawki do tego polecenia. Rezultatem jest nowy domyślny katalog główny, a nie konwersja migawki tylko do odczytu z możliwością zapisu. Migawki można później usunąć za pomocą reguł czyszczenia, dlatego przed wykorzystaniem starszej migawki wycofania jako archiwum długoterminowego należy skopiować wszystkie potrzebne pliki.

Przykładowy widok terminala pokazujący dwa polecenia użyte po pomyślnym przejściu testów migawki tylko do odczytu: wycofanie migawki, a następnie ponowne uruchomienie.
Przykładowy widok terminala pokazujący dwa polecenia użyte po pomyślnym przejściu testów migawki tylko do odczytu: wycofanie migawki, a następnie ponowne uruchomienie.

Co należy sprawdzić po ponownym uruchomieniu?

Uruchom domyślny wpis i sprawdź faktyczne odzyskiwanie, a nie tylko zakończenie polecenia. Potwierdź oczekiwany stan jądra i pakietu, przejrzyj status i logi niedziałającej usługi oraz przeprowadź proste sprawdzenie na poziomie aplikacji. Następnie sprawdź nowy stan Snappera:

sudo snapper -c root list

W przypadku zwykłej aktualizacji pakietu zazwyczaj wystarcza to do potwierdzenia, że ​​komputer uruchamia się z nowego katalogu głównego. Jeśli nieudana operacja dotyczyła migracji Service Packa , należy również wykonać czynności kontrolne po wycofaniu systemu SUSE: odświeżyć i sprawdzić repozytoria, a następnie sprawdzić rejestrację:

sudo zypper ref -fs
sudo zypper lr
sudo SUSEConnect --status

Repozytoria powinny być zgodne z pakietem Service Pack, do którego został przywrócony, a zainstalowane produkty powinny być zarejestrowane. Jeśli rejestracja nie zostanie przywrócona, procedura przywracania pakietu Service Pack w systemie SUSE SLES 15 SP7 opisuje sudo SUSEConnect --rollbackkrok naprawczy. To polecenie rejestracji jest specyficzne dla odzyskiwania po migracji; nie należy go uruchamiać w celu rutynowej aktualizacji pakietów.

Ilustratywny widok terminala przedstawiający sprawdzanie stanu Snappera, włączonych repozytoriów i rejestracji produktu SUSE po wycofaniu zmian.
Ilustratywny widok terminala przedstawiający sprawdzanie stanu Snappera, włączonych repozytoriów i rejestracji produktu SUSE po wycofaniu zmian.

Jeśli ten host korzysta z transactional-updatesystemu SLE Micro (na przykład transakcyjnego), należy postępować zgodnie z procedurą tego produktu zamiast stosować klasyczną sekwencję poleceń SLES. Jego dokumentacja służy do wybierania migawki z działającego systemu oraz do oddzielnego procesu tworzenia migawki tylko do odczytu w przypadku uszkodzenia bieżącego katalogu głównego. Zobacz instrukcje dotyczące wycofywania aktualizacji transakcyjnychsudo transactional-update rollback SNAPSHOT_NUMBER w systemie SUSE .

Zostaw komentarz

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Określ, czy system Btrfs jest celowo przeznaczony tylko do odczytu, ma mało miejsca lub chroni dane po błędach, a następnie wybierz ścieżkę odzyskiwania odpowiadającą danej przyczynie.

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Przygotuj kanały lustrzane, utwórz klucz aktywacyjny i uruchom klienta SLES 15 bez bezpośredniego dostępu do Internetu, zachowując połączenie niezbędne do meldowania się menedżera.

Uruchomienie przekierowania X11 w YaST przez SSH

Uruchomienie przekierowania X11 w YaST przez SSH

Naprawiono błąd uruchamiania XIO w YaST przez SSH, zweryfikowano przekazywanie X11 i xauth oraz przełączono na interfejs ncurses, gdy zdalne okno nie jest potrzebne.

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Znajdź migawkę Btrfs sprzed aktualizacji, przetestuj ją w trybie tylko do odczytu i wykonaj trwałe odzyskiwanie za pomocą Snapper, pamiętając o tym, które dane pozostają poza wycofaniem do katalogu głównego.

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Wysyłaj logi systemu SLES do zdalnego kolektora rsyslog za pośrednictwem uwierzytelnionego protokołu TLS, z kontrolą certyfikatów, buforowaniem przerw i testami dostarczania.

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Użyj pamięci RAM, wymiany, jądra i dzienników Zypper, aby zidentyfikować rzeczywiste obciążenie pamięci, chronić stan pakietu i wybrać bezpieczniejszą ponowną próbę aktualizacji SLES.

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Włącz automatyczne aktualizacje zabezpieczeń Debiana przez SSH, zachowaj domyślne źródła pakietów i zweryfikuj zaplanowane uruchomienia za pomocą dzienników systemd i APT.

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Porównaj opcje dostarczania poczty, skonfiguruj smartd w systemie Ubuntu i sprawdź, czy ostrzeżenia dotyczące stanu dysku docierają do Twojej skrzynki odbiorczej.

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Przywróć wyszukiwania DNS w systemie Debian 12, sprawdzając systemd-resolved, naprawiając w razie potrzeby resolv.conf oraz weryfikując rozdzielczość DNS i aplikacji.

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Spraw, aby Ubuntu wykrył monitor lub telewizor jako wyjście audio, wybierz je w ustawieniach dźwięku i sprawdź połączenie lub listę urządzeń PipeWire, jeśli brakuje złącza HDMI.