Software

Was ist KVM Virtualisierung? Funktionsweise, Nutzen, Einsatz

Talha Aslan 18 Minuten Lesezeit 2 Aufrufe

Was ist KVM Virtualisierung?

KVM (Kernel-based Virtual Machine) ist eine Virtualisierungslösung, die im Linux Kernel steckt. Sie läuft auf Prozessoren mit Virtualisierungserweiterungen und macht aus einem Linux Rechner einen Hypervisor. Dadurch betreiben Sie auf einer physischen Maschine mehrere unabhängige virtuelle Maschinen, jede mit eigenem Betriebssystem, eigener Festplatte und eigener Netzwerkkarte.

In diesem Leitfaden erklären wir, wie die KVM Virtualisierung funktioniert und wie sie mit QEMU und libvirt zusammenhängt. Außerdem zeigen wir, wie Sie die Hardwareunterstützung prüfen. Danach vergleichen wir KVM kurz mit VMware, Hyper-V und Xen.

Wir sind ein Team für digitales Marketing und Webentwicklung, kein Hostinganbieter. Deshalb stützen wir uns auf die offizielle Dokumentation. Versionsnummern und Messwerte nennen wir nicht, denn sie ändern sich je nach Distribution und Hardware.

Was bedeuten Virtualisierung und Hypervisor?

Virtualisierung heißt, Prozessor, Arbeitsspeicher und Festplatte einer physischen Maschine auf mehrere isolierte virtuelle Maschinen zu verteilen. Der Hypervisor ist die Softwareschicht, die diese Verteilung steuert. Folglich hält jede virtuelle Maschine sich für einen echten Rechner.

Der Gast ist die virtuelle Maschine, und er betreibt daher einen eigenen Kernel. Der Host dagegen ist die physische Maschine, die den Hypervisor trägt. Zum Beispiel lassen Sie einen Windows Gast auf einem Linux Host laufen.

Für Webprojekte bringt Virtualisierung drei Vorteile. Erstens nutzen Sie eine Maschine effizienter. Zweitens laufen die anderen Maschinen weiter, wenn eine ausfällt. Schließlich legen Sie eine neue Umgebung in Minuten an und löschen sie wieder.

KVM unterscheidet sich von anderen Ansätzen dadurch, dass Sie den Hypervisor nicht als eigenes Produkt installieren. Der Linux Kernel übernimmt diese Aufgabe, sobald das KVM Modul geladen ist. Somit nutzen Sie die Treiber und die Sicherheitsupdates desselben Kernels.

Dieser Aufbau hat die KVM Virtualisierung zu einer verbreiteten Grundlage in der Linux Serverwelt gemacht. Verbreitet heißt allerdings nicht, dass sie in jedem Fall am besten passt. Die folgenden Abschnitte zeigen deshalb Stärken und Grenzen.

Wie funktioniert die KVM Virtualisierung?

KVM besteht aus zwei Teilen: einem Kernmodul und einem prozessorspezifischen Modul. Laut KVM Projektseite stellt kvm.ko die Grundfunktionen bereit. Bei Intel Prozessoren übernimmt kvm-intel.ko, bei AMD Prozessoren kvm-amd.ko. Diese Module nutzen die Virtualisierungsbefehle der Hardware direkt.

Die Dokumentation des Linux Kernels beschreibt, dass Sie KVM über die Gerätedatei /dev/kvm ansprechen. Ein Programm öffnet diese Datei, legt per Systemaufruf virtuelle Maschinen an und steuert danach die virtuellen Prozessoren. Details finden Sie in der KVM API Dokumentation des Kernels.

Dasselbe Dokument unterscheidet drei Ebenen: System, virtuelle Maschine und virtueller Prozessor. Auf Systemebene fragen Sie allgemeine Informationen ab und erzeugen neue Maschinen. Danach legen Sie auf Maschinenebene die Eigenschaften der ganzen Maschine fest. Schließlich steuern Sie auf Prozessorebene jede virtuelle CPU einzeln.

Kurz gesagt, KVM allein bietet keine Verwaltungsoberfläche. Sie brauchen außerdem ein Programm im Benutzerbereich, das Geräte wie Festplatten, Netzwerkkarten und Bildschirme nachbildet. In den meisten Aufbauten ist das QEMU.

  • Kernelseite: kvm.ko plus das prozessorspezifische kvm-intel.ko oder kvm-amd.ko.
  • Schnittstelle: die Datei /dev/kvm, die Programme im Benutzerbereich öffnen.
  • Benutzerbereich: QEMU, das die virtuellen Geräte liefert.
  • Verwaltungsschicht: libvirt und seine Werkzeuge.

Wie hängen KVM, QEMU und libvirt zusammen?

Die drei Bausteine ergänzen sich, sind aber nicht dasselbe. KVM virtualisiert den Prozessor. QEMU dagegen liefert die virtuellen Geräte. libvirt wiederum verwaltet beides über eine gemeinsame Schnittstelle. Deshalb trennt die Tabelle die Rollen sauber.

BausteinRolleWo er läuft
KVMVirtualisiert den Prozessor mit HardwareunterstützungLinux Kernel
QEMULiefert virtuelle Festplatten, Netzwerkkarten und BildschirmeBenutzerbereich
libvirtDefiniert und verwaltet virtuelle Maschinen über eine SchnittstelleBenutzerbereich (Dienst und Werkzeuge)
virshDas Kommandozeilenwerkzeug von libvirtTerminal
virt-managerEine Desktop Oberfläche für libvirtDesktop

Die KVM Projektseite nennt den Benutzerbereich von KVM als Teil des Haupt QEMU. Die QEMU Dokumentation ergänzt, dass QEMU als Virtualisierer fast native Leistung erreicht, weil es den Gastcode direkt auf der Host CPU ausführt. Den genauen Wortlaut lesen Sie auf der QEMU Übersichtsseite.

libvirt ist eine Werkzeugsammlung zur Verwaltung von Virtualisierungsplattformen. Die offizielle Seite nennt Treiber für KVM, QEMU, Xen, VMware ESX, LXC und weitere. Daher steuern Sie unterschiedliche Hypervisor mit denselben Befehlen. Mehr erfahren Sie auf der libvirt Projektseite.

Was bedeuten Host, Gast und Domain bei der KVM Virtualisierung?

Die Begriffe wirken zunächst verwirrend, doch wenige Konzepte genügen. Die Tabelle fasst die Wörter zusammen, die Ihnen in der Dokumentation am häufigsten begegnen. So verlieren Sie beim Lesen der offiziellen Handbücher nicht den Faden.

BegriffBedeutungBeispiel
HostDie physische Maschine und das Linux daraufDie Hardware Ihres Anbieters oder Ihr eigener Server
GastDas Betriebssystem in der virtuellen MaschineEin Ubuntu oder Windows Gast
DomainDer Name, den libvirt einer virtuellen Maschine gibtEine Zeile in der Ausgabe von virsh list
vCPUEin virtueller Prozessor der virtuellen MaschineEin kleiner Server mit zwei vCPUs
Disk ImageDie Datei mit der Festplatte der virtuellen MaschineDie 20 GB Datei aus der Installation

Merken Sie sich dieses kleine Glossar, dann lesen Sie Befehlsausgaben leichter. Zum Beispiel steht jede Zeile in der virsh Ausgabe für eine Domain, also für einen Gast.

Welche Hardwareunterstützung braucht die KVM Virtualisierung?

KVM verlangt Erweiterungen für Hardwarevirtualisierung auf x86 Prozessoren. Intel nennt seine Erweiterung VT-x, AMD nennt sie AMD-V. Die KVM Projektseite sagt außerdem, dass die Lösung auf x86 Hardware mit diesen Erweiterungen zielt.

Die meisten Server und Desktop Prozessoren bringen diese Unterstützung heute mit, also blockiert die Hardware selten. Allerdings schaltet der Hersteller die Funktion im BIOS oder UEFI manchmal ab. Deshalb prüfen Sie die Einstellung auch dann, wenn die Unterstützung vorhanden ist.

Unter Linux erscheint die Intel Erweiterung als Flag vmx und die AMD Erweiterung als Flag svm. Sehen Sie eines der beiden Flags, dann unterstützt Ihr Prozessor die Virtualisierung. Der nächste Abschnitt zeigt, wie Sie das prüfen.

Noch ein Hinweis: Vor allem bei manchen Laptops und Desktops liefert der Hersteller die Option ausgeschaltet aus. Wenn Sie experimentieren möchten, öffnen Sie also die Firmware Einstellungen und aktivieren sie. Der Name der Option hängt vom Hersteller ab, daher hilft das eigene Handbuch.

Wie prüfen Sie die Virtualisierungsunterstützung der CPU?

Zunächst schauen Sie sich die Prozessor Flags an. Der Befehl unten zeigt die Zahl der Kerne mit dem Flag vmx oder svm. Liegt das Ergebnis über null, dann ist die Unterstützung vorhanden. Bei null fehlt sie in der Hardware, oder das BIOS hält sie aus.

grep -E -c '(vmx|svm)' /proc/cpuinfo

lscpu | grep -i virtualization

Danach zeigt der zweite Befehl die Zeile Virtualization aus der lscpu Ausgabe. Bei Intel erwarten Sie VT-x, bei AMD AMD-V. Das Format der Ausgabe kann sich je nach Distribution und Version leicht unterscheiden.

Arbeiten Sie in einem virtuellen Server und sehen kein Flag, wundern Sie sich nicht. Denn viele VPS Anbieter geben diese Flags nicht an den Gast weiter. Diesen Fall behandeln wir im Abschnitt zur verschachtelten Virtualisierung.

Sind die KVM Module geladen und aktiv?

Ist das Flag vorhanden, sehen Sie sich als Nächstes die KVM Module und die Gerätedatei an. In der Modulliste sollte kvm zusammen mit kvm_intel oder kvm_amd stehen. Außerdem muss die Datei /dev/kvm existieren. Die Befehle unten zeigen beides.

lsmod | grep kvm

ls -l /dev/kvm

sudo virt-host-validate qemu

virt-host-validate gehört zum Lieferumfang von libvirt. Laut Handbuch prüft es, ob der Host passend konfiguriert ist, um die libvirt Hypervisor Treiber auszuführen. In der Ausgabe sehen Sie je Punkt ein Bestanden oder eine Warnung. Somit finden Sie fehlende Teile schnell.

Die Ausgabe unterscheidet sich je nach Distribution. Daher lesen Sie bei einem Fehler zuerst die Dokumentation Ihrer Distribution. Außerdem testen Sie jeden Befehl auf einer Testmaschine, bevor Sie einen Produktionsserver anfassen.

Wie schneidet KVM gegenüber VMware, Hyper V und Xen ab?

Alle vier Lösungen betreiben virtuelle Maschinen, doch Lizenzmodell, Verwaltungswerkzeuge und Umfeld unterscheiden sich. Die Tabelle zeigt das grobe Bild. Für einen detaillierten Funktionsvergleich lesen Sie die aktuelle Dokumentation jedes Produkts, denn die Funktionen ändern sich mit den Versionen.

LösungLizenzWo sie läuftTypischer Einsatz
KVMOpen SourceTeil des Linux KernelsVPS Anbieter, Linux Server, Testlabore
VMwareKommerzielle Produkte, Lizenzbedingungen können sich ändernEigene Hypervisor ProdukteRechenzentren in Unternehmen
Hyper-VEin Microsoft Produkt, das zu Windows gehörtWindows basierte UmgebungenUnternehmen mit viel Windows
XenOpen SourceEine eigene Hypervisor SchichtEinige Cloud und Virtualisierungsplattformen

Meist entscheidet Ihre vorhandene Infrastruktur, nicht technische Überlegenheit. Zum Beispiel ist Hyper-V in einem Büro mit viel Windows die natürliche Wahl. Ein Linux lastiges Team dagegen startet mit KVM ohne Lizenzgebühr. Trotzdem prüfen Sie Lizenz und Support auf der aktuellen Seite des Herstellers.

Wie nutzen VPS Anbieter die KVM Virtualisierung?

Viele VPS und Cloud Anbieter setzen auf KVM Virtualisierung, wenn sie virtuelle Server vergeben. Sie bestellen im Panel einen Server, und der Anbieter legt auf einem physischen Host eine virtuelle Maschine für Sie an. Am Ende haben Sie einen Server mit eigenem Kernel und eigenem Betriebssystem.

In der Regel finden Sie den Virtualisierungstyp auf der Produktseite des Anbieters. Steht dort nichts, fragen Sie den Support. Auf einem VPS mit KVM installieren Sie meist mit Root Rechten Ihre eigene Firewall und wählen Ihre Linux Distribution frei.

Wenn Sie wissen möchten, worin sich VPS, VDS und Cloud Server unterscheiden, lesen Sie unseren Vergleich von VPS, Cloud Server und VDS. Dort erklären wir Ressourcengarantie und Abrechnung.

Den Typ Ihres aktuellen virtuellen Servers erfahren Sie auch mit einem Befehl. Das Werkzeug systemd-detect-virt, das viele moderne Linux Distributionen mitbringen, nennt die Virtualisierungstechnik, auf der das System läuft. Bei einem KVM Gast erwarten Sie die Ausgabe kvm.

systemd-detect-virt

lscpu | grep -i hypervisor

Auch die Zeile Hypervisor in der lscpu Ausgabe liefert einen Hinweis. Das Format kann sich zwischen Versionen ändern. Sind Sie unsicher, lesen Sie die Dokumentation Ihres Anbieters oder fragen den Support.

Was unterscheidet eine KVM Maschine von einem Docker Container?

Eine KVM Maschine betreibt einen eigenen Kernel. Ein Docker Container dagegen teilt sich den Kernel des Hosts. Deshalb ist ein Container leichter und startet in Sekunden. Eine virtuelle Maschine bietet dafür stärkere Isolation und kann andere Betriebssysteme ausführen.

  • Virtuelle Maschine: eigener Kernel, volles Betriebssystem, starke Isolation.
  • Container: nutzt den Host Kernel, ist leicht und startet schnell.
  • Zusammen: Viele Teams betreiben Container innerhalb einer virtuellen Maschine.

Beide konkurrieren nicht, sondern ergänzen sich. Zum Beispiel mieten Sie einen VPS mit KVM, installieren Docker darauf und veröffentlichen Ihre Anwendung in Containern. Die Idee dahinter erklärt unser Leitfaden zu Docker und Containern.

Wie verwalten Sie virtuelle Maschinen mit virsh?

virsh ist das Kommandozeilenwerkzeug von libvirt. Laut Handbuch listet es Domains auf, startet und stoppt sie und verbindet sich mit ihrer Konsole. Das Beispiel unten nutzt eine virtuelle Maschine namens vm1. Ersetzen Sie den Namen durch den Namen Ihrer eigenen Maschine. Außerdem sollten Sie wissen, welche libvirt Verbindung Ihre Befehle ansprechen.

virsh list --all
virsh start vm1
virsh domstate vm1
virsh dominfo vm1
virsh console vm1
virsh shutdown vm1
virsh autostart vm1
  • list --all: zeigt laufende und gestoppte Domains.
  • start: startet eine definierte, aber gestoppte Domain.
  • shutdown: sendet dem Gast Betriebssystem eine Anfrage zum Herunterfahren.
  • autostart: startet die Domain bei jedem Systemstart automatisch.
  • console: verbindet mit der virtuellen seriellen Konsole.

Die libvirt Dokumentation beschreibt zwei gängige Verbindungsadressen. Die Adresse qemu:///system erreicht systemweite Domains, qemu:///session erreicht die Domains Ihres eigenen Benutzers. Sehen Sie eine Domain nicht in der Liste, schauen Sie womöglich auf die falsche Verbindung. Die Verbindung geben Sie mit der Option -c an, zum Beispiel: virsh -c qemu:///system list --all.

Außerdem gibt es den Befehl destroy. Der Name klingt gefährlich, doch er beendet die virtuelle Maschine nur sofort, ähnlich wie das Ziehen des Netzsteckers. Die Festplattendatei löscht er nicht. Trotzdem können offene Dateien beschädigt werden, deshalb probieren Sie zuerst shutdown. Dagegen entfernt der Befehl undefine die Domain Definition.

Wofür dienen virt-manager und virt-install?

virt-manager ist eine Desktop Anwendung, die virtuelle Maschinen über libvirt verwaltet. Laut Projektseite zielt sie vor allem auf KVM Maschinen und verwaltet auch Xen und LXC. Sie legen Maschinen an, passen Ressourcen an und öffnen grafische Konsolen. Details stehen auf der virt-manager Seite.

