- 1 Einleitung
- 2 Vergleich: KVM und andere Virtualisierungstechnologien
- 3 KVM unter Ubuntu einrichten (Installation & Grundkonfiguration)
- 4 Erstellen und Verwalten virtueller Maschinen
- 5 Netzwerkkonfiguration und Erweiterung
- 6 Speicherverwaltung und Festplattenoperationen
- 7 Installation und Betrieb von Gast-Betriebssystemen
- 8 Praxisbeispiele & Automatisierungstipps
- 9 Troubleshooting: Typische Fehler und deren Lösung
- 10 Sicherheit & Performance-Optimierung
- 11 Fazit & Weiterführende Ressourcen
- 12 Kommandoübersicht & praktische Beispiele (Cheatsheet)
- 13 FAQ (Häufig gestellte Fragen)
- 13.1 Q1: Was ist der Unterschied zwischen KVM, VirtualBox und VMware?
- 13.2 Q2: Wie sichere und stelle ich VMs wieder her?
- 13.3 Q3: Wie kann ich USB-Geräte in einer VM nutzen?
- 13.4 Q4: Wie starte ich VMs beim Hochfahren des Hosts automatisch?
- 13.5 Q5: Was tun bei langsamer VM-Performance?
- 13.6 Q6: Probleme bei der Netzwerkkonfiguration?
- 13.7 Q7: Kann ich mit KVM Cluster oder Hochverfügbarkeitslösungen (HA) umsetzen?
Einleitung
Ubuntu ist eine der weltweit am häufigsten genutzten Linux-Distributionen. Das System ist sowohl bei privaten Anwendern als auch in Unternehmensumgebungen sehr beliebt und wird häufig für Server-Setups und Entwicklungsumgebungen eingesetzt. Wer auf Ubuntu eine leistungsstarke Virtualisierung umsetzen möchte, für den ist KVM (Kernel-based Virtual Machine) eine der besten Lösungen.
KVM ist eine Hypervisor-Virtualisierungstechnologie, die direkt im Linux-Kernel integriert ist. Dank Hardware-Virtualisierungsfunktionen wie Intel VT oder AMD-V bietet KVM hohe Performance und Stabilität. Da KVM Open Source ist, lässt sich eine professionelle Virtualisierungsumgebung auch kostengünstig aufbauen.
Virtualisierungstechnologien wirken auf viele zunächst komplex. Mit der Kombination aus Ubuntu und KVM ist es jedoch auch Einsteigern relativ einfach möglich, eigene virtuelle Maschinen zu erstellen und zu verwalten. Natürlich ist KVM auch für erfahrene Administratoren, die physische Serverressourcen effizient nutzen oder produktive Systeme virtualisieren möchten, bestens geeignet.
In diesem Artikel erkläre ich Schritt für Schritt, wie Sie auf Ubuntu eine KVM-basierte Virtualisierungsumgebung einrichten, grundlegende Funktionen nutzen, praxisnahe Tipps anwenden und typische Fehler beheben können. Wer also KVM einsetzen oder die Virtualisierung unter Ubuntu effizienter gestalten möchte, sollte unbedingt weiterlesen.
Vergleich: KVM und andere Virtualisierungstechnologien
Es gibt verschiedene Virtualisierungslösungen, die unter Ubuntu genutzt werden können, darunter KVM, VirtualBox und VMware. Im Folgenden erläutere ich die jeweiligen Eigenschaften, Unterschiede sowie die Vor- und Nachteile von KVM.
Wichtige Virtualisierungslösungen im Überblick
- KVM (Kernel-based Virtual Machine)
KVM ist eine im Linux-Kernel integrierte Virtualisierungslösung und setzt Linux als Host-Betriebssystem voraus. Dank Hardware-Virtualisierung (Intel VT, AMD-V) erreichen die virtuellen Maschinen eine hohe Leistung – auch für produktive Einsätze. Die Verwaltung erfolgt flexibel über Kommandozeile oder Tools wie virt-manager. - VirtualBox
VirtualBox ist eine Desktop-Virtualisierungssoftware von Oracle, die auf Windows, Mac und Linux läuft. Die Benutzeroberfläche ist sehr intuitiv, weshalb VirtualBox gern für private Zwecke und zum Lernen genutzt wird. Für produktive Umgebungen oder hohe Last ist VirtualBox im Vergleich zu KVM weniger geeignet. - VMware (Workstation/ESXi etc.)
VMware ist eine kommerzielle Virtualisierungslösung, die häufig im Unternehmensbereich eingesetzt wird. Sie bietet viele Funktionen und umfassenden Support, benötigt aber eine kostenpflichtige Lizenz. Gerade für größere Unternehmen ist VMware verbreitet, bringt aber höhere Kosten mit sich.
Vorteile von KVM
- Hohe Performance und Stabilität
Da KVM direkt im Linux-Kernel arbeitet, ist die Ressourcennutzung sehr effizient. CPU und RAM können pro VM fein gesteuert werden. Die Lösung ist auch für den produktiven Betrieb bestens geeignet. - Open Source und kostenlos
KVM ist vollständig quelloffen, es fallen keine Lizenzkosten an. Für kostengünstige Virtualisierungsumgebungen ist KVM daher ideal. - Vielfältige Verwaltungs- und Automatisierungsmöglichkeiten
Es stehen zahlreiche Tools zur Verfügung – von der Kommandozeile (virsh, virt-install) bis hin zu grafischen Oberflächen (virt-manager). Die Automatisierung mit Skripten und der Einsatz in DevOps- und Infrastruktur-Umgebungen ist einfach möglich.
Nachteile von KVM
- Nur für Linux als Host-Betriebssystem
KVM setzt einen Linux-Kernel voraus und ist daher auf Windows- oder Mac-Hosts nicht einsetzbar. - Kenntnisse in Linux für Einrichtung und Fehlerbehebung erforderlich
Es gibt zwar grafische Tools, aber für Netzwerkeinstellungen oder tiefere Anpassungen sind oft Kenntnisse in der Kommandozeile und in Linux notwendig.
Wann lohnt sich KVM besonders?
- Wenn Sie physische Serverressourcen effizient nutzen möchten
- Wenn Sie Virtualisierung für produktive Serverumgebungen einsetzen wollen
- Wenn Sie eine professionelle Virtualisierungsplattform zu geringen Kosten aufbauen möchten
- Wenn Sie Linux-Server-Betrieb oder Infrastrukturmanagement automatisieren möchten
KVM ist eine Empfehlung für alle, die mit Linux vertraut sind oder sich in den Bereich professionelle Serververwaltung einarbeiten möchten.
KVM unter Ubuntu einrichten (Installation & Grundkonfiguration)
Um KVM unter Ubuntu zu nutzen, sind einige Voraussetzungen, Vorbereitungen und die eigentliche Installation notwendig. In diesem Abschnitt werden die nötigen Schritte detailliert erläutert, sodass auch Einsteiger die Umgebung problemlos aufsetzen können.
Systemvoraussetzungen & Vorab-Checks
Ihr Rechner bzw. Server muss eine CPU mit Hardware-Virtualisierung (Intel VT oder AMD-V) unterstützen.
Überprüfen Sie das mit folgendem Befehl:
egrep -c '(vmx|svm)' /proc/cpuinfo
Wird eine Zahl größer als 0 angezeigt, ist Virtualisierung unterstützt.
Außerdem muss ein 64-Bit-Ubuntu verwendet werden.
Installation von KVM und benötigten Paketen
Installieren Sie KVM sowie die zugehörigen Tools (libvirt, virt-manager usw.) mit den folgenden Befehlen:
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
qemu-kvm
: Das Herzstück der Virtualisierunglibvirt-daemon-system
,libvirt-clients
: Verwaltungsdienste für VMsbridge-utils
: Tools für Netzwerk-Bridgingvirt-manager
: Grafisches Tool zur VM-Verwaltung
Gruppen- und Rechteverwaltung für Benutzer
Fügen Sie nach der Installation den aktuellen Nutzer zur Gruppe libvirt und kvm hinzu. So können Sie VMs auch ohne root-Rechte verwalten.
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
Melden Sie sich danach ab und wieder an oder starten Sie das System neu.
Überprüfung des KVM-Diensts
Prüfen Sie, ob KVM korrekt installiert und der Dienst gestartet ist:
sudo systemctl status libvirtd
Steht dort „active (running)“, ist alles in Ordnung.
Mit folgendem Befehl sehen Sie, ob KVM aktiviert ist:
virsh list --all
Erscheint eine (aktuell noch leere) Liste, ist die Umgebung korrekt eingerichtet.
Erstellen und Verwalten virtueller Maschinen
Sobald die KVM-Umgebung bereit ist, können Sie eigene virtuelle Maschinen erstellen und bedienen. Je nach Bedarf können Sie dabei zwischen grafischer Oberfläche (virt-manager) und Kommandozeile (virt-install, virsh) wählen. Im Folgenden werden beide Methoden vorgestellt.
Virtuelle Maschinen mit virt-manager (GUI) erstellen
Mit virt-manager lassen sich VMs besonders einfach über die grafische Oberfläche anlegen. Für Desktop-Nutzer eine komfortable Lösung.
- Starten Sie
virt-manager
über das Menü oder Terminal. - Klicken Sie oben links auf „Neu“.
- Geben Sie den Speicherort für das Installationsmedium (z. B. ISO-Image) an und wählen Sie das Gastbetriebssystem (z. B. Ubuntu, Windows) aus.
- Konfigurieren Sie die gewünschte Anzahl CPUs, RAM und Festplattengröße für die VM.
- Prüfen Sie Ihre Einstellungen und klicken Sie auf „Fertigstellen“. Die VM wird angelegt und das Installationsfenster erscheint.
Im virt-manager können Sie zudem VMs starten, stoppen, Snapshots erstellen, Netzwerk- und Festplattenoptionen verwalten und vieles mehr.
Virtuelle Maschinen via virt-install (CLI) anlegen
Gerade auf Servern oder Remote-Systemen ist die Kommandozeile oft praktischer. Beispiel für den virt-install
-Befehl:
sudo virt-install
--name ubuntu-vm
--memory 2048
--vcpus 2
--disk size=20
--cdrom /path/to/ubuntu.iso
--os-type linux
--os-variant ubuntu20.04
--network network=default
--graphics vnc
--name
: Name der VM--memory
: Zuweisung von RAM (in MB)--vcpus
: Anzahl der CPU-Kerne--disk size=20
: Größe der virtuellen Festplatte (GB)--cdrom
: Pfad zur ISO-Datei für die Installation--os-type
,--os-variant
: Typ und Version des Gastsystems--network
: Netzwerkanbindung--graphics
: Grafikmodus (z. B. VNC)
Nach dem Ausführen des Befehls startet die VM automatisch und das Installationsfenster wird (z. B. über VNC) angezeigt.
VM starten, stoppen, löschen, Snapshots erstellen
KVM macht die Verwaltung erstellter VMs einfach. Typische Kommandos:
- VM starten
virsh start <VM-Name>
- VM herunterfahren
virsh shutdown <VM-Name>
- VM hart stoppen
virsh destroy <VM-Name>
- VM löschen (Vorsicht: löscht ggf. auch das Disk-Image)
virsh undefine <VM-Name>
- Snapshot erstellen
virsh snapshot-create-as <VM-Name> <Snapshot-Name>
Alle diese Operationen sind auch über die GUI von virt-manager verfügbar.
Netzwerkkonfiguration und Erweiterung
Die Netzwerkkonfiguration ist ein zentraler Punkt beim Betrieb virtueller Maschinen mit KVM. Die Standardkonfiguration eignet sich für viele Zwecke, aber für professionelle Server oder Unternehmensumgebungen sind häufig individuelle Anpassungen nötig. In diesem Abschnitt erkläre ich die Grundlagen und erweiterte Einstellungen für das KVM-Netzwerk.
Unterschied zwischen Standard-NAT (virbr0) und Bridge-Netzwerk
Bei der Installation von KVM wird automatisch ein virtuelles Netzwerk-Bridge-Interface namens „virbr0“ angelegt. Dieses nutzt das NAT-Verfahren (Network Address Translation) und bietet folgende Eigenschaften:
- Eigenschaften von virbr0 (NAT)
- Virtuelle Maschinen können auf das Internet zugreifen
- Für den direkten Zugriff von Host oder anderen Netzwerken auf die VMs ist eine Portweiterleitung nötig
- Geeignet für Heim-, Entwicklungs- und Testumgebungen
Im Gegensatz dazu ermöglicht das „Bridge-Netzwerk“ virtuellen Maschinen denselben Netzwerkzugang wie physischen Rechnern.
- Eigenschaften des Bridge-Netzwerks
- Virtuelle Maschinen befinden sich im gleichen Netzwerksegment wie der Host
- Zugriff auf VMs direkt von anderen PCs und Servern möglich
- Optimal für professionelle Serverumgebungen und Produktivbetrieb
Einrichtung einer eigenen Bridge für LAN-Zugriff
Wenn Sie VMs von anderen Rechnern im Netzwerk direkt erreichen möchten, richten Sie ein Bridge-Netzwerk ein. Beispiel für ein Setup mit dem Host-Interface eth0
:
- Installation von bridge-utils (falls noch nicht vorhanden)
sudo apt install bridge-utils
- Bearbeiten der Netzwerkkonfigurationsdatei
Ab Ubuntu 18.04 kommt Netplan zum Einsatz.
Bearbeiten Sie z. B./etc/netplan/01-netcfg.yaml
wie folgt:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
bridges:
br0:
interfaces: [eth0]
dhcp4: yes
- Übernehmen der Einstellungen
sudo netplan apply
- Die neue Bridge (br0) bei KVM als Netzwerk angeben
Im virt-manager oder mit virsh die Netzwerkkarte der VM auf br0 umstellen.
Feste IP-Adressen und Portweiterleitung für VMs
- Statische IP-Adresse
Konfigurieren Sie im Gastsystem eine statische IP oder weisen Sie per DHCP-Server eine feste IP anhand der MAC-Adresse zu. - Portweiterleitung (bei NAT)
Mit dem virsh-Befehl oder in der libvirt-XML können Sie z. B. SSH oder Webports vom Host auf die VM weiterleiten. Beispiel (SSH auf Port 22 weiterleiten):
virsh nat-forward --network default --add-port tcp:2222:22
Tipp: Feinere Einstellungen sind über die libvirt-Konfiguration oder mit firewalld möglich.
Speicherverwaltung und Festplattenoperationen
Auch das Speichermanagement ist beim Betrieb virtueller Maschinen ein entscheidender Faktor. Hier werden die wichtigsten Festplattentypen, die Verwaltung von Storage-Pools sowie das Erweitern von virtuellen Festplatten und die Nutzung von Snapshots erläutert.
Arten und Einsatz von virtuellen Festplatten (qcow2, raw)
KVM unterstützt im Wesentlichen zwei Formate für virtuelle Festplatten:
- qcow2
- Standardformat bei KVM
- Unterstützt Snapshots, Kompression und effiziente Speicherung
- Flexibel und ideal für Test- oder Entwicklungsumgebungen
- raw
- Einfaches, unkomprimiertes Format für maximale Performance
- Empfohlen für produktive Umgebungen mit hohen I/O-Anforderungen
Für die meisten Anwendungen ist qcow2 zu empfehlen – bei speziellen Anforderungen kann raw sinnvoll sein.
Anlegen und Verwalten von Storage-Pools
KVM verwaltet Speicherplatz für virtuelle Maschinen über sogenannte Storage-Pools.
- Standard-Storage-Pool
Nach der Installation befindet sich dieser unter/var/lib/libvirt/images/
.
Hier werden neue virtuelle Festplatten standardmäßig abgelegt. - Neuen Storage-Pool anlegen (Beispiel)
- Verzeichnis anlegen
sudo mkdir /data/kvm-images && sudo chown libvirt-qemu:kvm /data/kvm-images
- Im virt-manager oder mit virsh einen neuen Pool hinzufügen. Beispiel mit virsh:
virsh pool-define-as --name mypool --type dir --target /data/kvm-images; virsh pool-autostart mypool; virsh pool-start mypool
Erweitern von Festplatten & Nutzung von Snapshots
- Virtuelle Festplatte erweitern
Mit dem Toolqemu-img
können Sie qcow2- und raw-Images einfach vergrößern.
sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Anschließend muss das Gastsystem die Partition/Festplatte ebenfalls erweitern.
- Snapshots nutzen
Mit qcow2-Disks lassen sich Snapshots für Backups, vor Updates oder für Testzwecke erstellen.
virsh snapshot-create-as <VM-Name> <Snapshot-Name>
Snapshots sind ideal für schnelle Backups, Rollbacks und vor Systemänderungen.
Installation und Betrieb von Gast-Betriebssystemen
Im Folgenden erfahren Sie, wie typische Gastbetriebssysteme (Ubuntu, Windows etc.) installiert werden, wie ISO-Images verwendet werden und wie Sie die Performance im Betrieb weiter optimieren.
Beispiele für die Installation typischer Gast-OS
Mit KVM können Sie verschiedenste Betriebssysteme virtualisieren. Hier Beispiele für Ubuntu und Windows:
- Ubuntu
- Laden Sie die aktuelle Ubuntu-ISO von der offiziellen Website herunter.
- Wählen Sie im virt-manager unter „Neue VM erstellen“ das lokale Installationsmedium (ISO).
- Stellen Sie CPU, RAM und Festplattengröße ein und starten Sie die Installation.
- Folgen Sie dem Ubuntu-Setup.
- Windows
- Laden Sie das Windows-ISO von Microsoft (Evaluierungsversion o.ä.) herunter.
- Erstellen Sie eine neue VM mit virt-manager oder virt-install und wählen Sie die ISO-Datei.
- Für Windows empfiehlt sich die Installation des „virtio“-Treibers, um Disk- und Netzwerkperformance zu optimieren. Das virtio-ISO kann zusätzlich gemountet und im Windows-Setup installiert werden.
ISO-Images herunterladen und einbinden
- Für die Installation eines Gast-OS verwenden Sie das offizielle ISO-Image.
- Beim Erstellen einer VM geben Sie einfach den Pfad zur ISO-Datei an – diese wird als virtuelles CD/DVD-Laufwerk eingebunden.
- Bei Bedarf können mehrere ISOs (OS und Treiber) gleichzeitig gemountet werden.
Tipps & Tricks für den Betrieb virtueller Maschinen
- Optimale Ressourcenzuteilung
Weisen Sie jeder VM nur so viele CPU-Kerne und RAM zu, wie tatsächlich nötig. Zu großzügige Zuteilungen beeinträchtigen Host und andere VMs. - Virtio-Treiber verwenden
Gerade bei Windows oder älteren Linux-Gästen steigern Virtio-Treiber die Disk- und Netzwerkperformance erheblich. - Unnötige Dienste deaktivieren
Schalten Sie im Gast-Betriebssystem nicht benötigte Dienste und Programme ab, um Ressourcen effizient zu nutzen. - KVM Guest Tools nutzen
Mit dem QEMU Guest Agent erhalten Sie exaktere Statusinformationen und können VMs besser steuern.
Praxisbeispiele & Automatisierungstipps
KVM bietet zahlreiche Einsatzmöglichkeiten – nicht nur für klassische VMs, sondern auch für automatisierte Workflows in der Softwareentwicklung und Systemadministration. Im Folgenden einige Praxisbeispiele und Automatisierungstricks.
Beispiele für den Einsatz als Server
- Getrennte Entwicklungs- und Testumgebungen
Für jedes Projekt kann eine eigene VM mit spezifischer OS- und Softwareversion eingerichtet werden. So lassen sich neue Releases testen, ohne das Produktivsystem zu gefährden. - Interne Services
Dateiserver, Webserver, Datenbanken usw. lassen sich als getrennte VMs betreiben. Das begrenzt im Fehlerfall die Auswirkungen und erleichtert Backup und Wiederherstellung.
Automatisierung mit CLI und Ansible
- Automatisiertes Anlegen von VMs per Skript
Mitvirt-install
undvirsh
lassen sich per Shell-Skript mehrere VMs auf einmal anlegen:
for i in {1..5}
do
virt-install --name test-vm-$i --memory 1024 --vcpus 1 \
--disk size=10 --cdrom /path/to/ubuntu.iso \
--os-type linux --os-variant ubuntu20.04 --graphics none --network network=default --noautoconsole
done
- Automatisierung mit Ansible
Mit dem Open-Source-Tool „Ansible“ lassen sich nicht nur VMs, sondern auch deren Konfiguration und Installation von Apps zentral steuern. Besonders nützlich für größere Umgebungen oder einheitliches Konfigurationsmanagement.
Cloud-ähnliche Nutzungstipps
- VM-Templates erstellen
Durch die Nutzung von VM-Templates (Vorlagen) können neue Server blitzschnell bereitgestellt werden. - API-Integration & webbasierte Tools
libvirt stellt APIs bereit, um eigene Tools oder externe Managementsysteme einzubinden. Für große Umgebungen eignen sich webbasierte Admin-Tools wie Cockpit.
Troubleshooting: Typische Fehler und deren Lösung
Beim Betrieb einer KVM-Umgebung können verschiedenste Probleme auftreten – vom Startproblem über Netzwerkfehler bis zu Performanceeinbußen. Hier die häufigsten Fehler, deren Ursachen und Lösungsmöglichkeiten.

Typische Probleme mit KVM
- VM startet nicht oder kann nicht erstellt werden
- Hardware-Virtualisierung (Intel VT, AMD-V) ist im BIOS deaktiviert
- Zu wenig RAM oder Festplattenspeicher zugewiesen
- Falscher Pfad zu Storage-Pool oder ISO-Image
- Keine Netzwerkverbindung
- Netzwerkkarte der VM nicht korrekt konfiguriert
- Fehler in der Bridge- oder NAT-Konfiguration, Probleme mit DHCP
- Firewall oder Sicherheitseinstellungen blockieren den Zugriff
- Sehr geringe Performance
- Zu viele oder zu wenige Ressourcen zugewiesen
- Virtio-Treiber fehlen (besonders bei Windows-Gästen)
- Festplatten-I/O als Flaschenhals
Logs prüfen & Basis-Lösungsweg
Im Fehlerfall sollte als erstes das Log geprüft werden:
- System-Log anzeigen
sudo journalctl -xe
Hier erscheinen Fehler von KVM und libvirt.
- libvirt-Log
Zu finden unter/var/log/libvirt/
(z.B. libvirtd.log). - Logs pro VM
Im virt-manager oder mit virsh den VM-Status und Log-Ausgaben prüfen. - Netzwerkstatus überprüfen
ip a
brctl show
virsh net-list --all
Grundlegendes Troubleshooting
- Situation analysieren: Wann trat das Problem auf?
- Obige Logs und Einstellungen prüfen
- Falls nötig: Konfigurationsdateien korrigieren, Dienste/VMs neu starten oder neu anlegen
Nützliche Quellen & Communitys
Bei Fragen helfen folgende Quellen weiter:
- Offizielle Dokumentation
Ubuntu KVM Dokumentation
libvirt Dokumentation - Community-Foren & Q&A
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Fehlermeldungen googeln
Viele Probleme sind bereits im Internet (deutsch & englisch) diskutiert.
Sicherheit & Performance-Optimierung
Für einen sicheren und leistungsstarken Betrieb der KVM-Umgebung sind entsprechende Maßnahmen und Best Practices unerlässlich. Hier die wichtigsten Hinweise zu Security und Performance.
Sicherheitsmaßnahmen für virtuelle Umgebungen
- Unnötige Dienste deaktivieren, Minimalinstallation wählen
Deaktivieren Sie auf VMs und dem Host nicht benötigte Dienste, um Angriffsflächen zu minimieren. - Firewall & Zugriffsschutz
Setzen Sie Firewalls (z. B. ufw oder firewalld) sowohl auf Host als auch Gast ein und beschränken Sie SSH auf sichere Methoden wie Schlüssel und alternative Ports. Nutzen Sie ggf. fail2ban. - Trennung von Netzwerken
Wichtige Server sollten in getrennten Netzwerken betrieben oder physisch getrennt werden, um Schäden im Fall eines Angriffs zu begrenzen. - Regelmäßige Updates
Installieren Sie Sicherheitsupdates für Host- und Gastbetriebssysteme regelmäßig.
Optimale Ressourcennutzung (CPU/RAM/Disk-I/O)
- Ressourcen sinnvoll zuteilen
Achten Sie darauf, dass weder Host noch einzelne VMs über- oder unterversorgt werden. Übermäßige Zuteilung kann die gesamte Umgebung bremsen. - Disk-I/O optimieren
Für kritische VMs empfiehlt sich der Einsatz schneller SSDs. Zu viele qcow2-Snapshots können die Performance beeinträchtigen. - Virtio-Treiber nutzen
Mit Virtio-Treibern holen Sie das Maximum aus Disk und Netzwerk Ihrer VMs heraus.
Automatisierung von Backups & Snapshots
- Regelmäßige Snapshots
Nehmen Sie regelmäßig Snapshots Ihrer Produktiv-VMs, um bei Fehlern schnell wiederherstellen zu können. - Backup der Disk-Images und Konfigurationen
Sichern Sie regelmäßig die qcow2/raw-Images sowie die libvirt-XML-Konfigurationen extern. - Automatisierung per Cron/Ansible
Mit Tools wie cron oder Ansible lassen sich Backups und Snapshots automatisieren.
Fazit & Weiterführende Ressourcen
In diesem Artikel haben wir umfassend erläutert, wie Sie mit KVM auf Ubuntu eine Virtualisierungsumgebung aufbauen, nutzen und optimieren können – von den ersten Schritten bis zur Fehlersuche und Security. Abschließend noch ein Überblick und weiterführende Links zur Vertiefung.
Zusammenfassung der wichtigsten Punkte
- KVM – Merkmale & Vorteile
KVM ist eine leistungsfähige und kostenfreie Virtualisierungslösung und gerade unter Ubuntu weit verbreitet. - Von der Installation bis zum Betrieb
Von der Prüfung der CPU-Virtualisierung bis zur Rechtevergabe und dem Anlegen eigener VMs – alle Schritte wurden ausführlich erläutert. - Netzwerk, Storage & Praxistipps
Je nach Einsatz kann NAT oder Bridge-Netzwerk sinnvoll sein. Auch Storage-Pools, Disk-Erweiterung und Snapshots wurden behandelt. - Troubleshooting & Security
Typische Fehler, Logs und die wichtigsten Sicherheits- und Performance-Tipps wurden aufgezeigt.
Nächste Schritte & empfohlene Ressourcen
- Offizielle Dokumentationen
- Ubuntu KVM Guide
- libvirt Dokumentation
- Ask Ubuntu
- Qiita KVM Tag (japanisch)
- Stack Overflow (englisch)
KVM ist sowohl für Einzelanwender als auch für Unternehmen ein flexibles Virtualisierungstool. Nutzen Sie diesen Leitfaden als Einstieg und passen Sie Ihre KVM-Umgebung individuell an Ihre Bedürfnisse an!
Kommandoübersicht & praktische Beispiele (Cheatsheet)
Für den Alltag mit KVM und libvirt ist eine Übersicht der wichtigsten Kommandos und Beispiele sehr hilfreich. Hier eine kompakte Zusammenstellung für VM-Management, Netzwerk und Storage.
Wichtige Kommandos für KVM/virsh/virt-manager
- Alle VMs anzeigen
virsh list --all
- VM starten
virsh start <VM-Name>
- VM herunterfahren
virsh shutdown <VM-Name>
- VM hart stoppen
virsh destroy <VM-Name>
- Neue VM erstellen (virt-install)
virt-install --name <Name> --memory <MB> --vcpus <Kerne> \
--disk size=<GB> --cdrom <ISO-Pfad> \
--os-type linux --os-variant ubuntu20.04
- VM löschen (nur Konfiguration)
virsh undefine <VM-Name>
Netzwerk- & Bridge-Management-Beispiele
- Netzwerke anzeigen
virsh net-list --all
- Neues Netzwerk per XML definieren
Legen Sie eine XML-Datei unter/etc/libvirt/qemu/networks/
an und aktivieren Sie diese mitvirsh net-define <Dateiname>
,virsh net-start <Netzwerkname>
Storage-Management & Disk-Operationen
- Alle Storage-Pools anzeigen
virsh pool-list --all
- Festplatte erweitern
sudo qemu-img resize /path/to/disk.qcow2 +10G
- Snapshot erstellen
virsh snapshot-create-as <VM-Name> <Snapshot-Name>
Weitere hilfreiche Kommandos
- VM beim Systemstart automatisch starten
virsh autostart <VM-Name>
- Details zu einer VM anzeigen
virsh dominfo <VM-Name>
- virt-manager (GUI) starten
virt-manager
FAQ (Häufig gestellte Fragen)
Hier finden Sie Antworten auf häufige Fragen rund um KVM und Virtualisierung mit Ubuntu.
Q1: Was ist der Unterschied zwischen KVM, VirtualBox und VMware?
A1: KVM ist eine leistungsfähige, in den Linux-Kernel integrierte Virtualisierungslösung, ideal für Server und professionelle Einsätze. VirtualBox richtet sich eher an Desktop-Anwender, VMware bietet viele Funktionen und Support, ist aber kostenpflichtig. KVM bietet eine gute Mischung aus Leistung und Kostenkontrolle.
Q2: Wie sichere und stelle ich VMs wieder her?
A2: Die einfachste Methode ist das Kopieren der Festplatten-Images (qcow2 oder raw). Zusätzlich sollten Sie Snapshots mit virsh und die XML-Konfigurationsdateien sichern, um eine schnelle Wiederherstellung zu ermöglichen.
Q3: Wie kann ich USB-Geräte in einer VM nutzen?
A3: Mit „Hardware hinzufügen“ im virt-manager oder entsprechenden virsh-Befehlen können Sie USB-Sticks, externe Festplatten oder Drucker direkt an eine VM durchreichen (USB Passthrough).
Q4: Wie starte ich VMs beim Hochfahren des Hosts automatisch?
A4: Verwenden Sie virsh autostart <VM-Name>
, um die VM beim Booten des Hostsystems automatisch starten zu lassen.
Q5: Was tun bei langsamer VM-Performance?
A5: Überprüfen Sie die Ressourcenzuteilung (CPU/RAM), optimieren Sie Festplatten-I/O (ggf. qcow2 → raw wechseln) und installieren Sie Virtio-Treiber im Gastbetriebssystem.
Q6: Probleme bei der Netzwerkkonfiguration?
A6: Kontrollieren Sie mit virsh und brctl die Netzwerkeinstellungen. Überprüfen und korrigieren Sie ggf. die Bridge-Konfiguration oder Netplan/NetworkManager-Dateien.
Q7: Kann ich mit KVM Cluster oder Hochverfügbarkeitslösungen (HA) umsetzen?
A7: Ja, mit Tools wie Pacemaker, Corosync und gemeinsamem Storage (z. B. NFS, iSCSI) lassen sich auch HA-Umgebungen und Live-Migrationen realisieren. Für den Einstieg ist aber weiterführende Literatur ratsam.