Sicheres Zurücksetzen eines fehlgeschlagenen SLES-Updates mit Snapper

Bei einer Standardinstallation von SUSE Linux Enterprise Server (SLES) mit Btrfs-Root-Verzeichnis und aktiviertem Snapper ist die sicherste Wiederherstellung, einen vor dem fehlgeschlagenen Update erstellten Snapshot zu starten, ihn im schreibgeschützten Zustand zu testen und anschließend den Befehl `snapshot --reset` auszuführen sudo snapper rollback. Dadurch wird ein neues beschreibbares Root-Verzeichnis aus dem getesteten Zustand erstellt; dabei werden weder alle Festplatten, Subvolumes noch Anwendungsdatenbanken zurückgesetzt.

Die aktuelle Administrationsanleitung für SLES 15 SP7 verwendet weiterhin diesen Boot- und Test-Workflow. Bevor Sie diesen befolgen, vergewissern Sie sich, dass das System die von SUSE unterstützte Rollback-Konfiguration erfüllt und ermitteln Sie den Pre- Snapshot für die fehlgeschlagene Zypper- oder YaST-Transaktion.

Wird durch ein Snapper-Rollback der gesamte Server wiederhergestellt?

Nein. Ein Rollback des bootfähigen Systems gilt für Snapshots in der Standard-Snapper- rootKonfiguration. SUSE dokumentiert die Unterstützung für die standardmäßige Root-Subvolume-Anordnung mit Btrfs auf einem einzelnen Root-Gerät und einem funktionierenden installierten Bootloader. Der Rollback ändert den Inhalt des Subvolumes `/root` /; andere Subvolumes sind nicht betroffen. Bei typischen SLES-Layouts liegen Pfade wie /var` /root`, /srv` /opt/root` /usr/local, `/root` und `/root` oft /homeaußerhalb des Snapshots. Eine Datenbank oder ein Dienst kann daher Daten beibehalten, die nach dem Snapshot geschrieben wurden, selbst wenn die zugehörigen Systempakete auf den vorherigen Stand zurückgesetzt werden.

Erstellen oder überprüfen Sie eine separate Sicherung wichtiger Anwendungsdaten, bevor Sie ein Rollback durchführen. Vermeiden Sie dieses Verfahren außerdem, wenn Sie das Standard-Btrfs-Subvolume-Layout geändert oder ein Root-Verzeichnis mit mehreren Geräten verwendet haben: Die dokumentierten Anforderungen für ein bootfähiges Rollback unter SLES 15 SP7 decken diese Konfigurationen nicht ab. Lesen Sie die Snapper-Wiederherstellungsanforderungen von SUSE, bevor Sie fortfahren.

Welcher Snapshot wurde vor dem fehlgeschlagenen Update erstellt?

Verwenden Sie die Snapper-Konfiguration für das Root-Dateisystem und vergleichen Sie die Vorher- und Nachher-Snapshots der Transaktion. Auf einem typischen SLES-System mit aktivierten Btrfs-Root-Snapshots erstellen Zypper und YaST Snapshots um Paketoperationen herum. Der Vorher-Snapshot repräsentiert den Zustand des Root-Dateisystems vor dieser Operation; der Nachher-Snapshot repräsentiert den Zustand nach deren Ausführung, einschließlich einer teilweise fehlgeschlagenen Transaktion.

  1. Prüfen Sie, ob die Root-Konfiguration existiert sudo snapper list-configs. Suchen Sie nach einer Konfiguration mit dem Namen root.
  2. Bestätigen Sie den Root-Dateisystemtyp mit findmnt -no FSTYPE /. Für dieses bootfähige Rollback-Verfahren sollte die Meldung erscheinen btrfs. Führen Sie anschließend aus sudo btrfs filesystem show /und bestätigen Sie, dass das Root-Dateisystem die Meldung meldet Total devices 1.
  3. Listen Sie die Transaktionspaare auf sudo snapper -c root list -t pre-post. Ordnen Sie Datum und Beschreibung der fehlgeschlagenen Aktualisierung zu. Notieren Sie die Nummer in der Pre #Spalte, nicht die zugehörige Transaktion Post #.
  4. Prüfen Sie, welche Änderungen sich zwischen den beiden Werten ergeben haben. Ersetzen Sie PREund POSTdurch die auf Ihrem Gerät angezeigten Zahlen:
