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 20.04 (Focal) auf 22.04 (Jammy) 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
omd
oder im Setup erstellt. Dies kann vorbereitend im laufenden Betrieb erledigt werden.Eine Sicherung des Inhaltes von
/opt/omd/sites
mit Werkzeugen des Betriebssystems nach Stoppen der Instanz und Unmount des instanzspezifischen/tmp
Dateisystems. 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ötigter 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…
root@linux# omd versions 2.1.0p25.cre 2.2.0p1.cee 2.2.0p2.cee (default)
-
…und dann, welche davon tatsächlich im Einsatz sind:
root@linux# omd sites SITE VERSION COMMENTS mysite 2.2.0p2.cee default version
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
--purge
dafür, auch alte Konfigurationsdateien zu tilgen.root@linux# apt-get remove --purge -y check-mk-enterprise-2.2.0p1 Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: check-mk-enterprise-2.2.0p1* 0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. After this operation, 884 MB disk space will be freed. (Reading database ... 125980 files and directories currently installed.) Removing check-mk-enterprise-2.2.0p1 (0.focal) ... (Reading database ... 89444 files and directories currently installed.) Purging configuration files for check-mk-enterprise-2.2.0p1 (0.focal) ... Processing triggers for systemd (245.4-4ubuntu3.21) ...
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:
root@linux# omd stop mysite
-
Benennen Sie den Softlink um, welcher auf die verwendete Checkmk-Installation zeigt. Der folgende Befehl ändert ihn von
version
zu_version
:root@linux# mv -v /opt/omd/sites/mysite/{,_}version
-
Jetzt können Sie Checkmk deinstallieren. In diesem Fall behalten Sie vorhandene Konfigurationsdateien:
root@linux# apt-get remove -y check-mk-enterprise-2.2.0p2 Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: check-mk-enterprise-2.2.0p2* ...
-
Führen Sie das Upgrade von Linux entsprechend der Anleitung des jeweiligen Distributors durch. Im Fall von Ubuntu wäre das:
root@linux# do-release-upgrade
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
_version
zuversion
:root@linux# mv -v /opt/omd/sites/mysite/{_,}version
-
Installieren Sie nun das zur neuen Version der verwendeten Distribution passendes Paket von Checkmk. Im Falle von Ubuntu genügt an dieser Stelle der folgende Befehl:
root@linux# apt install /tmp/check-mk-enterprise-2.2.0p2_0.jammy_amd64.deb
Halten Sie sich bei der Neuinstallation von Checkmk an die jeweilige detaillierte Installationsanleitung für Ihre jeweilige Distribution.
-
Starten Sie Ihre Checkmk-Instanz:
root@linux# omd start mysite
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:
root@linux# omd sites
SITE VERSION COMMENTS
mysite 2.2.0p2.cee default version
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:
root@linux# omd stop mysite
-
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.
OMD[mysite]:~$ omd backup /mnt/someshare/mysite.tgz
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:
root@linux# apt install /tmp/check-mk-enterprise-2.2.0p2_0.jammy_amd64.deb
-
Erstellen Sie eine neue Instanz mit demselben Namen wie die gesicherte Instanz:
root@linux# omd create mysite
-
Führen Sie nun als Instanzbenutzer die Wiederherstellung aus dem Archiv durch:
OMD[mysite]:~$ omd restore /mnt/someshare/mysite.tgz
-
Starten Sie Ihre Checkmk-Instanz:
OMD[mysite]:~$ omd start