Das Rescue-System startet deinen Server in einem temporären Cloud-Server mit einem kleinen Linux. Deine eigentliche Festplatte hängt daneben und lässt sich mounten. So kommst du an deine Daten und reparierst das System, auch wenn es selbst nicht mehr startet.

Wann du es brauchst

  • Der Server bootet nicht mehr, zum Beispiel nach einem Fehler in /etc/fstab oder einem kaputten Kernel-Update.
  • Das Dateisystem ist nach einem Backup oder harten Stop inkonsistent und der Server hängt im initramfs. Siehe Server hängt im initramfs: Dateisystem mit fsck reparieren.
  • Dienste und Apps laufen nicht mehr oder der Server verhält sich unberechenbar, und du vermutest, dass die Festplatte voll ist. Siehe Speicherplatz prüfen und aufräumen.
  • Der Server läuft, ist aber nicht erreichbar, weil die IP-Adresse fehlt oder falsch ist, zum Beispiel bei einem eigenen Betriebssystem ohne cloud-init oder Guest Agent. Siehe Netzwerk-Konfiguration korrigieren.
  • Du hast dich ausgesperrt, etwa durch eine Firewall-Regel oder einen falschen SSH-Port, und die VNC-Konsole hilft nicht weiter.
  • Du willst Daten von einem defekten System retten, bevor du neu installierst.

Nur das Root-Passwort vergessen? Das setzt du ohne Rescue direkt im Cloud Manager zurück: Wie setze ich mein Root- oder Admin-Passwort zurück?

Rescue starten

  1. Im Cloud Manager unter „Aktionen“ im Bereich „Backups und Wiederherstellung“ auf „Rescue Modus aktivieren“ klicken.
  2. Im Dialog „Rescue-Modus verwalten“ siehst du die IP-Adresse und unter „Anzeigen“ das Rescue-Passwort. Es ist das Standard-Passwort, das du bei der Bestellung vergeben hast.
  3. Auf „Rescue-Modus aktivieren“ klicken. Der Server wird heruntergefahren und deine Festplatte in einen temporären Cloud-Server eingebunden.
  4. Per SSH auf die angezeigte IP-Adresse verbinden, Benutzer root, Passwort wie im Dialog.
Hier findest du die Aktion: Resue Modus aktivieren im Cloud-Manager
Hier findest du die Aktion: Resue Modus aktivieren im Cloud-Manager
Dialog Rescue-Modus verwalten mit IP-Adresse, Rescue-Passwort und Schaltfläche Rescue-Modus aktivieren
Der Dialog „Rescue-Modus verwalten“ im Cloud Manager

Deine Festplatte finden und mounten

Zuerst schaust du nach, welche Platte deine ist:

lsblk -f
Aktives Rescuesystem und Auflistung der vorhandenen Partitionen
Aktives Rescuesystem und Auflistung der vorhandenen Partitionen

Deine eigene Platte ist in der Regel /dev/vda, bei manchen Servern /dev/sda. Das Rescue-System hängt als zusätzliche Platte dahinter, meist als /dev/vdb, und wird nur über die Boot-Reihenfolge gestartet. Es ist unter / eingehängt und hat 20 GB, daran erkennst du es. Deine Systempartition mountest du dann so (Beispiel mit vda1):

mount /dev/vda1 /mnt

Jetzt liegen deine Dateien unter /mnt. Eine falsche Zeile in der fstab korrigierst du zum Beispiel mit nano /mnt/etc/fstab.

Speicherplatz prüfen und aufräumen

Wirf nach dem Mounten immer auch einen Blick auf den Speicherplatz. Ein voller Speicher führt zu unvorhersehbaren Abstürzen: Dienste starten nicht mehr, Datenbanken brechen ab, Anmeldungen schlagen fehl, und im schlimmsten Fall bootet das System gar nicht mehr. Von außen sieht das oft aus, als wäre der Server komplett ausgefallen.

df -h /mnt
df -i /mnt

Die erste Zeile zeigt den belegten Platz, die zweite die belegten Inodes. Auch bei freiem Platz kann das Dateisystem voll sein, wenn die Inodes aufgebraucht sind, etwa durch Millionen kleiner Dateien. Steht bei „Use%“ oder „IUse%“ etwas um 100 %, hast du den Übeltäter gefunden. Die größten Verzeichnisse findest du so:

du -xh /mnt --max-depth=2 2>/dev/null | sort -h | tail -20

Typische Platzfresser sind /var/log und das Journal unter /var/log/journal, /var/lib/docker, alte Backups und Datenbank-Dumps, Mail-Queues und der Paket-Cache. Lösche nur, was du eindeutig zuordnen kannst. Den Paket-Cache räumst du am einfachsten in der chroot auf (siehe nächster Abschnitt), unter Debian und Ubuntu mit apt clean.

Brauchst du den Platz, aber willst die Daten nicht löschen, lagere sie aus. Die Rescue-Platte hat nur 20 GB, deshalb kopierst du größere Mengen besser direkt auf einen anderen Server, per rsync oder scp:

rsync -avz --progress /mnt/var/backups/ user@backup.example.com:/pfad/zum/ziel/

Lösche die Originale erst, wenn du geprüft hast, dass die Kopie vollständig angekommen ist. Wie du Daten auf deinen eigenen Rechner holst, steht im Abschnitt „Daten herunterladen“. Plane danach, wie der Speicher nicht wieder volläuft, zum Beispiel mit Logrotate und einem regelmäßigen Blick auf df -h.

Im eigenen System arbeiten (chroot)

Für Befehle, die im eigentlichen System laufen müssen, etwa passwd, update-grub oder das Entfernen eines Pakets:

for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt

Mit exit verlässt du die chroot wieder.

Netzwerk-Konfiguration korrigieren

Läuft dein Server, ist aber nicht erreichbar, liegt es oft an der Netzwerk-Konfiguration im System. Bei unseren Standard-Images setzen cloud-init, der Guest Agent oder Start-Skripte die IP-Adresse automatisch. Bei einem eigenen Betriebssystem, etwa per eigenem ISO installiert, fehlt das. Eine vergessene oder falsche IP-Adresse fällt dann nicht auf, und der Server ist von außen nicht erreichbar. Das korrigierst du im Rescue-Modus. Unter Debian und anderen Systemen mit ifupdown liegt die Konfiguration in /etc/network/interfaces:

nano /mnt/etc/network/interfaces

Ein Beispiel für eine statische Konfiguration mit IPv4 und IPv6 (Beispieldaten):

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
 address 62.68.75.69
 netmask 255.255.255.0
 broadcast +
 up route -A inet add 62.68.75.1 dev eth0
 up route -A inet add default gw 62.68.75.1 dev eth0

iface eth0 inet6 static
 pre-down ip -6 addr flush dev eth0 scope global || :
 address 2a12:edc0:1337::1
 netmask 45
 up route -A inet6 add fe80::1 dev eth0
 up route -A inet6 add default gw fe80::1 dev eth0

IP-Adresse, Netzmaske und Gateway müssen zu deinem Server passen. Trage deine eigenen Werte ein und kopiere das Beispiel nicht blind. Der Name der Schnittstelle (hier eth0) kann bei dir anders lauten, zum Beispiel ens3. Andere Systeme nutzen andere Dateien, etwa Netplan unter /etc/netplan/ oder systemd-networkd unter /etc/systemd/network/. Danach beendest du Rescue wie unten beschrieben, und der Server startet mit der neuen Konfiguration.

Daten herunterladen

Auf deinem eigenen Rechner holst du Daten per scp oder rsync aus /mnt, mit der IP-Adresse aus dem Rescue-Dialog:

rsync -avz root@62.68.75.69:/mnt/var/www/ ./www-sicherung/

Die Rescue-Platte hat 20 GB, falls du dort Daten zwischenlagern willst. Mehr gibt es auf Anfrage, wenn du einen guten Grund hast.

Rescue beenden

Hänge deine Platte vorher sauber aus (umount -R /mnt) und deaktiviere den Rescue-Modus dann im selben Dialog im Cloud Manager. Der Server startet wieder von seiner eigenen Platte. Vergiss das nicht: Solange Rescue aktiv ist, laufen deine Dienste nicht.

Das aktive Rescue-Panel. Hier siehst du alles wichtige für die Reparatur und für den Abschluss.
Das aktive Rescue-Panel. Hier siehst du alles wichtige für die Reparatur und für den Abschluss.

Klappt etwas auf unserer Seite nicht, zum Beispiel startet der Rescue-Modus gar nicht, melde dich im Support: Wie öffne ich ein Support-Ticket?