Bei der Arbeit mit virtuellen Maschinen benutzt man häuftig SSH zur Fernwartung. Was aber nun, wenn grundlegende Einstellungen geändert wurden und nach einem Neustart die VM gar nicht erst komplett startet, der SSH-Daemon also auch noch nicht läuft und kein Remote-Zugang möglich ist? Dann wäre ein Zugang zur Konsole der VM hilfreich.
Schlagwort: KVM
Merkzettel: Bridge-Interface für libvirt einrichten
Merkzettel für das Einrichten einer Bridge für libvirt (damit VMs auch ohne NAT mit der Außenwelt reden können bzw. die VM auch von außen ohne Kunstgriffe erreichbar ist):
- Network-Manager stoppen und deaktivieren:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
- Interface Settings manuell in /etc/network/interfaces eintragen, Bridge-Parameter angeben und Nameserver manuell festlegen:
auto br0
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports enp3s0
bridge_stp on
bridge_maxwait 0
dns-search local
dns-nameserver 192.168.0.1
- Rechner neustarten
Die Bridge sollte nun korrekt konfiguriert sein und folgendermaßen aussehen:
# ifconfig br0
br0 Link encap:Ethernet Hardware Adresse 50:xx:xx:xx:xx:xx
inet Adresse:192.168.0.10 Bcast:192.168.0.255 Maske:255.255.255.0
inet6-Adresse: fe80::xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Verbindung
inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX-Pakete:39478 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:41158 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:42091131 (42.0 MB) TX-Bytes:6646905 (6.6 MB)
# brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.50xxxxxxxxxx yes enp3s0
Anschließend kann die Bridge dann auch virtuellen Maschinen mit z.B. virt-manager zugewiesen werden:
Backup der VMs im laufenden Betrieb mit libvirt
Mit libvirt bzw. deren Kommandozeilen-Interface virsh kann ein Backup der VMs im laufenden Betrieb durchgeführt werden. Das nachfolgende Script stellt ein Grundgerüst, angeregt durch einen Artikel von Christian Rößner, für ein Backup nach der folgenden Methode zur Verfügung:
Es wird zuerst ein Snapshot aller Volumes einer VM angelegt. Dadurch besteht jedes Volume aus (mindestens) zwei Dateien: eine Datei mit den originalen Daten und eine zweite Datei, welche alle Änderungen gegenüber dem Originalvolume ab dem Erstellen des Snapshots enthält. Das Originalvolume wird bei aktivem Snapshot nicht mehr beschrieben, es kann nun problemlos gesichert werden. Zum Kopieren kann "cp -f --sparse=always ..." oder, sofern verfügbar, "rsync --sparse ..." zum Einsatz kommen. Beide Kommandos behandeln freien Platz in den Volumes optimal, rsync ist jedoch um einiges schneller, wenn im Backup-Verzeichnis bereits vom vorherigen Backup schon die gleiche Datei vorhanden ist, da dann nur die Änderungen kopiert werden. Anschließend werden mit einem sogenannten Blockcommit die im Snapshot als Änderungen geschriebene Blöcke in das Originalvolume wieder eingearbeitet. Das alles kann im laufenden Betrieb vom Host der VMs aus durchgeführt werden.
...weiterlesen "Backup der VMs im laufenden Betrieb mit libvirt"
KVM QEMU: Windows 10 testen
QEMU KVM: Fehlende Buchstaben
Beim Anlegen von virtuellen Maschinen mit virt-manager wird standardmäßig in der VM eine Grafikkarte mit dem Treiber QXL erstellt und die Anzeige auf Spice gestellt. Das ist ansich gut so, denn diese Kombination ist aktuell die schnellste Möglichkeit, grafische Elemente einer VM darzustellen. Wenn man dann in der VM arbeitet kann es jedoch vorkommen, dass einzelne Buchstaben in der Anzeige fehlen und das auch noch unabhängig davon, ob man nun virt-viewer oder spicec zur Anzeige des VM-Bildschirms verwendet:
Der Fehler liegt im QXL-Treiber. Dieser kann aktuell nicht richtig mit Composite umgehen. Abhilfe schafft, dem Kernel der VM einen Parameter hinzuzufügen:
- hinzufügen von "nomodeset" zu GRUB_CMDLINE_LINUX_DEFAULT in /etc/defaults/grub
- "update-grub" zur Aktualisierung von Grub
Nach einem Neustart der VM wirkt der neue Kernelparameter dann und der oben beschriebene Fehler tritt nicht mehr auf.
Weitere Informationen: