KVM? Virtualisierung im Linux-Kernel

Was ist KVM?

KVM? Virtualisierung im Linux-Kernel

Im geschäftlichen Kontext und bei Verwendung professioneller Server ist Virtualisierung bereits ein Muss. Dank dieser Technologie können mehrere Gastbetriebssysteme auf demselben physischen Computer ausgeführt werden, was viele Vorteile bietet, darunter die folgenden:

  • Systeme können je nach Art der von ihnen ausgeführten Aufgabe separat ausgeführt werden , ohne dass zusätzliche Hardware erforderlich ist . Beispielsweise können ein E-Mail-Server, ein Dateiserver und ein Anwendungsserver ausgeführt werden.
  • Zum Schutz vor möglichen Änderungen können Gastsysteme sozusagen einfach eingefroren und dann wieder hergestellt werden .
  • Die Migration auf neue Gerätehardware erfordert wenig Zeit.
  • Gastsysteme sind auf allen Ebenen skalierbar , sodass Sie auf Schwankungen Ihrer Nutzungsrate reagieren können.
  • Alle Gastsysteme haben eine gemeinsame Hardware- Basis , und verhindert so mögliche Konflikte zwischen Fahrer .

Während es selten vorkommt, dass Linux, das Open-Source-Betriebssystem, auf Desktops und Heimanwendern im Serverbereich zu finden ist, hat es sich längst verbreitet. In gleicher Weise hat es auch eine sehr wichtige Rolle als Grundlage für Virtualisierungsstrategien übernommen.

Index
  1. Was ist Linux KVM?
  2. Wie Linux KVM im Detail funktioniert
  3. Welche Komponenten bilden die Kernel-basierte virtuelle Maschine?
  4. KVM-Anwendungsbereiche
  5. Vor- und Nachteile von KVM
  6. Alternativen zu Linux KVM
  7. Zusammenfassend

Was ist Linux KVM?

Die sogenannte Kernel-basierte virtuelle Maschine (KVM) wurde von der Firma Qumranet im Jahr 2000 eingeführt und war bereits Anfang 2007 im Linux- Kernel 2.6.20 enthalten. Im folgenden Jahr erwarb RedHat, ein Linux-Distributor, Qumranet. Um diese Technologie weiterzuentwickeln, gründete RedHat zusammen mit IBM das Projekt Open Virtualization Alliance (OVA), an dem Unternehmen wie Suse, Intel und HP teilnahmen.

KVM ist eng mit verwandten QEMU – Emulationssoftware . Letzteres bietet normalerweise Hardwarevirtualisierungsfunktionen , während Linux KVM die Ressourcenzuweisung an Gastsysteme übernimmt. Daher ist es üblich, auch auf den Begriff KVM / QEMU zu stoßen. Da KVM eine wesentliche Komponente von Linux ist , kann es nicht in Windows-Geräte integriert werden. Windows kann jedoch über die Virtualisierungslösung ausgeführt werden, ebenso wie die meisten Unix-Systeme wie Linux, Solaris und BSD. KVM ist in den meisten Linux-Distributionen standardmäßig enthalten, muss jedoch zuerst aktiviert werden.

See also  Wiederherstellen und Öffnen von TMP-Dateien

Wie Linux KVM im Detail funktioniert

Um zu verstehen, wie diese virtuelle Maschine funktioniert, muss zunächst die Virtualisierung verstanden werden. Virtualisierung ist die Ausführung eines oder mehrerer vollständiger Betriebssysteme (Gastsysteme) auf demselben Hostgerät ( Host ) . Der Host-Computer benötigt dann zusätzliche Hardwaredienste : Diese können entweder von der Software emuliert werden oder sie können sich auf anderen physischen Geräten befinden und von einem Hypervisor gesteuert werden, dh einer Verwaltungs- und Übersetzungsschicht zwischen der realen und der virtuellen Hardware. . Abhängig von der Art der Virtualisierung kann es erforderlich sein, die Anforderungen für die reale Hardware zu übersetzen, oder es kann ausreichen, die erforderlichen Aktionen zuzuweisen, z. B. eine Berechnung im Prozessor.

Es gibt folgende Arten der Virtualisierung:

  • Vollständige Virtualisierung : Die Hardware wird vollständig von der Software emuliert . Auf diese Weise ist keine Interaktion mit der realen Hardware erforderlich , wodurch auf die entsprechenden Treiber verzichtet werden kann . Im Vergleich zu den anderen ist es die langsamste Variante.
  • Paravirtualisierung : Das Gastsystem interagiert direkt mit dem Hypervisor und benötigt dafür spezielle Treiber .
  • Durch Hardware unterstützte Paravirtualisierung : Die Unterstützung der Hardware ist bereits in den Prozessor integriert, wodurch die Effizienz und der Anpassungsaufwand für die Gastsysteme verringert werden. Moderne Prozessoren von Intel (Intel-VT-x) und AMD (AMD-V) bieten diese Funktion, müssen jedoch möglicherweise im BIOS / UEFI aktiviert werden.

Darüber hinaus gibt es zwei Arten von Hypervisoren:

  • Typ 1 ( Bare Metal ) : Der Hypervisor läuft direkt auf der verwendeten Hardware , ohne in ein Betriebssystem integriert zu sein.
  • Typ 2 ( gehostet ) : Der Hypervisor ist in das Host-Betriebssystem integriert und wird von dort aus aktiviert.

Linux KVM gehört zum zweiten Monitortyp und verwendet die hardwareunterstützte Paravirtualisierung . Das Besondere daran ist jedoch, dass es direkt in den Kernel integriert ist .

Hinweis

Kernel ist der englische Begriff entspricht Kern : Wir sprechen daher von dem Kernel eines Betriebssystems , in dem die Grundfunktionen des Systems integriert sind, wie zum Beispiel den Zugriff auf Hardware und die Zuteilung von Rechenzeit an Prozessoren in einem Multitasking- System . Der Zugriff auf den Kernel ist speziell geschützt ( Kernelmodus ) und die Anforderungen, die ihn erreichen, werden von den Prozessoren privilegiert behandelt.

See also  Formatieren eines USB-Laufwerks: So funktioniert es mit Windows

Aufgrund seiner direkten Verbindung zum Kernel wird diskutiert, ob dieses System überhaupt die Eigenschaften des ersten Hypervisortyps aufweisen würde.

Welche Komponenten bilden die Kernel-basierte virtuelle Maschine?

Die KVM als Ganzes besteht aus mehreren Elementen:

  • Kernel- Erweiterung : Enthält die Erweiterung selbst, kernel.ko . Dies ist die Übersetzungsschicht zwischen realer und virtueller Hardware . Darüber hinaus enthält es die Module kvm-amd und kvm-intel , die an die Eigenschaften der Prozessoren angepasst sind.
  • Libvirt : ist die Programmierschnittstelle (API) für die Kommunikation mit virtuellen Maschinen, die über diese gesteuert und verwaltet werden kann. Libvirt bietet auch Tools wie eine Befehlszeile namens virsh und die grafische Oberfläche von Virtual Machine Manager.
  • QEMU : Es handelt sich hauptsächlich um ein eigenständiges Programm zum Emulieren von Computern und Verwalten von virtuellen Maschinen. Linux KVM verwendet diese Funktion, um Hardware zu emulieren und dadurch die Geschwindigkeit durch Paravirtualisierung zu verbessern. Viele Distributionen enthalten beide Komponenten im selben Installationspaket.
  • Kvmtool : Eine Alternative zu QEMU, die weniger Ressourcen benötigt, aber ihren Gegner noch nicht vom Platz stellen konnte.
  • VirtIO- Treiber : Spezielle Treiber für Gastsysteme, die sich an die Anforderungen des Hypervisors anpassen und eine Paravirtualisierung ermöglichen.

KVM-Anwendungsbereiche

Die kernelbasierte virtuelle Maschine wird besonders häufig verwendet, wenn mit dedizierten professionellen Servern gearbeitet wird . In einer Sicherheitsstudie des Bundesamtes für Informationssicherheit (BSI) wurde KVM 2017 als wichtigste Virtualisierungslösung im Bereich Open Source oder Open Source Tools definiert .

Darüber hinaus hat Linux KVM eine zusätzliche Relevanz, da es als Hypervisor in den beliebten OpenStack Cloud- Softwaredienst integriert werden kann.

See also  Was tun, wenn der PC eine Festplatte nicht erkennt?

Vor- und Nachteile von KVM

Abschließend stellen wir kurz einige Vor- und Nachteile dieses Virtualisierungstools vor.

Vorteile :

  • Ausgereiftes und konsolidiertes System
  • Bereits in den meisten Linux-Distributionen enthalten
  • Kostenlos und Open Source
  • Mit einer einzigen realen virtuellen Kernel-Maschine, die Leistung und Stabilität garantiert
  • Entwickelt von renommierten Unternehmen
  • Libvirt ermöglicht die automatische Verwaltung

Nachteile :

  • Nur für Linux-Systeme verfügbar
  • Benötigt Hochleistungs- Hardware für den Host – Computer
  • Ein Einarbeitungsaufwand ist erforderlich, um damit umzugehen
  • Die Zentralisierung der Hardware erhöht das Verlustrisiko im Fehlerfall ( Single Point of Failure , der jedoch mit einer guten Backup- Strategie ausgeglichen werden kann ).

Alternativen zu Linux KVM

Im Bereich der Software Open Source und mit ähnlichen Funktionen ist XEN die wichtigste Alternative. Es ist ein Virtualisierungstool, das ebenfalls eng mit Linux verwandt ist, sich jedoch nicht in den Kernel integrieren lässt .

Auf dem kommerziellen Markt bietet der etablierte Hersteller VMWare Alternativen zur Paravirtualisierung mit seinen ESXi-Servern und zur vollständigen Virtualisierung mit seiner Workstation . Darüber hinaus ist VMWare Player für Privatanwender kostenlos.

Virtualbox ist eine weitere vollständige Virtualisierungsalternative, die auf allen gängigen Betriebssystemen verwendet werden kann.

Microsoft hat auch ein Paravirtualisierungstool für Windows: das Hyper-V-System, das ähnlich wie Linux KVM funktioniert. Es verfügt über einen dedizierten Windows Hyper-V-Server und arbeitet nahtlos mit den Server-Betriebssystemen zusammen. Hiper-V ist auch in Windows 10 Professional- und Enterprise-Versionen enthalten.

Zusammenfassend

Flexibilität und Skalierbarkeit sind zwei unbestreitbare Argumente für die Virtualisierung. Gastbetriebssysteme können somit ohne Verbrauch vieler Ressourcen gewartet und für bestimmte Zwecke ausgeführt werden. Wenn Systeme außerdem regelmäßig auf anderen physischen Medien gesichert werden, verschwindet das Verlustrisiko bei einem Ausfall praktisch.

Wenn Sie Linux auf Ihrem Server verwenden, haben Sie wenig Grund, zumindest KVM nicht in Betracht zu ziehen. Die Integration in den Kern des Systems und das Prestige der Entwickler sind sehr gute Gründe, sich für dieses Tool zu entscheiden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *