Änderungen

Zur Navigation springen Zur Suche springen

Server:KVM-Konsole

2.789 Bytes hinzugefügt, 11:02, 17. Aug. 2021
keine Bearbeitungszusammenfassung
[[Kategorie:Root-Server]][[Kategorie:Rettungs-System (Server)]]
Über die in unserem Rettungs-System zur Verfügung stehende QEMU-Installation ist es möglich, das installierte System Ihres Servers innerhalb einer virtuellen Maschine (VM) zu booten. Die Ein- und Ausgabe der VM wird dabei direkt auf die aktuell offene SSH-Session umgeleitet.
= Erklärung=Damit können beispielsweise Fehler nachvollzogen werden, die im (frühen) Boot-Prozess auftreten, wie beispielsweise eine fehlerhafte Bootloader-Konfiguration oder ein defekter Kernel.
Im Rettungs'''<span style="color:red">Wichtig: </span>Unter allen Umständen müssen alle Dateisysteme vorab unmounted und alle eventuell vorhandenen RAID-Devices gestoppt werden! Andernfalls kann es bei unbeabsichtigten Zugriffen durch das Host-System kann über eine 'zu Datenverlust kommen.'KVM-Konsole'' der Bootvorgang des Produktivsystem ausgegeben werden.
Mit Der Befehlsaufruf richtet sich hier nach der physikalischen Ausstattung Ihres Servers, im Regelfall muss hier leidglich die Konfiguration der Festplatten angepasst werden. Für die Festplatten-Konfiguration wird der Parameter <pre>-drive format=raw,file=/dev/sdN</pre> für alle vorhandenen (physikalischen) Festplatten hinzugefügt. RAID-Devices müssen hier nicht berücksichtigt werden, da diese später im installierten System assembliert werden. Eine virtuelle Maschine, die einen Server mit zwei verbauten Festplatten "abbildet", wird exemplarisch mit folgendem Befehl kann die Konsole gestartet werden:
<pre>
qemu-system-x86_64 \
-curses \
-m 2048 \
-drive format=raw,file=/dev/sda \
-drive format=raw,file=/dev/sdb \
-device e1000,netdev=user,mac=NN:NN:NN:NN:NN:NN \
-netdev user,id=user,hostfwd=tcp::5555-:22
</pre>
 
Über den Parameter <code>-m</code> wird der innerhalb der VM zur Verfügung stehende RAM in Megabyte angegeben. Bei einer Anpassung ist darauf zu achten, dass für das Rettungssystem selbst ca. 2 GB Speicherplatz zur Verfügung stehen müssen und daher nicht der VM zugeteilt werden sollten.
 
Mittels <code>,hostfwd=tcp::5555-:22</code> wird Port 22 des Gast-Systems auf Port 5555 des Hostsystems gemapped, sodass in diesem Beispiel der SSH-Zugang des installierten Systems nach dem Boot der VM über Port 5555 erreichbar ist. Bitte hinterlegen Sie für <code>mac=NN:NN:NN:NN:NN:NN</code> die MAC-Adresse, die dem externen Netzwerk-Interface Ihres Servers zugewiesen ist.
 
Nachdem die Wartungsarbeiten abgeschlossen ist, fahren Sie bitte das in der VM gebootete Betriebssystem "regulär" herunter, um die VM zu beenden. Anschließend kann dann der Server selbst neu gebootet werden.
qemu-system-x86_64 -vnc :1 -curses -m 2048 = Nutzung von VNC zur Ein-hda /dev/sda -hdb /dev/sdb-hdc /dev/sdc -net nic user,hostfwdund Ausgabe =tcp::12345-:22
</pre>Einige neuere Distributionen realisieren ohne weitere Konfiguration die Terminal-Ausgabe leider nicht im "Nur-Text-Modus". Damit kann oben beschriebene Methode nicht direkt genutzt werden, stattdessen muss auf einen zusätzlichen VNC-Client (wie z.B. den VNC Viewer von RealVNC) zurückgegriffen werden.
= Hinweise =Nachfolgender Befehl startet oben beschriebene VM mit einem VNC-Server auf Port 5900. Nachdem die VM gestartet ist, kann dann direkt über die Rettungssystem-IP und diesen Port auf die VNC-Konsole zugegriffen werden.
folgende Parameter können ggf angepasst '''Hinweis: Ein Passwort (im Beispiel PASSWORT123) muss unter allen Umständen gesetzt werden:, da ansonsten der direkte Zugriff auf Ihren Server ohne weitere Authentifizierung möglich ist!
<pre>printf "change vnc password\n%s\n" PASSWORT123 | \ qemu-system-x86_64 -vnc ( Konsole kann mittels VNC:0,password \ -monitor stdio \ -m 2048 \ -Client geöffnet werden )drive format=raw,file=/dev/sda \ -hdx drive format=raw,file=/dev/sdx ( Angabe der Festplatten von denen gebootet werden soll )sdb \ -net nic ( Soll eine Netzwerkkarte geladen werden )device e1000,netdev=user,mac=NN:NN:NN:NN:NN:NN \ -netdev user,id=user,hostfwd=tcp::123455555-:22 ( Portforwarding von Port 22 auf Port 12345 )</pre>
1.533

Bearbeitungen

Navigationsmenü