VM belegt zu viel Speicher

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Krull
Beiträge: 190
Registriert: 14.09.2012 10:33:54
Lizenz eigener Beiträge: MIT Lizenz

VM belegt zu viel Speicher

Beitrag von Krull » 01.05.2017 14:57:24

Hallo,

ich betreibe mit KVM eine virtuelle Maschine (qcow2), in der ein ZFS-Dateisystem mit Illumos drinsteckt. Dessen Speichergröße wird in virt-manager mit 30GB angegeben. Das ist auch die Größe des ZFS-Pools in der VM (davon belegt sind ca. 17GB). Auf dem Wirtssystem belegt die VM allerdings schon 38GB.
So, meine Frage jetzt: Wie kommt das? Warum belegt die VM mehr als für sie reserviert worden ist, zumal sie den Platz augenscheinlich noch nicht einmal braucht? Ich habe alle Snapshots (sowohl die von KVM als auch die von ZFS innerhalb der VM) gelöscht. Trotzdem verbraucht die VM mehr Platz als ihr erlaubt ist.

owl102

Re: VM belegt zu viel Speicher

Beitrag von owl102 » 01.05.2017 15:13:46

Punkt 1: Woher soll KVM wissen, welche Sektoren in der virtuellen Platte belegt sind und welche nicht? Also liegt es in der Natur der Sache, daß eine virtuelle Festplatte (egal ob KVM oder VirtualBox oder VMware), die eine dynamische Größe hat, sich immer mehr der logischen Größe annähert, ganz einfach, weil im Betrieb vormals unbenutzte Sektoren verwendet werden.

Bereinigen kann man das zum Beispiel, indem man den unbenutzten Platz der Platte mit Nullen überschreibt und anschließend die virtuelle Datei um diesen unbenutzen Platz bereinigt, z.B. mit virt-sparsify (KVM) oder VBoxManage --compact (VirtualBox).

Siehe z.B.:
https://serverfault.com/questions/32928 ... n-kvm-qemu
http://libguestfs.org/virt-sparsify.1.html

BTW: KVM kennt übrigens viele Dateisysteme, so daß das Überschreiben des freien Platzes mit Nullen entfällt. ZFS gehört aber nicht dazu.

Punkt 2: Warum wird die Datei größer als die Platte? Weil in der qcow2-Datei auch Verwaltungsinformationen stecken. Für jeden Sektor innerhalb der Datei fällt Verwaltungsinformation an. Möchte man das vermeiden, kann man z.B. ein 1:1 Plattenabbild wählen. Dies ist vom Start weg exakt so groß wie die virtuelle Platte (und wächst logischerweise auch nicht).

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: VM belegt zu viel Speicher

Beitrag von rendegast » 01.05.2017 15:55:51

owl102 hat geschrieben: Dies ist vom Start weg exakt so groß wie die virtuelle Platte (und wächst logischerweise auch nicht).
qemu-img legt im default eine sparse-Datei an.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten