Dieser Artikel beschreibt das Debugging mittels libvirt und VNC um Zugriff zu einer Instanz zu erhalten.
Achtung!!! Diese Methode dient lediglich zu Debugging Zwecken und ist nicht für den Produktivbetrieb vorgesehen! Die Sicherheit des Systems ist nicht gewährleistet solange die Kommunikation mit VNC nicht verschlüsselt ist sowie kein Passwort gesetzt wurde!
Zunächst erfolgt die Anmeldung auf dem Node Controller (NC), der für das Debbuging als Root genutzt werden soll.
Anschließend werden die Dateien “gen_libvirt_xml” oder “gen_kvm_libvirt_xml” (abhängig vom verwendeten Hypervisor) benötigt. Dieses sollten sich in der Regel unter “/usr/share/eucalyputs” befinden.
Nun muss in der Datei das folgende Tag gefunden werden.
< devices >
Vor dem schließenden Tag
< /devices >
muss der folgende Eintrag hinzugefügt werden.
< graphics type='vnc' port='-1' autoport='yes' keymap='en-us' listen='0.0.0.0' />
Nun muss eine Instanz gestartet werden. Wichtig hierbei ist, dass es sich um eine Instanz handelt, die auf dem Node Controller ausgeführt wird, der gerade angepasst wurde!
Auf dem Node Controller wird nun folgender Befehl ausgeführt:
virsh vncdisplay < instance id >
Als VNC Fensternummer sollte ein Rückgabewert ähnlich “:2” erscheinen. Zu dieser Nummer muss nun 5900 hinzuaddiert werden, also als Ergebnis 5902. Dabei handelt es sich um den VNC Port, auf dem die Instanz lauscht.
Nukn kann eine Verbindung zu der Instanz mit folgendem Befehl hergestellt werden:
xvncviewer < NC IP >:5902
Sobald die Instanz gedebugged wird, kann das Image angepasst und die korrigierte Version hochgeladen werden.
Quelle