alphaspirit - stock.adobe.com
KVM- Fehlerdiagnose in sechs einfachen Schritten
Wenn Sie bei KVM-Fehler suchen, dann sollten Sie das Problem isolieren. Auf jeden Fall helfen Logs sowie virsh bei der Fehlerdiagnose. Prüfen Sie auch Speicher und Netzwerk.
KVM ist ein bekannter Hypervisor. Er ist kostenlos und funktioniert gut. Gibt es allerdings Probleme mit KVM, dann schadet ein grundsätzliches Wissen für die Fehlerdiagnose nicht.
Jeder Administrator weiß, dass Logs für effiziente Fehlerdiagnose unverzichtbar sind. In KVM finden Sie zwei verschiedene Log-Arten: Hypervisor-Logs, in diesem Fall für KVM, und VM-Logs. Je nach Konfiguration und Betriebssystem gibt es kleine Unterschiede, aber die KVM-Logs, wie zum Beispiel die Nachrichtendatei, finden Sie im Ordner /var/logs. Diese Logs gehören zum KVM-Service und nicht zu den virtuellen Maschinen (VM).
Jede VM hat ihre eigene Log-Datei und sie liegt im Ordner /var/log/libvirt/qemu. Dort finden Sie die Informationen, die zur jeweiligen VM gehören. Damit sind zum Beispiel Start, Herunterfahren und VM-Hardware-Probleme gemeint.
Isolieren Sie das Problem
Der nächste Schritt bei der Fehlerdiagnose bezüglich KVM ist, das Problem zu isolieren. Sind alle KVM-Maschinen betroffen oder nur eine? Betrifft es alle, dann könnte das Problem am KVM-Service liegen und nicht an den virtuellen Maschinen.
Überprüfen Sie den Service, indem Sie als Root den nachfolgenden Befehl ausführen:
systemctl status libvirtd
Die wichtige Zeile der Bildschirmausgabe ist die mit active. Sie sollte Active: active… anzeigen und rechts daneben die Laufzeit. Sie sehen ein Beispiel in Abbildung 1.
Finden Sie hier Fehler, dann können Sie den Service neu starten. Führen Sie den Befehl mit der Start-Option aus: systemctl start libvirtd.
Gibt es immer noch Fehler, überprüfen Sie das Log wie bereits beschrieben. Es ist vielleicht sehr nützlich, wenn Sie die Version des Programms kennen. Sie finden sie wie folgt:
yum info qemu-kvm
Überprüfen Sie den VM-Status
Angenommen, der KVM-Service läuft, dann können Sie den VM-Status mit dem VM-Management-Tool virsh überprüfen. Sie sehen ein Beispiel in Abbildung 2.
Im Tool virsh benutzen Sie den Befehl list. Können Sie sich von außerhalb des Hosts nicht mit der VM verbinden, zum Beispiel via Secure Shell, dann versuchen Sie es über die Server-Konsole, indem Sie den virsh-Befehl gefolgt vom VM-Namen ausführen. Allerdings müssen Sie im Betriebssystem eine virtuelle serielle Konsole einrichten, damit Sie die Methode benutzen können. Sehen Sie in der Dokumentation des Betriebssystems nach, wie Sie das bewerkstelligen.
Überprüfen Sie den Festplattenplatz
Wenn Sie sich mit der Fehlerdiagnose bei KVM beschäftigen, dann sollten Sie die einfachen Dinge nicht unterschätzen. Überprüfen Sie zum Beispiel den freien Festplattenplatz. Nur weil es sich um eine virtuelle Umgebung handelt, dürfen Sie die grundlegenden Dinge bei der Fehlerdiagnose nicht vergessen.
Die Daten für die CPU-Performance ist ebenfalls schnell ausgelesen. Führen Sie dazu den folgenden Befehl aus:
virsh cpu-stats centos7
Damit lässt Sie sich die CPU-Performance der virtuellen Maschinen anzeigen. Je nachdem wie hoch die Auslastung ist, müssen Sie zusätzliche virtuelle CPUs hinzufügen. Es gibt auch noch den Befehl virsh domstats <Name der Maschine>. Damit bekommen Sie detailliertere Informationen über die Maschine.
Überprüfen Sie den Speicher
Eines der größten Anzeichen für Probleme mit dem Speicher ist der Swap-Wert. Ist der Swap-Wert nicht Null, dann lagert die Maschine Speicher auf die physischen Datenträger aus. Das ist für die Performance alles andere als ideal.
Ein manuelles Management der virtuellen Maschinen über die Kommandozeile ist ziemlich einfach. Mithilfe der virsh Shell können Sie eine VM mit dem nachfolgenden Befehl herunterfahren:
virsh shutdown <Name der Maschine>
Äquivalent dazu erfolgt der Start einer Maschine. Ersetzen Sie das shutdown wie folgt:
virsh start <Name der Maschine>
Weitere Optionen sind suspend, resume und reboot. Weiterhin können Sie den Hypervisor anweisen, eine VM automatisch zu starten. Dazu dient der Befehl:
virsh autostart <Name der Maschine>
Überprüfen Sie das Netzwerk
Auch wenn das Problem nicht nur bei KVM vorkommt, sollten Sie wissen, dass bei einer VM per Standard NAT (Network Address Translation) zum Einsatz kommt. In den meisten produktiven Umgebungen ist das aber nicht die ideale Konfiguration. Virtuelle Server sollten sich im gleichen Netzwerksegment wie der Host befinden, um die Komplexität von virtuellen LANs zu vermeiden.
Seien Sie aber vorsichtig, wenn Sie Netzwerkbrücken (Bridging) anstelle von NAT benutzen, weil es auf alle laufenden Gäste Auswirkungen hat. Sie werden nicht mehr länger mit dem Netzwerk verbunden sein und Sie müssen jede VM einzeln neu konfigurieren. Solche Überlegungen und Konfigurationen sollten passieren, wenn der Server anfänglich eingerichtet wird.
Den Konfigurationsprozess finden Sie auf der Website von libvirt. Vergewissern Sie sich, dass Sie wissen, was Sie tun und welche Auswirkungen die Einstellungen haben. Testen Sie die Änderungen, bevor sie in der produktiven Umgebung zum Einsatz kommen.
Benutzen Sie anstelle von virsh ein GUI
Möchten Sie lieber ein GUI anstatt der Kommandozeile benutzen, dann gibt es eine rudimentäre GUI-Anwendung. Damit lässt sich die Konsole anzeigen, Sie können Maschinen erstellen und so weiter. Das hier angesprochene Tool nennt sich VMM (Virtual Machine Manager) und es läuft auf jeder Linux-Distribution, auf der eine grafische Oberfläche installiert ist. Anwender können damit grundlegende Administration durchführen und die Performance messen.
Wollen Sie VMM auf einem Ubuntu-Desktop installieren, suchen Sie nach Virtual Machine Manager und installieren die Software. Sie können sich danach mit allen KVM-Hosts verbinden. Klicken Sie dafür auf File → Connect. So bekommen Sie Zugriff auf die Konsole, sehen die Auslastung und können die Einstellungen ändern. Rudimentäre Management-Aufgaben sind ebenfalls möglich.
Eine Fehlerdiagnose bei KVM und die Feineinstellungen sind nicht schwieriger als bei anderen Systemen. Allerdings müssen Sie bei KVM etwas Erfahrung mitbringen und verstehen, wie es außerhalb einer GUI funktioniert.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!