sudo snapper -c root status PRE..POST
sudo snapper -c root diff PRE..POST

Diese Befehle listen geänderte Pfade und Dateiunterschiede auf. Snapshot-Nummern, Datumsangaben, Paketbeschreibungen und die Ausgabe variieren je nach Host; kopieren Sie keine Beispielnummer aus einem Screenshot. Falls kein passendes Paar angezeigt wird, prüfen Sie, ob Snapper aktiviert ist und ob eine Bereinigungsrichtlinie den Snapshot bereits entfernt hat. Ein fehlender Snapshot kann von Snapper nachträglich nicht wiederhergestellt werden.

Illustrative Terminalansicht der Snapper-Vorher-/Nachher-Liste des Stammverzeichnisses, mit einem Zypper-Transaktionspaar zur Identifizierung des Snapshots vor dem Update.
Illustrative Terminalansicht der Snapper-Vorher-/Nachher-Liste des Stammverzeichnisses, mit einem Zypper-Transaktionspaar zur Identifizierung des Snapshots vor dem Update.

Wie testet man die alte Root-Version, bevor man sie endgültig festlegt?

Starten Sie den Computer neu und verwenden Sie den Snapshot-Eintrag des Bootloaders. Wählen Sie unter SLES die Option „Bootmenü“ Start Bootloader from a read-only snapshotund anschließend den Snapshot, der unmittelbar vor der fehlgeschlagenen Transaktion datiert ist. Die Einträge im Bootmenü sind mit Datum und Beschreibung gekennzeichnet, die beispielsweise zypp(zypper)„YaST-Operation“ oder „Update“ enthalten können. Wählen Sie den Snapshot vor dem Update, den Sie aufgezeichnet haben; wählen Sie nicht den Snapshot nach dem Update, nur weil dessen Beschreibung leichter verständlich ist.

Melden Sie sich an und testen Sie die Dienste oder Anwendungen, die nicht funktioniert haben. Die Stammdateien des Snapshots sind während dieses Tests schreibgeschützt, daher ändert dieser Neustart allein das Standard-Stammverzeichnis nicht. Falls es sich um den falschen Snapshot handelt oder das System weiterhin nicht funktioniert, starten Sie es neu und versuchen Sie es mit einem anderen Snapshot oder verwenden Sie das Rettungssystem. Erzwingen Sie kein Rollback, nur um die Menüauswahl dauerhaft zu speichern.

Beispielhaftes Startmenü mit der dokumentierten Option für schreibgeschützte Snapshots und datierten Einträgen; wählen Sie den Eintrag aus, der dem Snapshot vor dem Update entspricht.
Beispielhaftes Startmenü mit der dokumentierten Option für schreibgeschützte Snapshots und datierten Einträgen; wählen Sie den Eintrag aus, der dem Snapshot vor dem Update entspricht.

Wann sollte man Snapper Rollback ausführen?

Führen Sie das Rollback erst durch, nachdem der ältere Snapshot gestartet wurde und Ihre Prüfungen bestanden hat. Führen Sie anschließend von diesem schreibgeschützten Snapshot aus Folgendes aus:

sudo snapper rollback

Starten Sie das System anschließend neu und wählen Sie den normalen Standard-Starteintrag aus:

sudo reboot

Snapper speichert einen Snapshot des Systemzustands vor dem Rollback und erstellt basierend auf diesem Snapshot ein neues, beschreibbares Root-Verzeichnis. Im dokumentierten Workflow zum Booten von einem Snapshot wird die alte Snapshot-Nummer nicht an diesen Befehl übergeben. Das Ergebnis ist ein neues Standard-Root-Verzeichnis, keine beschreibbare Konvertierung des schreibgeschützten Snapshots selbst. Snapshots können später durch Bereinigungsregeln entfernt werden. Kopieren Sie daher alle benötigten Dateien, bevor Sie einen älteren Rollback-Snapshot als Langzeitarchiv verwenden.

Beispielhafte Terminalansicht mit den beiden Befehlen, die nach dem erfolgreichen Test des schreibgeschützten Snapshots verwendet werden: snapper rollback, dann reboot.
Beispielhafte Terminalansicht mit den beiden Befehlen, die nach dem erfolgreichen Test des schreibgeschützten Snapshots verwendet werden: snapper rollback, dann reboot.

Was sollten Sie nach dem Neustart überprüfen?

Starten Sie den Standardeintrag und überprüfen Sie die tatsächliche Wiederherstellung, nicht nur die Ausführung des Befehls. Bestätigen Sie den erwarteten Kernel- und Paketstatus, überprüfen Sie den Status und die Protokolle des ausgefallenen Dienstes und führen Sie eine kleine Anwendungsprüfung durch. Überprüfen Sie anschließend den neuen Status von Snapper.

sudo snapper -c root list

Bei einem normalen Paketupdate genügt es in der Regel, zu bestätigen, dass der Rechner vom neuen Stammverzeichnis bootet. Falls es sich bei dem fehlgeschlagenen Vorgang um eine Service-Pack-Migration handelte , führen Sie zusätzlich die SUSE-Prüfungen nach dem Rollback durch: Aktualisieren und überprüfen Sie die Paketquellen und anschließend die Registrierung.

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

Die Paketquellen sollten mit dem Service Pack übereinstimmen, zu dem Sie zurückgekehrt sind, und die installierten Produkte sollten registriert sein. Falls die Registrierung nicht wiederhergestellt wird, beschreibt die Rollback-Prozedur für das Service Pack von SUSE SLES 15 SP7sudo SUSEConnect --rollback den Reparaturschritt. Dieser Registrierungsbefehl ist speziell für die Wiederherstellung nach einer Migration vorgesehen; verwenden Sie ihn nicht für ein reguläres Paketupdate.

Beispielhafte Terminalansicht der Prüfungen nach dem Rollback bezüglich des Snapper-Status, der aktivierten Repositories und der SUSE-Produktregistrierung.
Beispielhafte Terminalansicht der Prüfungen nach dem Rollback bezüglich des Snapper-Status, der aktivierten Repositories und der SUSE-Produktregistrierung.

Wenn dieser Host transactional-updatebeispielsweise ein transaktionales SLE Micro-System verwendet, befolgen Sie die Vorgehensweise dieses Produkts anstelle der klassischen SLES-Befehlssequenz. Die zugehörige Dokumentation beschreibt sudo transactional-update rollback SNAPSHOT_NUMBERdie Auswahl eines Snapshots aus dem laufenden System und einen separaten Workflow für einen Boot-Read-Only-Snapshot, falls das aktuelle Root-Verzeichnis beschädigt ist. Beachten Sie die Anweisungen zum Rollback von Transaktionsupdates in SUSE .

Einen Kommentar hinterlassen

Wenn SLES Btrfs schreibgeschützt wird: Diagnose vor dem erneuten Mounten

Wenn SLES Btrfs schreibgeschützt wird: Diagnose vor dem erneuten Mounten

Ermitteln Sie, ob Btrfs absichtlich schreibgeschützt ist, wenig Speicherplatz bietet oder Daten nach Fehlern schützt, und wählen Sie dann einen Wiederherstellungspfad, der zur Ursache passt.

Registrieren Sie SLES 15 mit SUSE Manager in einem Offline-Netzwerk

Registrieren Sie SLES 15 mit SUSE Manager in einem Offline-Netzwerk

Bereiten Sie gespiegelte Kanäle vor, erstellen Sie einen Aktivierungsschlüssel und starten Sie einen SLES 15-Client ohne direkten Internetzugang, während Sie die für Manager-Check-ins benötigte Verbindung aufrechterhalten.

YaSTs X11-Weiterleitung über SSH zum Laufen bringen

YaSTs X11-Weiterleitung über SSH zum Laufen bringen

Behebt den XIO-Startfehler von YaST über SSH, überprüft die X11-Weiterleitung und xauth und wechselt zur ncurses-Oberfläche, wenn ein Remote-Fenster nicht benötigt wird.

Sicheres Zurücksetzen eines fehlgeschlagenen SLES-Updates mit Snapper

Sicheres Zurücksetzen eines fehlgeschlagenen SLES-Updates mit Snapper

Suchen Sie den Btrfs-Snapshot vor dem Update, testen Sie ihn im Nur-Lese-Modus und machen Sie die Wiederherstellung mit Snapper dauerhaft, während Sie gleichzeitig verstehen, welche Daten außerhalb des Root-Rollbacks bleiben.

Sichere SLES-Syslog-Weiterleitung mit rsyslog und Mutual TLS

Sichere SLES-Syslog-Weiterleitung mit rsyslog und Mutual TLS

Senden Sie SLES-Systemprotokolle über authentifiziertes TLS an einen entfernten rsyslog-Collector, inklusive Zertifikatsprüfungen, Ausfallpufferung und Zustellungstests.

SLES-Upgrade-Speicherfehler vor dem erneuten Versuch verfolgen

SLES-Upgrade-Speicherfehler vor dem erneuten Versuch verfolgen

Nutzen Sie RAM-, Swap-, Kernel- und Zypper-Protokolle, um den tatsächlichen Speicherdruck zu ermitteln, den Paketstatus zu schützen und einen sichereren SLES-Upgrade-Wiederholungsversuch auszuwählen.

Debian 12-Sicherheitsupdates auf einem Server ohne grafische Oberfläche ausführen

Debian 12-Sicherheitsupdates auf einem Server ohne grafische Oberfläche ausführen

Aktivieren Sie die unbeaufsichtigten Sicherheitsupdates von Debian über SSH, behalten Sie die Standardpaketquellen bei und überprüfen Sie geplante Ausführungen anhand der Systemd- und APT-Protokolle.

Ubuntu SMART-Festplattenwarnungen per E-Mail erhalten mit smartd

Ubuntu SMART-Festplattenwarnungen per E-Mail erhalten mit smartd

Vergleichen Sie die E-Mail-Zustellungsoptionen, konfigurieren Sie smartd unter Ubuntu und überprüfen Sie, ob Warnungen zum Festplattenzustand in Ihrem Posteingang ankommen.

Debian 12 DNS-Lookup-Fehler beheben: systemd-resolved reparieren

Debian 12 DNS-Lookup-Fehler beheben: systemd-resolved reparieren

Die DNS-Auflösung unter Debian 12 lässt sich wiederherstellen, indem man systemd-resolved überprüft, gegebenenfalls resolv.conf repariert und die Upstream-DNS- und Anwendungsauflösung verifiziert.

Ubuntu 24.04 zeigt keinen HDMI-Ton an? Stellen Sie die Ausgabe wieder her.

Ubuntu 24.04 zeigt keinen HDMI-Ton an? Stellen Sie die Ausgabe wieder her.

Lassen Sie Ubuntu Ihren Monitor oder Fernseher als Audioausgang erkennen, wählen Sie ihn in den Soundeinstellungen aus und überprüfen Sie die Verbindung oder die PipeWire-Geräteliste, falls HDMI fehlt.