virt-install ist das Kommandozeilenwerkzeug desselben Projekts. Die Projektseite beschreibt es als einfachen Weg, Betriebssysteme in virtuelle Maschinen zu installieren. Hat Ihr Server keinen grafischen Bildschirm, dann erledigt dieses Werkzeug die Arbeit. Das Beispiel unten ist ein allgemeines Gerüst.

virt-install \
  --name vm1 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=20 \
  --cdrom /path/to/installer.iso \
  --os-variant OS_VARIANT

Statt OS_VARIANT tragen Sie den Namen des Betriebssystems ein, das Sie installieren. Gültige Namen listen Sie mit dem Befehl osinfo-query os auf. Speichergröße, Plattengröße und ISO Pfad sind Beispielwerte, daher passen Sie sie an Ihren Bedarf an.

Wann ist die KVM Virtualisierung nützlich?

KVM hilft überall dort, wo Sie mehrere isolierte Umgebungen auf einer Maschine brauchen. Für Softwareteams lassen sich die typischen Szenarien so auflisten.

  • Test und Staging: Sie probieren Updates, ohne die Live Seite anzufassen.
  • Verschiedene Betriebssysteme: Sie betreiben eine Windows Maschine unter Linux.
  • Entwicklung: Sie bauen für jedes Projekt eine saubere Wegwerfumgebung.
  • Serverkonsolidierung: Sie bündeln wenig genutzte Server auf einer Maschine.
  • Schulung und Labor: Sie probieren Netzwerk und Sicherheitsversuche, ohne echte Systeme zu gefährden.

Für Website Betreiber ist die Bedeutung einfach. Testen Sie vor einem Update eine Kopie Ihrer Seite in einer virtuellen Maschine, sehen Sie den Fehler vor Ihren Kunden. Bei Ihrer Datensicherung hilft außerdem unsere Anleitung zur Backup Strategie für Websites.

Kleine Teams profitieren zudem davon, dass die Umgebung wiederholbar wird. Dokumentieren Sie die Einstellungen einer virtuellen Maschine, baut ein neuer Entwickler dieselbe Umgebung schnell nach. Folglich schrumpfen die Diskussionen nach dem Muster „bei mir läuft es“.

Im Unternehmen erleichtert Virtualisierung die Kapazitätsplanung. Sie sehen, wie viel Prozessor und Speicher jede virtuelle Maschine braucht, und entscheiden danach. Stützen Sie diese Analyse auf echte Nutzungsdaten, nicht auf Schätzungen.

Wann ist die KVM Virtualisierung die falsche Wahl?

Allerdings passt KVM nicht zu jeder Aufgabe. Für eine einzelne kleine Website bringt eine virtuelle Maschine unnötigen Aufwand. Shared Hosting oder ein verwalteter Dienst ist oft sinnvoller, denn der Anbieter übernimmt Sicherheitsupdates und Backups.

Außerdem läuft KVM nicht, wenn Ihre Hardware keine Virtualisierungserweiterungen hat. Auf einem sehr alten Prozessor oder bei abgeschalteter Erweiterung fällt QEMU auf langsame Emulation zurück. Dann sinkt die Leistung deutlich.

Auch die Lizenz spielt eine Rolle. Obwohl KVM Open Source ist, kann das Betriebssystem im Gast Geld kosten. Ein Windows Gast braucht zum Beispiel eine eigene Lizenz. Betrachten Sie bei den Gesamtkosten also nicht nur den Hypervisor.

Schließlich zählt der Verwaltungsaufwand. Virtuelle Maschinen zu betreiben heißt, jeden Gast zu aktualisieren, zu sichern und zu schützen. Möchten Sie diesen Aufwand nicht, machen Container Plattformen oder verwaltete Dienste weniger Arbeit.

Wo stehen Werkzeuge wie Proxmox im Verhältnis zu KVM?

Plattformen wie Proxmox VE verbinden KVM und QEMU mit einer Weboberfläche. Sie legen virtuelle Maschinen im Browser an und überwachen sie dort. Darunter läuft weiterhin KVM, somit gilt Ihr Wissen auch dort. Die Installationsschritte behandeln wir in einem eigenen Beitrag, unserer Anleitung zu Proxmox VE.

Daher wiederholen wir das hier nicht. Merken Sie sich nur, dass Hardwareprüfung und Kernelmodule gleich bleiben, welche Oberfläche Sie auch wählen. Daher gelten die Grundlagen dieses Beitrags für jedes Werkzeug.

