KVM
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
KVM bedeutet Kernel based Virtual Machine und ist eine auf QEmu basierende Virtualisierungslösung für CPUs mit HVM-Unterstüzung (derzeit Intel VT oder AMD-V). Durch den Einsatz der Hardwarefunktionen muss das Gastsystem nicht angepasst werden, daher ist z.B. auch der Betrieb von Microsoft Windows möglich. Eine genaue Liste der derzeit unterstützten Systeme findet sich in auf einer Wiki-Seite des Projektes.
Inhaltsverzeichnis |
[Bearbeiten] Hardwarecheck
Wie bereits erwähnt muss die CPU eine HVM-Unterstützung besitzen. Ob ihr System die Voraussetzungen erfüllt erkennen sie an diesem Befehl:
| Code: CPU-Flags prüfen |
egrep '^flags.*(vmx|svm)' /proc/cpuinfo |
Sollte hier keine Ausgabe erfolgen ist ihr PC nicht in der Lage KVM zu verwenden.
| Vorsicht: Einige Mainboardhersteller sperren die Nutzung der HVM im BIOS! |
[Bearbeiten] Installation
[Bearbeiten] Kernelmodule
KVM benötigt Kernelmodule um die Verbindung zwischen Gastsystem und Hardware zu verwalten. Das Kernelmodul ist ab Kernel 2.6.20 fester Bestandteil des Linux Kernels. In dieser Version jedoch noch maskiert.
[Bearbeiten] Module im Kernel (Kernel 2.6.20 oder höher)
Die KVM-Optionen sollten sich bei make menuconfig auswählen lassen.
[Bearbeiten] Module einzel (Kernel 2.6.16 oder höher)
Hier werden die Module zusammen mit den Userspace-Tools erstellt - weitere Informationen sind dort aufgeführt.
[Bearbeiten] Userspace-Tools
| Vorsicht: Um die grafische Oberfläche nutzen zu können muss SDL installiert sein! |
| Vorsicht: KVM lässt sich nur mit GCC 3 zuverlässig kompilieren |
Als erstes muss (sofern nicht bereits getan) GCC 3 installiert werden.
| Code: GCC 3 installieren |
|
# emerge =sys-devel/gcc-3.4.6* |
Mir ist nicht bekannt, ob neuere Installationen das 3.4er GCC-Ebuild finden. Sollte Jemand das testen können bitte hier ergänzen. Das Ebuild sollte es noch auf den Mirrors geben.
Nach der Installation den Standardcompiler vorübergehend wechseln:
| Code: Auf GCC 3 wechseln |
|
# gcc-config x86_64-pc-linux-gnu-3.4.6 |
Derzeit gibt es noch kein Ebuild, daher muss man sich die Software per Hand bauen. Die Pakete finden sich bei SF. Sollte der 2.6.20er Kernel verwendet werden muss Version 12 kompiliert werden. Personen, welche externe Module nutzen möchten können die neueste Version laden.
| Code: KVM Installieren |
|
# tar xzf kvm-*.tar.gz |
Will man die Module erstellen, lässt man den --with-patched-kernel-Parameter weg. Vorsicht: Wenn der Kernel mit GCC 4 erstellt wurde müssen die Module ebenfalls mit GCC 4 erstellt werden.
Note: Die aktuelle Version 59 hat einen kleinen Bug und compilier nicht unter ia64
Loesung: ./configure --kerneldir=`pwd`/kernel --prefix=/opt/kvm --with-patched-kernel
| Code: Module erstellen |
# ./configure --prefix=/opt/kvm |
Diese lassen sich dann mit
| Code: Module laden (Intel) |
modprobe kvm-intel |
bzw.
| Code: Module laden (AMD) |
modprobe kvm-amd |
laden.
| Vorsicht: Nach der Installation analog zu oben wieder auf GCC 4 wechseln! |
[Bearbeiten] Umgang mit VMs
[Bearbeiten] Erstellung einer VM
Hier folgt eine kurze Anleitung zur Erstellung einer minimalen VM-Umgebung. Weitere Funktionen wie LAN, Sound, etc lassen sich den unzähligen KVM bzw QEmu-Howtos entnehmen.
| Code: Erstellung einer Festplattendatei |
/opt/kvm/bin/qemu-img create -f qcow hdd.img 10G |
Dies erstellt eine virtuelle Festplatte mit maximal 10GB Größe. Die Datei ist im Anfangsstadium nur wenige KB groß und wächst bei Bedarf.
| Code: Starten der installation (64Bit-System) |
/opt/kvm/bin/qemu-system-x86_64 -hda hdd.img -cdrom /pfad/zur/installation.iso -boot d -m 384 |
| Code: Starten der installation (32Bit-System) |
/opt/kvm/bin/qemu -hda hdd.img -cdrom /pfad/zur/installation.iso -boot d -m 384 |
-m gibt dabei die Größe des virtuellen RAMs an. Statt einer ISO kann auch eine Gerätedatei wie z.B. /dev/cdrom verwendet werden.
Vorsicht:
|
Die VM lässt sich später mit -boot c starten.
| Code: Starten der installation (64Bit-System) |
/opt/kvm/bin/qemu-system-x86_64 -hda hdd.img -boot c -m 384 |
| Code: Starten der installation (32Bit-System) |
/opt/kvm/bin/qemu -hda hdd.img -boot c -m 384 |
[Bearbeiten] Übernahme aus anderen Programmen
Da KVM auf QEmu basiert können QEmu-VMs ohne Änderungen verwendet werden. Wie QEmu selber können auch RAW- oder VMWare-Festplatten geladen werden.
[Bearbeiten] Fortgeschrittene Optionen
[Bearbeiten] Migration
Mit savevm und loadvm kann eine VM sowohl offline als auch live auf andere Rechner verschoben werden. Die funktioniert auch, wenn sich die Hosts unterscheiden (AMD/Intel). Einzige Einschränkung: 64Bit-VMs laufen natürlich nicht auf 32Bit-Systemen.
Ein Kleines Howto ist in der Projekt-Wiki zu finden.
