Ubuntu-LTS-Upgrade
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:
- External erreicht Internal.
- Testbefehl erreicht die richtige Station.
- Stationsstatus funktioniert.
- Zertifikatsverbindung funktioniert.
- Status-Monitor meldet das Projekt erreichbar.
- 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