Was ist verschachtelte Virtualisierung, und läuft KVM in einem VPS?

Verschachtelte Virtualisierung heißt, einen zweiten Hypervisor innerhalb einer virtuellen Maschine zu betreiben. Zum Beispiel installieren Sie KVM erneut in einem VPS, der selbst auf KVM läuft. Dafür muss der Host die Prozessorerweiterungen an den Gast durchreichen.

Allerdings aktiviert nicht jeder Anbieter diese Funktion. Sehen Sie in Ihrem VPS also kein Flag vmx oder svm, fragen Sie den Support des Anbieters. Ohne das Flag läuft QEMU langsam, weil die KVM Beschleunigung fehlt. Daher gehören Produktionslasten nicht in eine solche Umgebung.

Unser praktischer Rat ist einfach: Für ein Labor mit virtuellen Maschinen wählen Sie eine eigene Maschine oder einen Anbieter, der diese Funktion klar anbietet.

Worauf kommt es bei Sicherheit und Isolation in der KVM Virtualisierung an?

KVM bietet starke Isolation, sichert sich aber nicht selbst ab. Übernimmt ein Angreifer den Host, sind alle Gäste gefährdet. Betreiben Sie deshalb auf dem Host nur die nötigen Dienste und spielen Sie Updates ohne Verzögerung ein.

  • Beschränken Sie den Fernzugriff auf den Host und nutzen Sie starke Authentifizierung.
  • Spielen Sie Updates für Kernel, QEMU und libvirt regelmäßig ein.
  • Legen Sie für jeden Gast eigene Firewall Regeln fest.
  • Bewahren Sie Disk Images und Backups in einem Verzeichnis mit eingeschränkten Rechten auf.

Kurz gesagt lautet die goldene Regel, die Angriffsfläche klein zu halten. Nutzen Sie den Host nur zur Verwaltung der virtuellen Maschinen. Betreiben Sie dort keine Websites, keine E-Mail und keine anderen Anwendungen. So trifft eine Anwendungslücke nicht alle Gäste.

Zudem lesen Sie zum Schutz des Servers unsere Anleitung zu Fail2ban. Zu den Risiken von Webanwendungen hilft unser Beitrag zu den OWASP Top 10.

Wovon hängt die Leistung einer KVM Maschine ab?

Die Leistung hängt nicht an einer einzelnen Einstellung. Zahl der Prozessorkerne, Arbeitsspeicher, Festplattentyp und Netzwerkkonfiguration entscheiden gemeinsam. Vor allem die Festplatte betrifft datenbanklastige Seiten am stärksten. Deshalb lohnt es sich, die Plattengeschwindigkeit zu messen.

Bei der Festplatte empfehlen wir einen Blick auf IOPS. Das Thema behandeln wir ausführlich im Beitrag zu IOPS und Festplattenleistung. Anzeichen für Langsamkeit auf der Serverseite finden Sie in unserem Leitfaden zu Serverursachen für eine langsame Website.

Zudem machen virtuelle Gerätetreiber einen Unterschied. Nutzt der Gast Treiber, die für Virtualisierung gebaut sind, arbeiten die Geräte effizienter. Welchen Treibertyp Ihre Distribution empfiehlt, lesen Sie in ihrer Dokumentation. Zahlen nennen wir nicht, denn die Ergebnisse hängen von der Hardware ab.

Überbuchte Ressourcen sind eine weitere häufige Ursache für Langsamkeit. Versprechen Sie den virtuellen Maschinen mehr, als die physische Maschine liefern kann, geraten sie bei gleichzeitiger Last ins Stocken. Beobachten Sie also zuerst die echte Nutzung und verteilen Sie die Ressourcen danach. Kurz gesagt, entscheiden Sie nach Messung statt nach Gefühl.

Ersetzt ein KVM Snapshot ein Backup?

Nein, das tut er nicht. Ein Snapshot hält den Zustand einer virtuellen Maschine zu einem bestimmten Zeitpunkt fest. Als Rückfallpunkt vor einem Update ist er sehr nützlich. Allerdings liegt er meist auf demselben Speicher. Fällt die Festplatte aus, sind Maschine und Snapshot weg.

virsh bietet dafür den Befehl snapshot-create-as. Laut offiziellem Handbuch erzeugt er einen Snapshot aus Kommandozeilenargumenten. Das Beispiel unten legt vor einem Update einen Snapshot an.

virsh snapshot-create-as vm1 before-update

Ein echtes Backup gehört dagegen an einen getrennten Ort auf eine getrennte Festplatte. Lesen Sie bei der Planung auch unseren Beitrag zu RAID. RAID schützt vor Festplattenausfall, bringt aber gelöschte oder beschädigte Daten nicht zurück.

Welche Fehler passieren bei der KVM Virtualisierung häufig?

Einsteiger tappen immer in dieselben Fallen, deshalb nennen wir sie. Lesen Sie diese Liste vorab, sparen Sie Zeit.

  • Die Virtualisierung im BIOS oder UEFI nicht zu aktivieren.
  • Einen Snapshot für ein Backup zu halten und keine echten Backups anzulegen.
  • Mehr physische Ressourcen zu verteilen, als vorhanden sind, und das System auszubremsen.
  • Updates des Hosts aufzuschieben.
  • Nicht zu beobachten, ob Disk Images volllaufen.
  • Befehle auf dem Produktionsserver ungetestet auszuführen.

Keiner dieser Fehler ist also schwer zu vermeiden. Allerdings wächst jeder leise und holt Sie eines Tages ein. Deshalb hält eine regelmäßige Checkliste die KVM Virtualisierung dauerhaft stabil.

Wann überlassen Sie es besser Ihrem Hostinganbieter?

Seien wir ehrlich: Nicht jeder Website Betreiber muss einen KVM Server verwalten. In den folgenden Fällen empfehlen wir, die Arbeit Ihrem Anbieter oder einem erfahrenen Systemadministrator zu überlassen.

  • Ein Ausfall kostet direkt Umsatz, und niemand hat Bereitschaft.
  • Sie verwalten zum ersten Mal ein System mit personenbezogenen Daten oder Zahlungsdaten.
  • Es gibt noch keinen Plan für Backup und Wiederherstellung.
  • Sie haben keinen physischen Zugang zum Host, und die Last ist kritisch.

Andererseits ist der Eigenbau ein sehr guter Weg, um auf Testumgebungen und in Laboren zu lernen. Beginnen Sie also dort, wo Fehler keinen Schaden anrichten. Danach erhöhen Sie die Verantwortung mit wachsender Erfahrung. Bei der Wahl des Anbieters hilft unser Leitfaden zur Auswahl von Webhosting.

Was bedeutet KVM für Website und Onlineshop Betreiber?

Arbeiten Sie im digitalen Marketing, verwalten Sie KVM womöglich nicht selbst. Trotzdem sollten Sie es kennen, denn es beeinflusst Ihre Hostingentscheidung. Läuft Ihr Server auf KVM, sind Ihre Ressourcen für Sie reserviert, und die Last eines Nachbarn betrifft Sie weniger. Das hängt allerdings davon ab, wie der Anbieter Ressourcen verteilt.

Geschwindigkeit zählt, denn die Ladezeit spielt für Suche und Conversion eine Rolle. Lesen Sie dazu unseren Beitrag Wie beeinflusst die Ladezeit die SEO. Um den Standort Ihres Servers zu verstehen, nutzen Sie unser Tool zur IP Abfrage.

Bei Entscheidungen zu individueller Software oder Infrastruktur entscheiden Sie am besten gemeinsam mit Ihrem technischen Team. Wenn Sie dabei Unterstützung wünschen, sehen Sie sich unsere Leistung zur individuellen Softwareentwicklung an.

Wie starten Sie mit der KVM Virtualisierung?

Wir empfehlen Ihnen, Schritt für Schritt vorzugehen, denn jeder Schritt baut auf dem vorigen auf. Probieren Sie jeden Schritt zuerst auf einer Testmaschine aus.

  1. Prüfen Sie Ihren Prozessor auf das Flag vmx oder svm.
  2. Bestätigen Sie, dass die Virtualisierung im BIOS oder UEFI aktiv ist.
  3. Installieren Sie die Pakete für KVM, QEMU und libvirt gemäß der Dokumentation Ihrer Distribution.
  4. Prüfen Sie die Umgebung mit virt-host-validate.
  5. Legen Sie Ihre erste virtuelle Maschine mit virt-manager oder virt-install an.
  6. Probieren Sie die Befehle start, shutdown und autostart mit virsh aus.

Haben Sie diese sechs Schritte abgeschlossen, verstehen Sie die Grundlogik von KVM. Danach wenden Sie sich Themen wie Netzwerkbrücken, Verwaltung von Disk Images und Snapshots zu. Stützen Sie jeden Schritt auf die offiziellen Dokumente.

Notizen zu machen ist beim Lernen die wertvollste Gewohnheit. Schreiben Sie auf, warum Sie jeden Befehl ausgeführt haben, dann bauen Sie dieselbe Umgebung Monate später wieder auf. Außerdem geben Sie Wissen an Ihr Team weiter. Kommen Sie nicht weiter, kehren Sie zum offiziellen Handbuch des Werkzeugs zurück, denn Befehlsoptionen ändern sich zwischen Versionen.

Häufig gestellte Fragen

Ist KVM Open Source?
Ja, KVM ist Open Source Software und Teil des Linux Kernels. Die KVM Projektseite sagt, dass die Kernelkomponente im Hauptzweig des Linux Kernels steckt. Für KVM zahlen Sie also keine eigene Lizenzgebühr. Support, Verwaltungswerkzeuge, Wartungsaufwand und Hardware kosten allerdings weiterhin Geld, deshalb beurteilen Sie die Gesamtkosten nicht allein nach der Lizenz.
Sind KVM und QEMU dasselbe?
Nein, beide sind verschieden. KVM virtualisiert den Prozessor auf der Kernelseite. QEMU ist ein Programm im Benutzerbereich, das virtuelle Geräte wie Festplatten, Netzwerkkarten und Bildschirme liefert. Beide arbeiten zusammen. Nutzt QEMU die KVM Beschleunigung, führt es den Gastcode direkt auf dem Prozessor aus und erreicht fast native Geschwindigkeit.
Welche CPU Funktion braucht KVM?
Ihr Prozessor braucht eine Erweiterung für Hardwarevirtualisierung. Unter Linux erscheint sie als Flag vmx bei Intel oder svm bei AMD. Die Erweiterung kann im BIOS oder UEFI abgeschaltet sein. Prüfen Sie deshalb zuerst die Prozessor Flags und danach die Firmware Einstellung, bevor Sie der Software die Schuld geben.
Wie hängen KVM und ein VPS zusammen?
Viele VPS Anbieter liefern virtuelle Server mit KVM Virtualisierung aus. Dann ist Ihr Server eine virtuelle Maschine mit eigenem Kernel und eigenem Betriebssystem. Die Technik erfahren Sie auf der Produktseite des Anbieters. Steht dort nichts, ist eine Frage an den Support der beste Weg zu einer klaren Antwort.
Ist eine KVM Maschine sicherer als Docker?
Im Allgemeinen bietet eine virtuelle Maschine stärkere Isolation als ein Container, weil sie einen eigenen Kernel betreibt. Container teilen sich den Kernel des Hosts. Sicherheit hängt jedoch nicht allein von der Technik ab. Updates, richtige Einstellungen und Zugriffskontrolle zählen ebenso viel wie Isolation, daher konfigurieren Sie beide Optionen sorgfältig.
Kann ich KVM in einem VPS betreiben?
Das hängt von Ihrem Anbieter ab. Verschachtelte Virtualisierung verlangt, dass der Host die Prozessorerweiterungen an den Gast durchreicht. Sehen Sie in Ihrem VPS kein Flag vmx oder svm, funktioniert die KVM Beschleunigung nicht. Fragen Sie den Support und wählen Sie bei Bedarf eine andere Lösung, die diese Funktion klar anbietet.
  • kvm
  • virtualisierung
  • qemu
  • libvirt
  • virsh
  • vps
  • hypervisor
Teilen:
Talha Aslan

Google Partner und Experte für digitales Marketing. Seit 2012 praktisch in SEO, Google Ads, Webdesign und E-Commerce Projekten; jeder Beitrag hier stammt aus dieser Erfahrung.

Nächstes Projekt

Sprechen wir über Ihr Projekt.

Ihre Anfrage geht direkt an Talha Aslan und Team: Strategie von Talha, Umsetzung durch ein erfahrenes Team. Das Erstgespräch ist kostenlos, wir hören zu und melden uns mit einer klaren Roadmap.