Zum Inhalt springen

Ubuntu-LTS-Upgrade

Aus MegBes Wiki

Ubuntu-LTS-Upgrade

[Bearbeiten]

Ein LTS-Upgrade wechselt den Server auf die nächste Ubuntu-LTS-Version. Es ist deutlich umfangreicher als eine normale Aktualisierung mit `apt upgrade` und benötigt Backup, Wartungsfenster und vollständigen MegBes-Funktionstest.

Grundlage ist die offizielle Ubuntu-Anleitung. Es kann immer nur auf die jeweils nächste LTS-Version aktualisiert werden; LTS-Versionen dürfen nicht übersprungen werden.

Nicht spontan durchführen

[Bearbeiten]

Vor dem Upgrade erforderlich:

  • ausdrückliches Wartungsfenster
  • Zugriff auf lokale Konsole oder gesicherter Vor-Ort-Zugriff
  • aktuelle Sicherung von Konfigurationen, Zertifikaten und persistenten Daten
  • dokumentierte Container, Images, Ports und Volumes
  • ausreichend freier Speicherplatz
  • geprüfter Rückweg oder Neuinstallationsplan

1. Ausgangszustand erfassen

[Bearbeiten]
lsb_release -a
uname -r
df -h
sudo docker ps -a
sudo docker images
sudo docker volume ls
sudo docker inspect <Containername> > <Projekt>-container-inspect.json

Die erzeugte Inspect-Datei kann sensible Umgebungswerte enthalten. Sie geschützt ablegen und nicht ins Wiki kopieren.

2. Backup erstellen und prüfen

[Bearbeiten]

Mindestens sichern:

  • projektspezifische Umgebungsdatei
  • Zertifikatsordner
  • Container-Startbefehl beziehungsweise Inspect-Daten
  • persistente Docker-Volumes, sofern vorhanden
  • Netplan-Konfiguration
  • weitere kundenspezifische Skripte

Ein `docker export` allein ist kein vollständiges Backup von Volumes oder Host-Dateien.

3. Aktuelles Release vollständig aktualisieren

[Bearbeiten]
sudo apt update
sudo apt dist-upgrade -o APT::Get::Always-Include-Phased-Updates=true

Beide Befehle müssen ohne Fehler enden. Danach Neustartbedarf prüfen und gegebenenfalls neu starten:

if [ -f /run/reboot-required ]; then sudo reboot; fi

Nach dem Neustart Docker und MegBes erneut prüfen.

4. Upgrade-Paket sicherstellen

[Bearbeiten]
sudo apt install update-manager-core

Prüfen, ob nur LTS-Upgrades angeboten werden:

grep '^Prompt=' /etc/update-manager/release-upgrades

Für Produktionsserver soll normalerweise erscheinen:

Prompt=lts

5. Release-Upgrade starten

[Bearbeiten]
sudo do-release-upgrade

Den Prozess nicht unbeaufsichtigt lassen. Vor der endgültigen Bestätigung zeigt Ubuntu geplante Installationen und Entfernungen an.

Bei Fragen zu geänderten Konfigurationsdateien nicht blind antworten. Angepasste Netzwerk-, SSH- oder Docker-Konfigurationen im Zweifel behalten und die betroffene Datei notieren.

Die Option `-d` für Entwicklungs-Releases darf auf Produktivsystemen nicht verwendet werden.

6. Neustart durchführen

[Bearbeiten]

Am Ende fordert Ubuntu zu einem Neustart auf. Erst danach ist das Upgrade abgeschlossen.

sudo reboot

7. Nachprüfung

[Bearbeiten]
lsb_release -a
uname -r
systemctl --failed
sudo systemctl status docker --no-pager
sudo docker ps
sudo docker logs --tail 100 <Containername>

Danach den vollständigen MegBes-Funktionstest durchführen:

  1. External erreicht Internal.
  2. Testbefehl erreicht die richtige Station.
  3. Stationsstatus funktioniert.
  4. Zertifikatsverbindung funktioniert.
  5. Status-Monitor meldet das Projekt erreichbar.
  6. Server- und Container-Neustart funktionieren.

8. Docker-Paketquelle prüfen

[Bearbeiten]

Während eines LTS-Upgrades können fremde Paketquellen deaktiviert werden. Prüfen:

sudo apt update
apt policy docker-ce

Docker nicht neu installieren, wenn die vorhandene Installation und die Container funktionieren. Eine Änderung erst nach Sicherung und Prüfung durchführen.

Dokumentation

[Bearbeiten]

Auf der Projektseite eintragen:

  • alte und neue Ubuntu-Version
  • Datum und Wartungsfenster
  • Backup-Ablage
  • Besonderheiten während des Upgrades
  • Docker-Version und Containerstatus
  • Ergebnis aller Funktionstests