KVM

Seit ein paar Wochen beschäftigen sich ein paar von uns mit KVM; hier sammeln wir interessante Informationen.

Fragen

  • Seit Version xxx von qemu werden Snapshots direkt in den qcow-Images gespeichert; wie kann man veranlassen, dass Snapshots weiterhin in externen Dateien landen?

Sammelsurium

Alles mögliche, was man so zum Thema gefunden hat…

IO

Tipps

Migration

PCI-Geräte zur KVM-Maschine durchreichen

https://www.linux-magazin.de/Heft-Abo/Ausgaben/2010/04/Was-ist-schon-real

Ein anderer Einsatz für Grafikkarten, der auch ohne KVM funktioniert könnte irgendwann Folgender sein: https://www.nvidia.de/object/vgx-remote-desktop-virtualization-de.html.

KVM auf einem USB-Stick

Umgang mit Images

https://blog.allanglesit.com/2011/03/linux-kvm-managing-disk-images/

Speicher sparen mit KSM

KSM = Kernel Samepage Merging

Die Speicherbereiche, die mehrfach vorhanden sind, werden zusammengelegt. Der Daemon ksmd läuft deshalb die ganze Zeit und kümmert sich darum.

Mit folgendem, etwas geänderten Kommando (von diesem Blog) kann man sich anzeigen lassen, wie viel Speicher gemeinsam genutzt wird:
echo "How many shared pages are being used: $(( $(cat /sys/kernel/mm/ksm/pages_shared) * $(getconf PAGESIZE) / 1024 / 1024 ))MiB" echo "How many more sites are sharing them i.e. how much saved: $(( $(cat /sys/kernel/mm/ksm/pages_sharing) * $(getconf PAGESIZE) / 1024 / 1024 ))MiB"

Beispiele und frei gewordener RAM

  • KVM Host mit 5 VMs und Minecraft-Servern: 1525 MiB bis 1868 MiB
  • KVM Host mit 7 VMs: 802 MiB

Unsortiert

KVM und Bridges:

Häufige Probleme

IO Performance

Häufig gibt es bei KVM Probleme mit der IO Performance von Maschienen.
Generell gibt es hier einige Dinge die man beachten sollte:

  • Als Schnittstelle sollte wenn möglich immer VIRTIO genutzt werden.
  • Auch sollte der Scheduler der Platte auf “noop” gestellt werden:
    # echo noop > /sys/block/sda/queue/scheduler
    Alternativ kann man “elevator=noop” in zu den Kernelparametern hinzufügen.
  • Auch lässt sich von der Performance her folgendes sagen (von links nach rechts abnehmend): LVM > raw-image > qcow2

Informationen zum qcow-Format: https://people.gnome.org/~markmc/qcow-image-format.html.

Speicherauslastung

Falls öfters mal der OOM-Killer (Out of Memory) zuschlägt: https://www.hskupin.info/2010/06/17/how-to-fix-the-oom-killer-crashe-under-linux/.

Zuletzt geändert: 2023-10-28 11:58:12 +0200 CEST: remove import status