microserver:kvm

Einige Tests mit KVM

KVM installieren

siehe http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server

Überprüfen der CPU-Unterstützung:

#> egrep '(vmx|svm)' --color=always /proc/cpuinfo

KVM und virtinst installieren:

#> aptitude install kvm qemu-kvm libvirt-bin virtinst

# Aktiver Benutzer (root) zu den Gruppen libvirt und kvm zufügen:

#> adduser `id -un` libvirt
#> adduser `id -un` kvm

Danach sollte root sich Ab- und wieder Anmelden um diese Mitgliedschaft zu aktivieren.

# Benutzer jorek zu den Gruppen libvirt und kvm zufügen:

#> adduser jorek libvirt
#> adduser jorek kvm

Setting up a Certificate Authority (CA)

siehe: http://libvirt.org/remote.html#Remote_TLS_CA

Erzeugte Dateien und Verzeichnisse:

#> find -L /etc/pki
/etc/pki
/etc/pki/libvirt
/etc/pki/libvirt/clientcert.pem
/etc/pki/libvirt/servercert.pem
/etc/pki/libvirt/private
/etc/pki/libvirt/private/clientkey.pem
/etc/pki/libvirt/private/serverkey.pem
/etc/pki/CA
/etc/pki/CA/cacert.pem
/etc/pki/CA/private
/etc/pki/CA/private/cakey.pem

Guest installieren

Logical Volume auf der LVM-verwalteten Festplatte anlegen:

#> lvcreate -n kvmt1  -L 20G raid1
  Logical volume "kvmt1" created

Zuordnen des Device zur Gruppe des Benutzers jorek. Wegen udev nicht persistent; Geht bei reboot vermutlich verloren:

chown --dereference root:jorek /dev/mapper/raid1-kvmt1

WindowsXP-CD auf dem Server übertragen:

#> cat /dev/cdrom1 | ssh jorek@erde "cat > ~/winxpsp2.iso"

Installationskommando:

jorek$> virt-install \
   --connect 'qemu:///system' \
   --name=win64test \
   --ram 512 \
   --disk path=/dev/mapper/raid1-kvmt1 \
   --cdrom ./winxp64.iso \
   --os-type=windows \
   --os-variant=winxp64 \
   --accelerate \
   --hvm \
   --vnc \
   --vnclisten=0.0.0.0 \
   --noautoconsole \
   --network=bridge:br0

VNC

Als VNC-Client benutze ich derzeit gtkvncviewer.

KVM per Kommandozeile administrieren

Laufende Gastsysteme auflisten:

$> virsh -c 'qemu:///system' list

Alle Gastsysteme auflisten:

$> virsh -c 'qemu:///system' list --all

Gastsystem win64test starten:

$> virsh -c 'qemu:///system' start win64test

Laufendes Gastsystem wintest abbrechen: (analog Hardware-Reset)

$> virsh -c 'qemu:///system' destroy wintest

Gastsystem wintest löschen

$> virsh -c 'qemu:///system' undefine wintest
Gastsystem abspeichern und wiederherstellen:

Gastsystem win64test in die Datei state/win64test abspeichern:

$> virsh -c 'qemu:///system' save win64test state/win64test

Leider wird das Statefile als mit dem Besitzer/Gruppe root:root und den Berechtigungen 600. Der Dateibesitzer muss vor der Wiederherstellung des Gasts auf dem Benutzer der Shell und die Berechtigungen auf 644 geändert werden. Siehe Debian Bug #580956

Gastsystem aus der Datei state/win64test wiederherstellen:

$> virsh -c 'qemu:///system' restore state/win64test

Snapshots

Laufendes Gastsystem herunterfahren, LVM snapshot anlegen. Dieser Befehl erstellt einen Snapshot 'kvmt1+install' des LVM '/dev/kvmt1':

#> lvcreate --size 20G --snapshot --name kvmt1+install /dev/raid1/kvmt1
  Logical volume "kvmt1+install" created
microserver/kvm.txt · Zuletzt geändert: 2014/09/13 19:12 (Externe Bearbeitung)

Seiten-Werkzeuge