bhyve, sparse disk image and trim support?

Marcel Moolenaar marcel at xcllnt.net
Mon Apr 22 02:13:01 UTC 2019



> On Apr 21, 2019, at 10:01 AM, Bjoern A. Zeeb <bzeeb-lists at lists.zabbadoz.net> wrote:
> 
> Hi,
> 
> I have been wondering about this with other (commercial) virtualisation solutions in the past.  If running on a “disk image” ideally I’d love that image to be a sparse file and ideally I’d love for bhyve/underlying virtualisation for the disk to understand TRIM so in case one deletes huge junks inside the VM the disk image can actually shrink again.
> 
> Examples might be: you do a buildworld or an OS update in the guest and then want to delete the obj tree or temporary files after that.  Now the disk image on the host has been bloated up, and could massively shrink again saving space on the host.
> 
> Do we support this?  Has anyone worked on this?  How do people deal with these problems?

I started libvdsk a (long) time back: see https://svnweb.freebsd.org/base/user/marcel/libvdsk/
I moved it to github to make collaboration easier: see https://github.com/xcllnt/libvdsk
The latest code is in GitHub.

I mostly didn't work on it, but recently spent a bit of time on it. With raw disk support
integrated into the bundled bhyve, the next obvious step is to add support for qcow or vmdk
or vhd. Someone has the beginnings of qcow support, so maybe that can be integrated soonish
Into libvdsk.

I was thinking that a sparse file could be created for raw disk images in the context of TRIM,
but didn’t yet worry about it. It could be useful in general, not just raw disk images so I
wanted to get off the ground with something like vmdk first...

JFYI,

-- 
Marcel Moolenaar
marcel at xcllnt.net





More information about the freebsd-virtualization mailing list