KVM
Beschrieben wird die Einrichtung unter Ubuntu 10.10. Andere Distributionen können ggf. abweichen.
Inhaltsverzeichnis |
Unterstützung der Hardwarevirtualisierung prüfen
Neben der CPU-Unterstützung ist die Hardwarevirtualisierung im BIOS zu aktivieren (siehe Allgemeines). Kann man nicht im BIOS nachschauen, z.B. Server bei Providern, ist das einfach durch Hinzufügen der entsprechenden Kernelmodule zu überprüfen.
bei Intel-CPUs:
# modprobe kvm-intel
bei AMD-CPUs:
# modprobe kvm-amd
Danach sind die entsprechenden Module geladen und /dev/kvm vorhanden:
# lsmod|grep kvm kvm_intel 39776 0 kvm 129640 1 kvm_intel # ls -l /dev/kvm crw-rw---- 1 root root 10, 232 2010-11-25 13:11 /dev/kvm
oder entsprechende Fehlermeldungen:
# modprobe kvm-amd FATAL: Error inserting kvm_amd (/lib/modules/2.6.26-2-amd64/kernel/arch/x86/kvm/kvm-amd.ko): Operation not supported # lsmod|grep kvm kvm 129640 0 # ls -l /dev/kvm ls: cannot access /dev/kvm: No such file or directory # dmesg|grep kvm [1992066.916307] kvm: disabled by bios
Im Fehlerfall wird lediglich das allgemeine Modul kvm geladen, das Prozessorspezifische kann nicht geladen werden. Das Device ist nicht vorhanden und dmesg meldet die fehlende BIOS-Unterstützung.
Virtuelles Netzwerk
Damit die virtuellen Netzwerkinterfaces virbr* von libvirt gestartet werden können, wird das Paket dnsmasq-base benötigt.
Erstellen einer neuen virtuellen Maschine
- Installationsabbild wählen
- Pfad zum Installationsabbild wählen
- Betriebssystem auswählen
- Version auswählen
- RAM zuteilen
- Anzahl der CPUś festlegen
- virtuellen Festplattenspeicher zuweisen
- Wichtig! Virtualisierungstyp kvm wählen
- Architektur auswählen
- Starten
Klonen einer Linux-VM
Die zu klonende VM muß ausgeschaltet sein. Beim klonen mit dem virt-manager ist darauf zu achten, daß sowohl der VM-Name, als auch der Image-Name angepaßt werden muß. Bei Verwendung von LVM statt Image-Dateien muß auch hier nur der Name des neuen LVs angegeben werden, das LV darf vorher nicht angelegt sein.
Anpassungen nach dem Klonen
Beim klonen werden keine Einstellungen in der VM angepaßt. Damit keine Konflikte auftreten müssen mindestens folgende Einstellungen, ausgehend von einer Minimalinstallation, angepaßt werden.
Änderung des aktuellen Hostnamens:
~# hostname <HOST>
/etc/exim4/update-exim4.conf.conf:
dc_other_hostnames='<HOST>.<DOMAIN>'
/etc/hostname:
<HOST>
/etc/hosts:
127.0.1.1 <HOST>.<DOMAIN> <HOST>
/etc/mailname:
<HOST>.<DOMAIN>
SSH-Hostkeys neu erzeugen:
~# rm /etc/ssh/ssh_host_*_key.* ~# dpkg-reconfigure openssh-server
Bei einer statischen Netzwerkkonfiguration:
~# ifdown eth0
/etc/network/interfaces:
address <IP-ADRESSE>
~# ifup eth0
Falls das Interface bei Squeeze nicht auftaucht, muß die Mac-Adresse der Netzwerkkarte in /etc/udev/rules.d/70-persistent-net.rules angepaßt werden. Sollte
invoke-rc.d udev reload
oder
invoke-rc.d udev restart
nach der Änderung nicht reichen, damit die Netzwerkkarte danach beim ifup eth0 erkannt wird, ist ggf. ein Neustart nötig.
Bei Wheezy ist die Anpassung der udev-Regeln nicht mehr nötig, da dort keine Regel bzgl. Netzwerkkarte existiert.
Virtueller Festplattenspeicher
Die klassische Form ist ein Festplattenimage, welches eine Datei als Container für die virtuelle Festplatte verwendet. Da die Datei durch das Filesystem des Hosts verwaltet wird, ist diese zusätzliche Schicht mit Performanceverlust verbunden.
Alternativ kann z.B. auch eine LVM Volume Group als Speicherpool hinzugefügt werden. Statt einer Image-Datei wird dann ein Logical Volume angelegt und dieses als virtuelle Festplatte genutzt. Als Geschwindigkeitstest wurde eine W2k3-VM auf beide Speichertypen geklont und anschließend parallel defragmentiert. LVM war dabei in der VM sichtbar ca. doppelt so schnell und auch iotop zeigte den selben Faktor zwischen den beiden kvm-Prozessen.
Treiber für Windows-Gastsysteme
Eine Anleitung zur Installation und ISO-Images zum Download:
http://www.linux-kvm.com/content/using-vmware-vga-kvm-windows-guests