- 1 Einführung
- 2 Vergleich zwischen KVM und anderen Virtualisierungstechnologien
- 3 Erstellung von virtuellen Maschinen und Grundoperationen
- 4 Netzwerkkonfiguration und Erweiterungen
- 5 Speicherverwaltung und Festplattenoperationen
- 6 Gast‑OS-Installation und -Betrieb
- 7 Praktische Anwendungsfälle und Automatisierungstipps
- 8 Fehlersuche und häufige Fehlerlösungen
- 9 Sicherheit und Leistungsoptimierung
- 10 Fazit und Lernressourcen
- 11 Befehls‑Spickzettel und gängige Konfigurationsbeispiele
- 12 FAQ
- 12.1 Q1: Was ist der Unterschied zwischen KVM, VirtualBox und VMware?
- 12.2 Q2: Wie kann ich virtuelle Maschinen sichern und wiederherstellen?
- 12.3 Q3: Kann ich USB-Geräte in einer virtuellen Maschine verwenden?
- 12.4 Q4: Wie kann ich virtuelle Maschinen automatisch beim Start des Hosts starten?
- 12.5 Q5: Was sollte ich tun, wenn eine virtuelle Maschine langsam läuft?
- 12.6 Q6: Die Netzwerkkonfiguration funktioniert nicht korrekt. Was sollte ich überprüfen?
- 12.7 Q7: Kann ich mit KVM Cluster oder High-Availability (HA)-Konfigurationen aufbauen?
Einführung
Ubuntu ist eine der am weitesten verbreiteten Linux-Distributionen der Welt und wird in einer Vielzahl von Umgebungen von einzelnen Benutzern bis hin zu Unternehmenssystemen eingesetzt. Es wird häufig für den Aufbau von Servern und Entwicklungsumgebungen verwendet. Wenn Sie auf Ubuntu eine umfassende Virtualisierung implementieren möchten, ist eine der leistungsstärksten verfügbaren Lösungen KVM (Kernel-based Virtual Machine).
KVM ist eine hypervisorbasierte Virtualisierungstechnologie, die direkt in den Linux‑Kernel integriert ist. Durch die Nutzung hardwareunterstützter Virtualisierungsfunktionen wie Intel VT und AMD‑V liefert es hohe Leistung und Stabilität. Als Open‑Source‑Lösung ermöglicht KVM den Aufbau einer robusten Virtualisierungsinfrastruktur bei gleichzeitig niedrigen Kosten.
Virtualisierungstechnologien können zunächst komplex erscheinen. Mit der Kombination aus Ubuntu und KVM können jedoch selbst Anfänger relativ einfach virtuelle Maschinen erstellen und betreiben. Sie ist zudem sehr empfehlenswert für fortgeschrittene Nutzer, die vorhandene physische Serverressourcen effizient nutzen wollen, sowie für Ingenieure, die Produktionssysteme virtualisieren möchten.
Dieser Artikel liefert eine umfassende Erklärung, wie man eine KVM‑basierte Virtualisierungsumgebung auf Ubuntu aufbaut, und behandelt grundlegende Nutzung, praktische Betriebstechniken sowie Lösungen für häufige Probleme. Wenn Sie darüber nachdenken, KVM einzuführen, oder die Virtualisierung auf Ubuntu besser nutzen möchten, sollten Sie den gesamten Beitrag lesen.
Vergleich zwischen KVM und anderen Virtualisierungstechnologien
Es gibt viele Arten von Virtualisierungstechnologien. In Ubuntu‑Umgebungen werden häufig KVM, VirtualBox und VMware verwendet. Dieser Abschnitt erklärt die Eigenschaften und Unterschiede der einzelnen Optionen sowie die Vor‑ und Nachteile der Wahl von KVM.
Haupttypen von Virtualisierungstechnologien
- KVM (Kernel-based Virtual Machine) – KVM ist ein Virtualisierungsfeature, das in den Linux‑Kernel eingebaut ist und Linux als Host‑OS erfordert. Durch die Nutzung von Hardware‑Virtualisierungsunterstützung wie Intel VT und AMD‑V bietet es eine hohe Leistung von virtuellen Maschinen, die für den Produktionseinsatz geeignet ist. Flexible Operationen sind über Befehlszeilentools und Verwaltungsprogramme wie virt‑manager möglich.
- VirtualBox – VirtualBox ist eine desktop‑orientierte Virtualisierungssoftware von Oracle, die unter Windows, macOS und Linux läuft. Sie verfügt über eine intuitive Benutzeroberfläche und wird häufig für private oder Lernzwecke eingesetzt. Im Vergleich zu KVM ist sie jedoch weniger für stark belastete oder kommerzielle Umgebungen geeignet.
- VMware (VMware Workstation / ESXi usw.) – VMware ist ein kommerzielles Virtualisierungsprodukt, das in Unternehmensumgebungen weit verbreitet ist. Es bietet umfangreiche Funktionen und starken Support, erfordert jedoch kostenpflichtige Lizenzen, was die Betriebskosten, insbesondere bei großflächigen Einsätzen, erhöht.
Vorteile von KVM
- Hohe Leistung und Stabilität – Da KVM als Teil des Linux‑Kernels arbeitet, ermöglicht es eine effiziente Ressourcennutzung und eine feinkörnige Steuerung von CPU‑ und Speicherzuweisungen. Seine Stabilität macht es für den realen Produktionseinsatz geeignet.
- Open Source und kostenfrei – KVM ist vollständig Open Source und erfordert keine Lizenzgebühren, was es ideal für den Aufbau einer Virtualisierungsplattform mit begrenztem Budget macht.
- Umfangreiche Verwaltungs‑ und Automatisierungstools – KVM bietet sowohl Befehlszeilentools (virsh, virt‑install) als auch GUI‑Tools (virt‑manager), wodurch die Automatisierung von Vorgängen und die Integration in DevOps‑ und Infrastruktur‑Management‑Workflows erleichtert wird.
Nachteile von KVM
- Nur Linux‑Host‑OS – KVM erfordert den Linux‑Kernel und kann nicht als Host unter Windows oder macOS verwendet werden.
- Linux‑Kenntnisse für Einrichtung und Fehlersuche erforderlich – Obwohl GUI‑Tools vorhanden sind, erfordern erweiterte Konfigurationen und Fehlersuchen häufig Befehlszeilenoperationen und Linux‑spezifisches Wissen.
Wann sollten Sie KVM wählen?
- Wenn Sie physische Serverressourcen effizient nutzen möchten
- Wenn Virtualisierung für produktionsreife Systeme oder Server erforderlich ist
- Wenn Sie eine funktionsreiche Virtualisierungsplattform zu geringen Kosten aufbauen möchten
- Wenn Sie Linux-Server-Operationen und Infrastrukturverwaltung automatisieren möchten
KVM wird nicht nur erfahrenen Linux‑Benutzern und -Ingenieuren empfohlen, sondern auch jenen, die in Zukunft ernsthafte Server‑Operationen planen.
Erstellung von virtuellen Maschinen und Grundoperationen
Sobald die KVM‑Umgebung bereit ist, können Sie mit der Erstellung und dem Betrieb virtueller Maschinen beginnen. KVM ermöglicht es Ihnen, je nach Anwendungsfall zwischen einem grafischen Verwaltungswerkzeug (virt-manager) und Befehlszeilen‑Operationen (virt-install und virsh) zu wählen. Dieser Abschnitt stellt beide Ansätze vor.
Erstellung virtueller Maschinen mit virt-manager (GUI)
virt-manager ist ein Werkzeug, das Ihnen ermöglicht, virtuelle Maschinen über eine intuitive grafische Oberfläche zu erstellen und zu verwalten. Wenn Sie eine Linux‑Desktop‑Umgebung verwenden, ist virt-manager besonders praktisch.
- Starten Sie
virt-managerüber das Anwendungsmenü oder die Befehlszeile. - Klicken Sie auf die Schaltfläche „Neu“ in der oberen linken Ecke.
- Wählen Sie den Ort des Installationsmediums (z. B. ein ISO‑Image) und den Gast‑OS‑Typ (z. B. Ubuntu oder Windows).
- Konfigurieren Sie die CPU‑Anzahl, den Speicherumfang und die Festplattenkapazität für die virtuelle Maschine.
- Überprüfen Sie die Einstellungen und klicken Sie auf „Fertig“, um die virtuelle Maschine zu erstellen und den Installationsvorgang zu starten.
Mit virt-manager können Sie virtuelle Maschinen einfach starten, stoppen und neu starten, Snapshots erstellen sowie Netzwerk‑Interfaces oder Speichergeräte hinzufügen.
Erstellung virtueller Maschinen mit virt-install (CLI)
Für Server‑Anwendungsfälle oder Remote‑Umgebungen ist das Erstellen virtueller Maschinen über die Befehlszeile oft praktischer. Im Folgenden ein Beispiel für die Grundverwendung des Befehls virt-install.
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 virtuellen Maschine--memory: Zugewiesener Speicher (in MB)--vcpus: Anzahl der virtuellen CPU‑Kerne--disk size=20: Größe der virtuellen Festplatte (in GB)--cdrom: Pfad zum für die Installation verwendeten ISO‑Image--os-type,--os-variant: Betriebssystemtyp und -version--network: Netzwerkkonfiguration--graphics: Grafikmodus (z. B. VNC)
Nach Ausführung des Befehls startet die virtuelle Maschine automatisch und zeigt den Installationsbildschirm über VNC oder eine andere grafische Schnittstelle an.
Starten, Stoppen, Löschen und Erstellen von Snapshots virtueller Maschinen
KVM erleichtert die Verwaltung virtueller Maschinen mit einfachen Befehlen. Zu den gängigen Vorgängen gehören:
- Eine virtuelle Maschine starten
virsh start <virtual-machine-name>
- Eine virtuelle Maschine herunterfahren
virsh shutdown <virtual-machine-name>
- Eine virtuelle Maschine zwangsweise stoppen
virsh destroy <virtual-machine-name>
- Eine virtuelle Maschine löschen (Vorsicht beim Entfernen von Festplatten)
virsh undefine <virtual-machine-name>
- Einen Snapshot erstellen
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
All diese Vorgänge können auch über die virt-manager‑GUI durchgeführt werden.
Netzwerkkonfiguration und Erweiterungen
Die Netzwerkkonfiguration ist ein kritischer Aspekt beim Betrieb virtueller Maschinen mit KVM. Während die Standardkonfiguration für viele Anwendungsfälle ausreicht, erfordern Produktionsumgebungen häufig Anpassungen. Dieser Abschnitt erklärt die Grundlagen der KVM‑Netzwerkverwaltung und gängige erweiterte Konfigurationen.
Unterschiede zwischen Standard‑NAT (virbr0) und Bridge‑Netzwerk
Bei der Installation von KVM wird automatisch eine virtuelle Netzwerkbrücke namens virbr0 erstellt. Dies ist ein NAT‑basiertes Netzwerk mit den folgenden Merkmalen.
- Eigenschaften von virbr0 (NAT‑Modus)
- Virtuelle Maschinen können auf das externe Internet zugreifen
- Direkter Zugriff vom Host oder anderen Netzwerken erfordert Portweiterleitung
- Ideal für den Heimgebrauch, Entwicklung und Testumgebungen
Im Gegensatz dazu bietet Bridge‑Netzwerk den virtuellen Maschinen einen Zugriff, der dem physischen Netzwerk entspricht.
- Eigenschaften von Bridge‑Netzwerken
- Virtuelle Maschinen schließen sich dem gleichen Netzwerksegment wie der Host an
- Direkter Zugriff von physischen PCs und anderen Servern ist möglich
- Ideal für Produktionsserver und öffentlich zugängliche Dienste
Erstellen und Konfigurieren einer benutzerdefinierten Bridge (für LAN‑Zugriff)
Wenn Sie direkten Zugriff auf virtuelle Maschinen von Produktionsservern oder anderen PCs ermöglichen möchten, sollten Sie ein Bridge‑Netzwerk konfigurieren. Nachfolgend ein allgemeines Verfahrensbeispiel, bei dem die physische Netzwerkschnittstelle des Hosts eth0 ist.
- bridge-utils installieren (überspringen, wenn bereits installiert)
sudo apt install bridge-utils
- Die Netzwerkkonfigurationsdatei bearbeiten Ubuntu 18.04 und neuer verwenden Netplan. Bearbeiten Sie eine Konfigurationsdatei wie
/etc/netplan/01-netcfg.yaml. Beispiel:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes
- Die Konfiguration anwenden
sudo netplan apply
- Die neue Bridge (br0) dem Netzwerk der virtuellen Maschine zuweisen Ändern Sie den Netzwerkadapter zu br0 mittels virt‑manager oder virsh.
Statische IP‑Zuweisung und Portweiterleitung
- Statische IP‑Zuweisung Sie können eine statische IP‑Adresse im Gastbetriebssystem konfigurieren oder über den DHCP‑Server basierend auf der MAC‑Adresse eine feste IP zuweisen.
- Portweiterleitung (bei Verwendung von NAT) Mit dem virsh‑Befehl oder der libvirt‑XML‑Konfiguration können Sie bestimmte Ports (wie SSH oder Webdienste) vom Host zur virtuellen Maschine weiterleiten. Beispiel (Weiterleitung des SSH‑Ports 22):
virsh nat-forward --network default --add-port tcp:2222:22
Hinweis: Fortgeschrittenere Konfigurationen sind möglich, indem libvirt‑Konfigurationsdateien bearbeitet oder der Zugriff mit firewalld gesteuert wird.
Speicherverwaltung und Festplattenoperationen
Beim Betrieb von virtuellen Maschinen mit KVM sind Speicherdesign und Festplattenverwaltung äußerst wichtig. Dieser Abschnitt erklärt die Arten von virtuellen Festplatten, wie man sie erstellt, wie man Speicherpools verwaltet und wie man Festplatten erweitert sowie Snapshots effektiv nutzt.
Virtuelle Festplattentypen (qcow2 und raw) und Anwendungsfälle
KVM unterstützt hauptsächlich die folgenden beiden Arten von virtuellen Festplatten.
- qcow2‑Format
- Das Standard‑Virtuelle‑Festplattenformat für KVM
- Unterstützt Snapshots, Festplattenkompression und platzsparende Zuweisung
- Ideal für flexible Operationen und Testumgebungen
- raw‑Format
- Ein einfaches Format ohne Kompression oder Konvertierung
- Am besten geeignet für maximale Leistung und I/O‑intensive Workloads
In den meisten Fällen wird qcow2 empfohlen, aber Sie sollten das Format basierend auf Ihren spezifischen Anforderungen wählen.
Erstellen und Verwalten von Speicherpools
KVM verwaltet die von virtuellen Maschinen genutzten Festplattenressourcen über ein Konzept namens Speicherpools.
- Standard‑Speicherpool Nach der Installation wird
/var/lib/libvirt/images/als Standard‑Speicherpool verwendet. Virtuelle Festplatten werden in diesem Verzeichnis erstellt. - Erstellen eines neuen Speicherpools (Beispiel)
- Erstellen Sie ein Verzeichnis
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images - Fügen Sie einen neuen Pool mittels virt‑manager oder virsh hinzu. Mit virsh:
virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool
Erweiterung virtueller Festplatten und Verwendung von Snapshots
- Erweiterung virtueller Festplatten Um die Festplattenkapazität zu erhöhen, verwenden Sie den Befehl
qemu-img(unterstützt für sowohl qcow2 als auch raw).sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Nach der Größenänderung müssen Sie auch die Partition und das Dateisystem im Gastbetriebssystem erweitern.
- Verwendung von Snapshots Mit qcow2‑Festplatten können Sie Snapshots erstellen, um den Zustand einer virtuellen Maschine zu einem bestimmten Zeitpunkt zu speichern.
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Snapshots sind äußerst nützlich für Backups vor Konfigurationsänderungen, Systemupdates oder zum Testen von Rollback‑Szenarien.
Gast‑OS-Installation und -Betrieb
Dieser Abschnitt erklärt, wie man Betriebssysteme in KVM‑virtuellen Maschinen installiert und effizient betreibt. Er behandelt typische Installationsverfahren für Gast‑OS, den Umgang mit ISO‑Images und Tipps zur Leistungsoptimierung.
Installation gängiger Gast‑Betriebssysteme
KVM unterstützt eine Vielzahl von Gast‑Betriebssystemen, darunter Ubuntu, CentOS und Windows. Im Folgenden finden Sie Beispiel‑Installationsverfahren für Ubuntu und Windows.
- Ubuntu-Installation
- Laden Sie das neueste ISO‑Image von der offiziellen Ubuntu‑Website herunter.
- Wählen Sie im virt‑manager beim Erstellen einer neuen virtuellen Maschine „Lokales Installationsmedium“ und geben Sie das heruntergeladene ISO‑File an.
- Konfigurieren Sie CPU, Arbeitsspeicher und Festplattenkapazität für die virtuelle Maschine.
- Folgen Sie den Bildschirmanweisungen, um die Standard‑Ubuntu‑Installation abzuschließen.
- Windows-Installation
- Laden Sie ein Windows‑Evaluations‑ISO‑Image von der offiziellen Microsoft‑Website herunter.
- Erstellen Sie eine neue virtuelle Maschine mit virt‑manager oder virt‑install und geben Sie das ISO‑File an.
- Für Windows‑Gäste verbessert die Installation von virtio‑Treibern die Festplatten‑ und Netzwerkleistung erheblich. Binden Sie das virtio‑ISO als virtuelles CD‑Laufwerk ein und verwenden Sie es während der Einrichtung.
Beschaffung und Einbindung von ISO‑Images
- Die Installation von Gast‑OS erfordert ISO‑Images, die von offiziellen Quellen heruntergeladen wurden.
- Durch Angabe des ISO‑Dateipfads beim Erstellen der VM wird es als virtuelles CD/DVD eingebunden.
- Mehrere ISO‑Images (OS und Treiber) können bei Bedarf gleichzeitig eingebunden werden.
Tipps für den Betrieb von Gast‑OS und Leistungsoptimierung
- Ressourcenzuweisung optimieren CPU und Arbeitsspeicher angemessen zuweisen. Eine Überzuweisung von Ressourcen kann das Host‑OS und andere virtuelle Maschinen negativ beeinflussen.
- virtio‑Treiber installieren Die Installation von virtio‑Treibern in Windows‑ oder älteren Linux‑Gästen verbessert die Festplatten‑ und Netzwerkleistung erheblich.
- Unnötige Dienste deaktivieren Das Deaktivieren nicht genutzter Dienste und Hintergrundprozesse im Gast‑OS hilft, Systemressourcen zu schonen.
- KVM‑Gast‑Tools verwenden Die Installation des QEMU‑Guest‑Agents ermöglicht genauere VM‑Informationsabfragen und kontrollierte Herunterfahren‑Operationen.
Praktische Anwendungsfälle und Automatisierungstipps
KVM ist nicht nur auf die einfache Erstellung und den Betrieb von virtuellen Maschinen beschränkt. Es wird in vielen geschäftlichen und Entwicklungs‑Szenarien eingesetzt, und seine Verwaltungseffizienz kann durch die Kombination mit Skripten und Automatisierungstools erheblich gesteigert werden. Dieser Abschnitt stellt praktische Anwendungsfälle und Automatisierungsideen vor.
Beispiele für Server‑Anwendungsfälle
- Trennung von Entwicklungs‑ und Testumgebungen Durch das Vorbereiten separater virtueller Maschinen für jedes Projekt können Sie Software‑Versionen und Konfigurationen frei wechseln. So können Sie neue OS‑Versionen oder Anwendungen testen, ohne Produktionssysteme zu beeinträchtigen.
- Aufbau interner Dienste Das Betreiben von Dateiservern, Web‑Servern und Datenbank‑Servern in separaten virtuellen Maschinen begrenzt die Auswirkungen von Ausfällen. Backups und Snapshots können ebenfalls pro VM einfach verwaltet werden.
Automatisierte Bereitstellung mit CLI und Ansible
- Automatisierte VM‑Erstellung mit CLI Durch Skripting von
virt-install‑ undvirsh‑Befehlen können Sie mehrere virtuelle Maschinen automatisch erstellen und verwalten. Beispiel: Shell‑Skript für die stapelweise VM‑Erstellung.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
- Infrastructure‑Automatisierung mit Ansible Mit Ansible können Sie die Erstellung von virtuellen Maschinen, die Erstkonfiguration und die Anwendungsbereitstellung ausschließlich mit Playbooks automatisieren. Dies ist besonders effektiv für Umgebungen mit vielen Servern oder wo Konsistenz der Konfiguration entscheidend ist.
Tipps für Cloud‑ähnliche Operationen
- Erstellen von VM‑Vorlagen Das Speichern häufig genutzter Basis‑virtueller Maschinen als Vorlagen ermöglicht es, neue Server fast sofort bereitzustellen.
- API‑Integration und webbasierte Verwaltungstools libvirt stellt APIs bereit, die in benutzerdefinierte Werkzeuge oder andere Verwaltungssysteme integriert werden können. In groß angelegten Umgebungen ermöglichen webbasierte Verwaltungstools wie Cockpit eine visuelle und zentrale Steuerung.
Fehlersuche und häufige Fehlerlösungen
Beim Betrieb einer KVM‑Umgebung können Probleme auftreten, wie z. B. dass virtuelle Maschinen nicht starten oder Netzwerkverbindungsprobleme auftreten. Dieser Abschnitt behandelt häufige Probleme, Schritte zur Fehlersuche und wie man Protokolle und Support‑Ressourcen effektiv nutzt.

Häufige Probleme in KVM
- Virtuelle Maschine startet nicht oder kann nicht erstellt werden
- Hardware‑Virtualisierung (Intel VT oder AMD‑V) ist deaktiviert
- Unzureichender zugewiesener Arbeitsspeicher oder Festplattenspeicher
- Falscher Speicher‑Pool oder falscher ISO‑Image‑Pfad
- Netzwerkverbindungsprobleme
- Falsche Konfiguration des virtuellen Netzwerkadapters
- Fehlkonfigurierte Bridge oder NAT bzw. DHCP‑Zuweisungsfehler
- Firewall‑ oder Sicherheitsbeschränkungen
- Stark degradierte Leistung
- Über‑ oder Unterzuweisung von Ressourcen
- Fehlende virtio‑Treiber (insbesondere für Windows‑Gäste)
- Engpässe bei Festplatten‑I/O
Protokollinspektion und grundlegender Fehlersuchablauf
Wenn Probleme auftreten, sollte das Überprüfen der Protokolle Ihr erster Schritt sein.
- Systemprotokolle prüfen
sudo journalctl -xe
Suchen Sie nach Fehlermeldungen im Zusammenhang mit KVM oder libvirt.
- Libvirt‑Protokolle prüfen Protokolldateien unter
/var/log/libvirt/(wielibvirtd.log) liefern wertvolle Informationen. - VM‑spezifische Protokolle prüfen Verwenden Sie virt‑manager oder virsh, um den VM‑Status zu inspizieren und Fehlermeldungen in den Protokollen oder der Detailansicht zu prüfen.
- Netzwerkstatus prüfen
ip a brctl show virsh net-list --all
Diese Befehle helfen, Netzwerkverbindungen und Bridge‑Konfigurationen zu überprüfen.
Grundlegender Fehlersuch‑Arbeitsablauf
- Ermitteln Sie, wann das Problem auftrat und was sich geändert hat
- Protokolle und Konfigurationen überprüfen
- Einstellungen bei Bedarf anpassen und Dienste neu starten oder die virtuelle Maschine neu erstellen
Nutzung offizieller Dokumentation und Community‑Ressourcen
Die folgenden Ressourcen sind bei der Fehlersuche äußerst hilfreich.
- Offizielle Dokumentation Ubuntu Official KVM Documentation libvirt Official Documentation
- Community‑Foren und Q&A‑Seiten
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Suche mit Fehlermeldungen Das Suchen nach genauen Fehlermeldungen sowohl auf Englisch als auch in Ihrer Landessprache liefert häufig passende Lösungen.
Sicherheit und Leistungsoptimierung
Um eine KVM‑Umgebung sicher und effizient zu betreiben, sind Sicherheitsmaßnahmen und Leistungsoptimierung unerlässlich. Dieser Abschnitt stellt praktische Techniken zum Schutz Ihrer Virtualisierungsplattform und zur Maximierung der Ressourceneffizienz vor.
Stärkung der Virtualisierungssicherheit
- Unnötige Dienste deaktivieren und Konfiguration minimieren Deaktivieren Sie nicht genutzte Dienste sowohl im Gast- als auch im Hostsystem, um die Angriffsfläche zu reduzieren.
- Firewall und Zugriffskontrolle Konfigurieren Sie Firewalls (wie ufw oder firewalld) angemessen auf Host- und Gastsystemen. Schützen Sie den SSH‑Zugang mit nicht‑Standard‑Ports, schlüsselbasierter Authentifizierung und Tools wie fail2ban.
- Isolation zwischen virtuellen Maschinen Trennen Sie kritische Server mithilfe verschiedener virtueller Netzwerke oder physischer Netzwerksegmentierung, um im Falle einer Kompromittierung den Schaden zu begrenzen.
- Regelmäßige Updates Halten Sie sowohl Host- als auch Gastsysteme mit Sicherheitspatches und Software‑Updates auf dem neuesten Stand.
Optimierung der Ressourcenzuweisung (CPU, Arbeitsspeicher, Festplatten‑I/O)
- Grundlegende Ressourcenverwaltung Weisen Sie jeder virtuellen Maschine CPU und Arbeitsspeicher sorgfältig zu, während Sie dem Hostsystem ausreichend Ressourcen vorbehalten.
- Optimierung von Festplatten‑I/O Verwenden Sie Hochgeschwindigkeits‑SSD‑Speicher für kritische virtuelle Maschinen. Seien Sie vorsichtig bei übermäßigem Einsatz von Snapshots im qcow2‑Format, da dies die Leistung beeinträchtigen kann.
- Verwendung von virtio‑Treibern Die Installation von virtio‑Treibern verbessert die Festplatten‑ und Netzwerkleistung in Gastbetriebssystemen erheblich.
Automatisierung von Backups und Snapshots
- Regelmäßige Snapshot‑Erstellung Periodische Snapshots ermöglichen eine schnelle Wiederherstellung im Falle eines Systemausfalls.
- Sichern von Disk‑Images und Konfigurationsdateien Sichern Sie regelmäßig virtuelle Disk‑Images (qcow2 oder raw) und libvirt‑XML‑Konfigurationsdateien auf externen Speicher.
- Integration mit Automatisierungstools Verwenden Sie cron oder Ansible, um Backup‑ und Snapshot‑Aufgaben zu automatisieren.
Fazit und Lernressourcen
Dieser Artikel hat alles abgedeckt, von der Erstellung einer KVM‑Virtualisierungsumgebung unter Ubuntu bis hin zu täglichen Operationen, praktischen Anwendungsfällen, Fehlersuche, Sicherheit und Leistungsoptimierung. Nachfolgend finden Sie eine Zusammenfassung und empfohlene Ressourcen für weiterführendes Lernen.
Zusammenfassung
- Übersicht und Vorteile von KVM KVM ist eine Open‑Source‑ und Hochleistung‑Virtualisierungstechnologie, die in Ubuntu‑Serverumgebungen weit verbreitet ist.
- Von der Installation bis zum Betrieb Wir haben CPU‑Virtualisierungsprüfungen, Paketinstallation, Berechtigungseinrichtung, VM‑Erstellung und grundlegende Operationen durchlaufen.
- Netzwerk, Speicher und bewährte Betriebspraktiken Sie haben gelernt, wie man NAT‑ und Bridge‑Netzwerke konfiguriert, Speicherpools verwaltet, Festplatten erweitert und Snapshots effektiv nutzt.
- Fehlersuche und Sicherheit Häufige Fehlermeldungen, Methoden zur Protokollinspektion und bewährte Verfahren für sichere und effiziente Abläufe wurden vorgestellt.
Nächste Schritte und empfohlene Ressourcen
- Offizielle Dokumentation
- Ubuntu Official KVM Guide
- libvirt Official Documentation
- Ask Ubuntu
- Qiita KVM Tag
- Stack Overflow (English)
KVM ist eine leistungsstarke Virtualisierungsplattform, die sowohl für den Einzelgebrauch als auch für Unternehmen geeignet ist. Nutzen Sie diesen Leitfaden als Grundlage, um Ihr Verständnis weiter zu vertiefen und KVM an Ihre spezifischen Anforderungen anzupassen.
Befehls‑Spickzettel und gängige Konfigurationsbeispiele
Häufig verwendete Befehle und Konfigurationsbeispiele griffbereit zu haben, kann die tägliche VM‑Verwaltung erheblich effizienter machen. Dieser Abschnitt bietet eine kompakte Referenz.
Häufige KVM / virsh / virt‑manager Befehle
- Virtuelle Maschinen auflisten
virsh list --all
- Eine virtuelle Maschine starten
virsh start <virtual-machine-name>
- Eine virtuelle Maschine herunterfahren
virsh shutdown <virtual-machine-name>
- Eine virtuelle Maschine zwangsweise stoppen
virsh destroy <virtual-machine-name>
- Eine virtuelle Maschine erstellen (virt-install)
virt-install --name <name> --memory <MB> --vcpus <cores> \ --disk size=<GB> --cdrom <ISO-path> \ --os-type linux --os-variant ubuntu20.04
- Eine virtuelle Maschine entfernen (nur Definition)
virsh undefine <virtual-machine-name>
Beispiele für Netzwerk- und Bridge-Konfiguration
- Netzwerke auflisten
virsh net-list --all
Speicherverwaltung und Festplattenoperationen
- Speicherpools auflisten
virsh pool-list --all
- Größe einer virtuellen Festplatte ändern
sudo qemu-img resize /path/to/disk.qcow2 +10G
- Einen Snapshot erstellen
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Andere nützliche Tipps
- VM-Autostart aktivieren
virsh autostart <virtual-machine-name>
- Detaillierte VM-Informationen anzeigen
virsh dominfo <virtual-machine-name>
- virt-manager starten (GUI)
virt-manager
FAQ
Q1: Was ist der Unterschied zwischen KVM, VirtualBox und VMware?
A1: KVM ist eine hochperformante Virtualisierungsplattform, die in den Linux-Kernel integriert ist und gut für Produktionsserver geeignet ist. VirtualBox ist hauptsächlich für den Desktop-Einsatz konzipiert, während VMware reiche Enterprise-Funktionen mit kommerzieller Unterstützung bietet. KVM ist ideal, wenn Sie hohe Leistung zu niedrigen Kosten wünschen.
Q2: Wie kann ich virtuelle Maschinen sichern und wiederherstellen?
A2: Sie können virtuelle Maschinen sichern, indem Sie Festplatten-Image-Dateien (qcow2 oder raw) kopieren. Es wird auch empfohlen, libvirt-XML-Konfigurationsdateien und Snapshots zu sichern, um die Wiederherstellung zu erleichtern.
Q3: Kann ich USB-Geräte in einer virtuellen Maschine verwenden?
A3: Ja. Sie können USB-Passthrough mit den Hardware-Einstellungen von virt-manager oder über virsh konfigurieren, um USB-Speichergeräte, externe Laufwerke und Drucker in virtuellen Maschinen zu verwenden.
Q4: Wie kann ich virtuelle Maschinen automatisch beim Start des Hosts starten?
A4: Führen Sie den Befehl virsh autostart <virtual-machine-name> aus, um den automatischen Start beim Booten des Host-Systems zu aktivieren.
Q5: Was sollte ich tun, wenn eine virtuelle Maschine langsam läuft?
A5: Überprüfen Sie die CPU- und Speicherzuweisung, optimieren Sie die Festplatten-I/O (verwenden Sie schnellere Speicher oder wechseln Sie von qcow2 zu raw, falls angemessen), und installieren Sie virtio-Treiber im Gast-Betriebssystem.
Q6: Die Netzwerkkonfiguration funktioniert nicht korrekt. Was sollte ich überprüfen?
A6: Überprüfen Sie den Netzwerkstatus mit virsh- und brctl-Befehlen. Überprüfen Sie Bridge- und Netplan- oder NetworkManager-Konfigurationsdateien und erstellen Sie virtuelle Netzwerke bei Bedarf neu.
Q7: Kann ich mit KVM Cluster oder High-Availability (HA)-Konfigurationen aufbauen?
A7: Ja. Indem Sie KVM mit Pacemaker, Corosync und geteiltem Speicher (NFS oder iSCSI) kombinieren, können Sie HA-Konfigurationen und Live-Migration implementieren. Fortgeschrittene Kenntnisse sind erforderlich.

