1. Einleitung
Für das Release-Upgrade der Linux-Distribution auf einem Checkmk-Server gibt es verschiedene empfohlene Methoden. Welche davon für Sie die richtige ist, hängt von den Möglichkeiten Ihrer IT-Landschaft, dem Datenbestand der Checkmk-Installation und der angestrebten Ausfallzeit ab. Die unterschiedlichen Methoden mit Ihren jeweiligen Voraussetzungen stellen wir hier vor.
Im Wesentlichen ist das zum einen die Aktualisierung an Ort und Stelle – in der Archäologie oder Paläontologie wird die Arbeit am Fundort auf Lateinisch in situ genannt. Und zum anderen die Sicherung als Archiv, auf welche die Neuinstallation des Grundsystems und schließlich die Wiederherstellung eben jenen Archivs erfolgt – nicht unähnlich zur Arbeit im Labor ex situ. Englisch wird für die beiden Verfahren mitunter analog in-place oder out-of-place verwendet.
Auch Kombinationen der vorgestellten Methoden sind möglich, zum Beispiel, wenn Sie /opt/omd oder /opt/omd/sites auf einem eigenen Mount-Punkt abgelegt haben.
Das Release-Upgrade spielen wir hier exemplarisch anhand des Wechsels von Ubuntu 22.04 (Jammy) nach 24.04 (Noble) durch. Bei anderen Distributionen weichen die Befehle für Upgrade und Paketmanagement hiervon mehr oder weniger stark ab.
Unser Beispielsystem nutzt nur eine einzige Instanz. Falls Sie mehrere Instanzen auf dem zu aktualisierenden System betreiben (beispielsweise eine produktive und eine zum Testen), sind die instanzspezifischen Befehle für jede zu wiederholen.
Wenn Sie ein Release-Upgrade der Linux-Distribution mit einem Versions-Update von Checkmk kombinieren wollen oder müssen (zum Beispiel weil eine ältere Checkmk-Version nicht mehr für eine neuere Distributionsversion angeboten wird), bestimmen Sie anhand unserer Update-Matrix die geeignete Reihenfolge der durchzuführenden Schritte.
2. Hinweise zum Backup
Die Wichtigkeit einer Datensicherung ausreichenden Umfangs, welche auf Konsistenz geprüft ist, müssen wir IT-Profis nicht wirklich erklären. Im Idealfall – beispielsweise beim Betrieb von Checkmk in einer virtuellen Maschine – ist eine Vollsicherung leicht durch Kopieren von Festplatten-Images möglich.
Wir empfehlen mindestens:
Eine Sicherung mit den von Checkmk bereitgestellten Tools, entweder auf der Kommandozeile mit dem Befehl
omdoder im Setup erstellt. Dies kann vorbereitend im laufenden Betrieb erledigt werden.Eine Sicherung des Inhaltes von
/opt/omd/sitesmit Werkzeugen des Betriebssystems nach Stoppen der Instanz und Unmount des instanzspezifischen/tmpDateisystems. Dies kann im Zuge des Upgrades durchgeführt werden.
Bewahren Sie die Sicherung separat von der zu aktualisierenden Maschine auf und testen Sie das Backup vor den ersten Änderungen am Produktivsystem.
Falls Sie sich bei der Installation des Checkmk-Servers für ein Copy-on-Write-Dateisystem wie ZFS oder BTRFS entschieden haben, sollten Sie vor dem Upgrade Snapshots erstellen. Diese ersetzen kein separat gelagertes Backup, können aber bei Wiederherstellung des Ursprungszustandes nach einem fehlgeschlagenen Upgrade helfen, Ausfallzeiten erheblich zu reduzieren.
3. Upgrade an Ort und Stelle (in situ)
Diese Methode ist oft beim Einsatz von Checkmk auf dedizierter Hardware mit großen Datenbeständen sinnvoll, wo das Hinkopieren eines Archivs und das Herkopieren für dessen Wiederherstellung die Ausfallzeit deutlich erhöhen würde.
3.1. Vorbereitung
Die Vorbereitung besteht vor allem aus der Entfernung aller bereits jetzt nicht mehr benötigten Checkmk-Pakete. So vermeiden Sie beim eigentlichen Upgrade Probleme im Paketmanagement. Daneben sollten Sie bereits jetzt das richtige Checkmk-Installationspaket für die neue Distributionsversion herunterladen.
-
Verschaffen Sie sich zuerst einen Überblick über installierte Checkmk-Versionen…
-
…und dann darüber, welche davon tatsächlich im Einsatz sind:
Von diesen müssen Sie die Installationspakete für die neue Betriebssystemversion herunterladen. Wichtig: Die Edition und die Versionsnummer von Checkmk müssen exakt der bisher verwendeten entsprechen.
-
Deinstallieren Sie jetzt alle nicht benutzten Checkmk-Versionen. Im folgenden Befehl sorgt der Parameter
--purgedafür, auch alte Konfigurationsdateien zu tilgen.
3.2. Durchführung
Und nun zur heißen Phase, in welcher der Checkmk-Server nicht zur Verfügung steht.
-
Stoppen Sie Ihre Checkmk-Instanz:
-
Benennen Sie den Softlink um, welcher auf die verwendete Checkmk-Installation zeigt. Der folgende Befehl ändert ihn von
versionzu_version: -
Jetzt können Sie Checkmk deinstallieren. In diesem Fall behalten Sie vorhandene Konfigurationsdateien:
-
Führen Sie das Upgrade von Linux entsprechend der Anleitung des jeweiligen Distributors durch. Im Fall von Ubuntu wäre das:
Wird ein Neustart empfohlen, folgen Sie der Empfehlung, bevor Sie zum nächsten Schritt gehen.
-
Machen Sie die Umbenennung des Softlinks rückgängig, welcher auf die verwendete Checkmk-Installation zeigt. Der folgende Befehl ändert ihn wieder von
_versionzuversion: -
Installieren Sie nun das zur neuen Version der verwendeten Distribution passende Paket von Checkmk. Im Falle von Ubuntu genügt an dieser Stelle der folgende Befehl:
Halten Sie sich bei der Neuinstallation von Checkmk an die jeweilige detaillierte Installationsanleitung für Ihre jeweilige Distribution.
-
Starten Sie Ihre Checkmk-Instanz:
4. Archivierung, Neuinstallation und Wiederherstellung (ex situ)
Diese Methode bietet sich häufig beim Einsatz von Checkmk in virtualisierten Umgebungen an, wo es möglich ist, einen zweiten Server mit der neuen Distributionsversion vorbereitend "hochzuziehen" und mit diesem im Parallelbetrieb bereits erste Tests durchzuführen. Zudem ist die Flexibilität größer, weil auch ein Wechsel der Linux-Distribution möglich ist. Technisch entspricht das der Vorgehensweise in einem Schadensfall als Backup, Reinstall and Restore.
4.1. Vorbereitung
Wesentlicher Vorbereitungsschritt ist, das passende Checkmk-Installationspaket für die neue Distributionsversion herunterzuladen.
Verschaffen Sie sich einen Überblick über die von den Instanzen genutzten Checkmk-Versionen:
Von diesen müssen Sie die Installationspakete für die neue Betriebssystemversion herunterladen.
Wichtig: Die Edition und die Versionsnummer von Checkmk müssen exakt der bisher verwendeten entsprechen.
4.2. Durchführung
Die Schritte, welche hier seriell dargestellt werden, können Sie oft teilweise parallelisieren, was die Ausfallzeit minimieren hilft. So zum Beispiel bei Verwendung virtueller Maschinen oder wenn sowieso eine Hardware-Neuanschaffung ansteht.
-
Stoppen Sie Ihre Checkmk-Instanz – hier ist dieser Schritt nicht zwingend, aber aus Gründen der Konsistenz der Daten empfohlen:
-
Erstellen Sie ein Archiv (in anderen Kontexten Backup) der Instanz. Unser Beispiel verwendet als Ziel ein Netzwerk-Share, welches später auch auf der neuen Installation bereitstehen wird.
Bereiten Sie nun das Zielsystem vor und konfigurieren Sie dort die für Checkmk benötigte Software, beispielsweise das E-Mail-System. Verwenden Sie denselben Host-Namen und dieselbe IP-Adresse wie beim Ausgangssystem.
-
Installieren Sie die zuvor heruntergeladene Checkmk-Version, passend für die neue Distribution.
Im Falle von Ubuntu genügt an dieser Stelle der folgende Befehl:
-
Erstellen Sie eine neue Instanz mit demselben Namen wie die gesicherte Instanz:
-
Führen Sie nun als Instanzbenutzer die Wiederherstellung aus dem Archiv durch:
-
Starten Sie Ihre Checkmk-Instanz:
