Rootserver Rescue

Einleitung #

Mit dem Server Rescue Modus können Sie Ihren virtuellen oder dedizierten Server in ein von Ihrem Server unabhängiges Betriebssystem starten, um z.B: Reparaturen oder Konfigurationsänderungen am Betriebssystem auszuführen, welche im regulären Betriebssystem nicht (mehr) möglich sind. Im Zuge dessen wird die Linux Distribution GRML über das Netzwerk gestartet und in den RAM geladen. Da es sich um ein Netzwerk Betriebssystem handelt werden keinerlei automatische Änderungen an Ihrem Server Betriebssystem vorgenommen.

 

Aktivierung des Rescue Modus #

Loggen Sie sich im IPAX Control Panel ein und navigieren auf den Menüpunkt “vServer” bzw. “Dedicated Server”. Nach Auswahl des jeweiligen Servers finden Sie im Tab “Steuerung” die Möglichkeit den Rescue Modus zu aktivieren. Durch Aktivierung des Rescue Modus wird zunächst der Server neu gestartet und anschließend in das Rescue Betriebssystem gebootet. Bitte fahren Sie, falls möglich, zuvor den Server aktiv herunter. Abschließend erhalten Sie binnen weniger Minuten eine automatisierte E-Mail mit den temporären SSH Zugangsdaten, um sich mit dem Rescue Betriebssystem zu verbinden.

 

Beenden des Rescue Modus #

Wenn Sie den Rescue Modus nicht mehr benötigen, dann loggen Sie sich im IPAX Control Panel ein und navigieren auf den Menüpunkt “vServer” bzw. “Dedicated Server”. Im Tab “Steuerung” kann der Rescue Modus entsprechend beendet werden. Im Zuge dessen wird der Server neu gestartet und wieder das reguläre Betriebssystem gebootet.

 

Hinweis: Sie müssen immer aktiv den Rescue Modus beenden, bevor Sie neu starten, da ansonsten erneut das Rescue Betriebssystem gestartet, allerdings keine neuen Zugangsdaten versendet werden.

 

Standard Anwendungsfälle #

Zugriff auf das Betriebssystem (Proxmox) #

Um auf die Dateien des ursprünglichen Proxmox Betriebssystems zugreiffen zu können, muss im Rescue Betriebssystem zuerst das ZFS Dateisystem installiert werden. Da in dem Rescue Betriebssystem nur eine alte ZFS Version installierbar ist, welche bei den neueren Proxmox Versionen (8.0 und höher) dazu führt, dass das Filesystem sich importieren lässt, muss das Backport Repository im Rescue System hinzugefügt werden und dieses ZFS Packet höher priorisiert werden.

Hierfür sind die folgenden Commands auszuführen:

echo "deb http://deb.debian.org/debian bookworm-backports main contrib
deb-src http://deb.debian.org/debian bookworm-backports main contrib" >> /etc/apt/sources.list.d/bookworm-backports.list
echo "Package: src:zfs-linux
Pin: release n=bookworm-backports
Pin-Priority: 990" >> /etc/apt/preferences.d/90_zfs
apt update
apt install dpkg-dev linux-headers-generic linux-image-generic
apt install zfs-dkms zfsutils-linux

Diese Installation kann ein paar Minuten in anspruch werden, da hier das ZFS Modul erst kompiliert und anschließend im Kernel aktiviert wird.

Abschließend kann der ZFS Pool import und gemounted werden:

zpool import rpool
zfs mount rpool

 

Zugriff auf das Betriebssystem #

Um auf die Dateien des ursprünglichen Server Betriebssystems zugreifen zu können, müssen zunächst die Datenpartitionen im Rescue Betriebssystem eingehängt werden. Hierfür sind folgende Schritte erforderlich:

 

Wenn ein Dedizierter Server mit einem Software RAID bereitgestellt wurde, so müssen zunächst die bestehenden RAID Devices aktiviert werden:

 

mdadm --assemble --scan

 

Die Root-Partition wird standardmäßig als Logical Volume bereitstellt. Sämtliche Logical Volumes können wie folgt aktiviert werden:

 

vgchange -a y

 

Abschließend kann die Root-Partition z.B. auf dem Pfad /mnt eingehängt werden.

 

mount /dev/vgmyserver/root /mnt

 

Die Dateien können nun wahlweise direkt vom Rescue Betriebssystem aus bearbeitet oder mittels chroot Befehl im Kontext des Gast Betriebssystems direkt vorgenommen werden (empfohlen).

 

chroot /mnt /bin/bash

 

Boot-Reparatur #

Im Falle eines fehlerhaften Grub-Boot Eintrages bzw. eines Initramfs Fehlers, können diese Probleme meist durch ein Neu-Initialisieren der Grub und der Initramfs Konfigurationen gelöst werden.

 

Zunächst müssen die Root und Boot Partition des ursprünglichen Betriebssystems, sowie Systempfade (/dev/, /proc, und /sys) des Rescue Betriebssystems eingehängt werden:

 

mount /dev/vgmyserver/root /mnt mount /dev/sda3 /mnt/boot mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys

 

Hinweis: die Kennung der Boot Partition kann je nach Installation variieren. Bei vServern ist diese üblicherweise /dev/vda3, bei Dedizierten Servern /dev/sda3 (bzw. die jeweilige NVMe Kennung wie z.B: /dev/nvme0n0) und bei Software RAID z.B: /dev/md1. Im Zweifel muss die Partition welche in Frage kommt zunächst testweise eingehängt werden, um den Inhalt zu überprüfen.

 

Abschließend kann mittels chroot in das Server Betriebssystem gewechselt werden und die Neuinitialisierung durchgeführt werden.

 

grub-install /dev/sda update-initramfs -cut -k all update-grub

 

Hinweis: Die Grub-Installation muss auf jeder Festplatte erfolgen, von welcher gestartet können werden soll. Hierbei ist immer das ganze Device und keine Partition anzugeben. Bei vServern ist dies immer /dev/vda, bei dedizierten Servern /dev/sda (bzw. die jeweilige NVMe Kennung wie z.b. /dev/nvme0n0). Bei Software RAID Installationen muss der Befehl für jede Boot-Festplatte wiederholt werden.