[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Avonturen met virt-manager en wine



Hallo Wouter en anderen,

Op 14-09-2021 om 13:55 schreef Wouter Verhelst:
Hoi Paul,

Persoonlijk werk ik liever met system VMs (en zelfs virsh geeft je een
warning als je user context VMs probeert aan te maken), maar de keuze is
er dus.

Op een server is dat inderdaad beter, maar ik was hier bezig in een desktop context. Windows applicaties draaien onder Linux.

Wat me nog negatief opviel was dat je alleen virtuele harddisks kon aanmaken
die de volledige grootte hebben.

Nee, dat is niet correct:

root@pc181009:/var/lib/libvirt/images# ls -lh debian.qcow2
-rw------- 1 root root 21G 25 aug 18:33 debian.qcow2
root@pc181009:/var/lib/libvirt/images# du -sh debian.qcow2
2,2G	debian.qcow2

Wat raar zeg, blijkbaar geeft ls -lh dus niet altijd de juiste waarde??

Toch wel, maar wat het je toont is niet wat jij denkt dat het is ;-)
>
"ls -l" geeft je de apparent size; "ls -s" geeft je de hoeveelheid
blocks die in gebruik zijn. De twee zijn niet dezelfde waarde

Is hier misschien iets aan veranderd?

Nee hoor; sparse files bestaan al *heel* lang. Wikipedia legt redelijk
goed uit hoe ze functioneren:

https://en.wikipedia.org/wiki/Sparse_file

Ik dacht dat ik op de server wel de gebruikte ruimte kreeg met "ls -lh", maar misschien moet ik dit beter controleren.

Het bestand is een "sparse file": dat lijkt in mijn geval 21G groot
te zijn, maar neemt in werkelijkheid slechts 2.2G in beslag. Als het
OS in de VM ook de relevante trim/discard SCSI en ATA calls
gebruikt, dan zal qemu dat opnieuw vrijgeven (mijn Windows VM doet
dat niet en gebruikt dus de volledige content van de virtuele hard
disk, maar mijn Linux VMs doen het allemaal wel goed).

Gut, bij mij doen de Linux VM's dat niet. Ik moet wellicht de host
upgraden.

Het kan ook gewoon config binnen de VM zijn hoor. Kijk na of je
trim/discard aan hebt staan op je mounted filesystems.

Alternatief heb ik misschien een foutje gemaakt en doet qemu helemaal
geen fallocate() om het bestand terug sparse te maken, maar worden
alleen sparse files aangemaakt bij het aanmaken van de VM. Deze VM is
nog niet zó geweldig veel gebruikt, dus het kan zijn dat dat de reden is
dat het bestand nog niet helemaal gealloceerd is...

Ik had altijd begrepen dat ze alleen groeiden, en nooit kleiner werden. Dat je daarvoor een conversie moet doen die veel ruimte kost. Ik zit hiermee bijvoorbeeld met mijn mailserver, daar wordt veel gewist.

Je kan verder ook andere storage backends configureren:

rechtermuisknop op "QEMU/KVM" -> Details -> Storage -> op "+" klikken
onderaan links -> Type openklappen. Bij mij zie ik:

dir: Bestandssysteem map
disk: Fysiek schijf apparaat
fs: Pre-geformatteerd blok apparaat
gluster: Gluster Filesystem
iscsi: iSCSI doel
logical: LVM volume group
mpath: Multi-pad apparaat opsommen
netfs: Netwerk geëxporteerde map
rbd: RADOS Block Device/Ceph
scsi: SCSI host adapter
sheepdog: Sheepdog Filesystem
zfs: ZFS Pool

Interessant, vooral die "dir" kende ik nog niet.

Eh, dat is de default, en is waarschijnlijk ook degene die je gebruikt ;-)

("dir" maakt gewoon .qcow2-bestanden aan in een directory ergens op het
bestandssysteem)

Ah. Ik dacht even dat je de gegevens ook gewoon direct in een directory kon zetten, zoals bij een chroot. Maar dus niet.

Groet,
Paul

--
Paul van der Vlis Linux systeembeheer Groningen
https://www.vandervlis.nl/


Reply to: