KVM Grundlagen

Aus xinux.net
Zur Navigation springen Zur Suche springen

Datei:KVM.media

Name

  • Kernel-based Virtual Machine

Webseiten

Läuft auf

  • Intel (VT)
  • AMD (AMD-V)
  • System-z-Architektur
  • PowerPC
  • ARM

Veröffentlicht

  • Oktober 2006
  • Kernel 2.6.20

Entwickelt

  • Israel
  • Avi Kivity
  • Qumranet
  • 2008 Red Hat

Portierungen

  • FreeBSD
  • Illumos

Besteht aus

  • kvm.ko
  • kvm_intel.ko
  • kvm_amd.ko

Open Virtualization Alliance (OVA)

  • Gegründet Mai 2011
  • Virtualisierung und cloudbasierte Lösungen
  • um dies auf dem Markt zu etablieren
  • Mitglieder
    • BMC Software
    • Eucalyptus Systems
    • HP
    • IBM
    • Intel
    • Red Hat
    • SUSE

KVM

  • keine Emulation
  • nur Infrasruktur

Qemu

  • virtualisierte Gastsysteme
  • Festplatten
  • Netzwerk
  • Sound
  • Grafikkarten

Übersicht

Kvm-101.png

Gastsysteme

  • Linux (32 und 64 Bit),
  • Windows (32 und 64 Bit)
  • Haiku
  • AROS
  • ReactOS
  • FreeDOS
  • Solaris
  • BSD-Derivate.

Paravirtualisierungsschnittstelle Virtio

  • Festplatten
  • Netzwerkgerätetreiber

Verwaltungswerkzeuge

  • qemu/kvm
  • virsh
  • Virtual Machine Manager (VMM)
  • AQemu
  • UCS Virtual Machine Manager
  • Proxmox
  • Ovirt
  • Kimchi

Einordnung

VT Modell

Erklärung

  • KVM ist ein Linux-Kernel, der in Kombination mit dem kvm-Kernelmodul den üblichen Linux-Kernel in einen Bare-Metal-Hypervisor verwandelt.
  • Sobald KVM im Kernel installiert ist, können wir virtuelle Maschinen darin erstellen und steuern.
  • CPU-Virtualisierung: Um die CPU zu virtualisieren, nutzt KVM die Hardwarelösung, d. h. CPUs, in die Virtualisierungsanweisungen integriert sind.
  • Intel nennt dies VT-X und AMD nennt es AMD-V.
  • Die traditionelle Architektur von CPUs hatte den standardmäßigen ringbasierten Betrieb.
  • Das Betriebssystem würde die privilegierten Befehle im Ring 0 ausführen und die Benutzerraumanwendungen würden im Ring 3 ausgeführt.
  • Die Einführung der Virtualisierung erforderte das Vorhandensein einer neuen Schicht zwischen der Hardware und dem Betriebssystem.
  • Dies hätte auf zwei Arten erreicht werden können:
    • 0/1/3-Modell, bei dem das Betriebssystem in Ring 1 verschoben und der Hypervisor in Ring 0 ausgeführt wird
    • 0/3/3-Modell, bei dem das Betriebssystem und die Anwendungen beide im Ring3 ausgeführt werden und der Hypervisor im Ring 0 ausgeführt wird.
  • Beide Modelle, die das Betriebssystem von Ring 0 wegbewegen, führen zu mehreren Problemen, da das Betriebssystem so konzipiert ist, dass es immer in Ring 0 ausgeführt wird.
  • Die Softwarelösungen wie binäre Übersetzung und Paravirtualisierung versuchen, die Probleme aufgrund dieser Änderung des Betriebsrings anzugehen das Betriebssystem.
  • Die von Intel und AMD-V eingeführte Hardwarelösung löst dies, indem sie neue Betriebsmodi in der CPU einführt.
  • Die für die Intel-Virtualisierung aktivierte Hardware verfügt über die neuen Betriebsmodi VMX Root und VMX Non Root.
  • Die VMX-Root-Operation wird verwendet, um den Hypervisor auszuführen
  • VMX-Non-Root-Operation wird verwendet, um die VM selbst auszuführen
  • Jeder dieser CPU-Modi hat Ring 0,1,2,3.
  • Somit kann das Betriebssystem weiterhin in ring0 im VMX-Non-Root-Modus arbeiten
  • Es hat weiterhin Kontrolle über die Hardware wie bei einem herkömmlichen Betriebssystem behalten.
  • Der Hypervisor hingegen wird im VMX-Root-Modus in Ring 0 ausgeführt.
  • Somit erhält sogar der Hypervisor die vollständige Kontrolle über die Hardware, indem er im ring0 vorhanden ist.
  • Aber zu jedem beliebigen Zeitpunkt würde entweder die andere VM oder der Hypervisor im Ring-0-Modus arbeiten.
  • Dies löst eine Reihe von Problemen, die in den Softwarelösungen der Virtualisierung bestehen, und macht die Virtualisierung viel schneller,
  • Die VM während des normalen Betriebs ohne Eingriff des Hypervisors direkt auf der Hardware arbeiten kann.
  • Die Steuerung verlagert sich aus der VM nur bei einer E/A, die von der im Host-Kernel laufenden Userspace-Anwendung gehandhabt wird, und bei Interrupts oder anderen Signalen, die vom Hypervisor gehandhabt werden.
  • KVM nutzt diese Hardwarefunktion, während die virtuellen Maschinen ausgeführt werden.
  • Somit gibt es neben dem traditionellen Kernel-Space und User-Space einen neuen Modus, der als Gast-Betriebsmodus im Kernel bezeichnet wird.
  • Die VM arbeitet in diesem Gastmodus, der den VMX-Nicht-Root-Modus nutzt.
  • Das Gastbetriebssystem arbeitet im Ring 0 des VMX-Non-Root-Modus und die Anwendungen im Gastbetriebssystem im Ring 3 des VMX-Non-Root-Modus.
  • Der KVM-Kernel hingegen arbeitet im Ring 0 des VMX-Root-Modus.
  • Der Kernel, der als Hypervisor fungiert, wird im Kernelraum des vmx-Root-Modus ausgeführt.

Libvirt supports

Kvm-104.png

VM lifecycle

Kvm-105.png

Folien

Quellen