Feb 172012
 

Unter Linux bietet sich die Möglichkeit, als Virtualisierungsplattform KVM/qemu/libvirt zu verwenden. Diese Form der Virtualisierung – hier einfach nur kurz KVM genannt – ist äußerst performant und bietet hohe Flixibilität gerade im Rahmen von Software-Entwickungsumgebungen.

Grundinstallation

Zuerst muss getestet werden, ob die CPU die benötigten Virtualisierungsfeatures unterstützt:

egrep -c '(vmx|svm)' /proc/cpuinfo

Zeigt sich ein Wert größer 0, wird KVM unterstützt.

Installation der benötigten Server-Software:

apt-get install qemu-kvm libvirt-bin bridge-utils bc pbzip2

Nach der Installation sollte das Bridging eingerichtet werden, da alle Gäste im Bridging Modus in diese Bridge eingehängt werden. Dazu muss die Datei /etc/network/interfaces angepasst werden. Ein einfaches Beispiel sieht so aus:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_fd    0.5
        bridge_hello 0.5

Aus Performance-Gründen empfiehlt sich der Einsatz von LVM für die Disk Images. Trotzdem ist es möglich, Disk Images in gewöhnliche Dateien anzulegen. Es ist sinnvoll auf dem eigenen PC die grafische Management Software „Virt-Manager“ zu installieren:

apt-get install virt-manager

Hiermit werden Image Pools sowohl für CD/DVD-Images, als auch Disk Images angelegt.

Installation von KVM-Gästen

Das Neuanlegen von Gästen empfiehlt sich im virt-manager. Dort gibt es den Menüpunkt New.

Step 1

  • Angabe des Hostnamens
  • Local install media (ISO image or CDROM)

Step 2

  • ISO-Image auswählen
    • Ubuntu Livesystem für Migration
    • Install-ISO-Image für Neuinstallation
  • OS auswählen
  • OS-Version auswählen

Abhängig von der OS-Auswahl wird der Disk- und NIC-Treiber ausgewählt. Bei älteren Betriebssystemen und Windows wird der IDE-Treiber und e1000-Treiber ausgewählt, ansonsten wird die !VirtIO-Variante gewählt.

Step 3

Auswahl der CPU-Kerne und Speichergröße

Step 4

Auswahl für Storage

  • Select managed or other existing storage (LVM)

In Browse kann man ein bestehendes LVM-Volume auswählen oder eins anlegen. Der Name der LV muss dem Schema <hostname>-disk<no> entsprechen. Die <no> entspricht einer laufenden Durchnummerierung der VM-Disks, angefangen bei 01. Dies ist wichtig für das Backup!

Step 5

  • Häkchen bei Customize configuration before install setzen
  • Combobox auf Specify shared device name ändern und das entsprechende Brdige-Device angeben.
  • Set a fixed MAC address ist schon gesetzt. Hier kann man die MAC-Adresse z.B. für MDSC2 schon rauskopieren.

Step 6, Hardware Konfiguration

  • Processor
    • Copy host CPU configuration
    • Apply anklicken
  • Display VNC
    • Keymap du de stellen.
  • Video
    • Model auf vmvga umstellen.
    • Apply anklicken

Die Installation bzw. der VM-Gast startet, wenn man Begin installation anklickt.

Konvertierung von VMware Images

Derzeit können nur neuere Images direkt konvertiert werden. Dabei können VMs und native Systeme migriert werden, die eine Vollinstallation beinhalten (also VMware, nicht aber VServer und Xen). Hier empfiehlt sich, zuerst unter KVM ein LV (s.o.) anzulegen. Die Platte im alten System sollte kleiner als die neue LV sein. Dazu bootet man die alte Instanz in einem Livesystem. Hier muss man evtl. das alte System klein machen. Es empfiehlt sich im Gast grundsätzlich kein LVM einzusetzen. Wird auf dem alten System kein LVM eingesetzt, kann man per dd einen Abzug ziehen. Wird von LVM wegmigriert, muss das Dateisystem in ein Archiv gepackt werden und auf dem Zielsystem boot-fähig gemacht werden. Auf dem Zielsystem kann ein dd-Image direkt im Wirt in die neue LV reingeschrieben werden und dort die Partitionen angepasst werden.

Da sich die MAC-Adresse ändert, muss im neuen Zielsystem die Datei /etc/udev/rules.d/70-persistent-net.rules gelöscht werden. Diese wird nach dem ersten Booten automatisch mit den neuen MAC-Adresse neu angelegt. Um die VMs verwalten zu können, muss in den VMs unter Linux der acpid installiert sein. Unter Windows ist ACPI automatisch mit installiert.

Beschränkung von CPU und Speicher

Jeder KVM-Gast erhält unter /etc/libvirt/qemu/ eine Konfigurationsdatei, über die sich auch die Zuteilung der CPUs und des Speichers steuern lässt. Folgendes Beispiel enthält die gekürzte Konfiguration einer VM mit einer CPU und einem GB Arbeitsspeicher:

<domain type='kvm'>
 <memory> 1048576 </memory>
 <vcpu> 1 </vcpu>
</domain>

Die Parameter lassen sich auch im virt-manager ändern.

Verwaltung einer VM

Um die VMs verwalten zu können, muss in den VMs unter Linux der acpid installiert sein. Unter Windows ist ACPI automatisch mit installiert.

Start einer VM

virsh start <Domain>

Stoppen einer VM

virsh shutdown <Domain>

Neustarten einer VM

virsh restart <Domain>

Suspendieren einer VM

virsh suspend <Domain>

Ruhezustand einer VM beenden

virsh resume <Domain>

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)