Ubuntu Server Virtualisierung mit KVM: Einrichtung, Best Practices & Troubleshooting

目次

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 Virtualisierung
  • libvirt-daemon-system, libvirt-clients: Verwaltungsdienste für VMs
  • bridge-utils: Tools für Netzwerk-Bridging
  • virt-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.

  1. Starten Sie virt-manager über das Menü oder Terminal.
  2. Klicken Sie oben links auf „Neu“.
  3. Geben Sie den Speicherort für das Installationsmedium (z. B. ISO-Image) an und wählen Sie das Gastbetriebssystem (z. B. Ubuntu, Windows) aus.
  4. Konfigurieren Sie die gewünschte Anzahl CPUs, RAM und Festplattengröße für die VM.
  5. 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:

  1. Installation von bridge-utils (falls noch nicht vorhanden)
   sudo apt install bridge-utils
  1. 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
  1. Übernehmen der Einstellungen
   sudo netplan apply
  1. 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)
  1. Verzeichnis anlegen
    sudo mkdir /data/kvm-images && sudo chown libvirt-qemu:kvm /data/kvm-images
  2. 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 Tool qemu-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
  1. Laden Sie die aktuelle Ubuntu-ISO von der offiziellen Website herunter.
  2. Wählen Sie im virt-manager unter „Neue VM erstellen“ das lokale Installationsmedium (ISO).
  3. Stellen Sie CPU, RAM und Festplattengröße ein und starten Sie die Installation.
  4. Folgen Sie dem Ubuntu-Setup.
  • Windows
  1. Laden Sie das Windows-ISO von Microsoft (Evaluierungsversion o.ä.) herunter.
  2. Erstellen Sie eine neue VM mit virt-manager oder virt-install und wählen Sie die ISO-Datei.
  3. 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
    Mit virt-install und virsh 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

  1. Situation analysieren: Wann trat das Problem auf?
  2. Obige Logs und Einstellungen prüfen
  3. Falls nötig: Konfigurationsdateien korrigieren, Dienste/VMs neu starten oder neu anlegen

Nützliche Quellen & Communitys

Bei Fragen helfen folgende Quellen weiter:

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

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 mit
    virsh 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.

年収訴求