[nova]is there support for discard/trim in virtio-blk?
kchamart at redhat.com
Fri Sep 3 08:32:55 UTC 2021
On Fri, Sep 03, 2021 at 08:15:51AM +0000, Sven Kieske wrote:
> Thanks for all the feedback and pointers! FWIW we were already aware
> of the discard=unmap option in libvirt, I should have mentioned that.
> In the meantime I found this bugreport:
> which seems to indicate that this indeed works in libvirt for
> So I will continue to figure out why this doesn't work as intended in
> our setup.
Yes, 'discard' support for 'virtio-blk' was added to Linux and QEMU in
the following versions:
- Linux: v5.0 onwards
- QEMU: v4.0.0
So make sure you have those versions at a minimum. And as you've
discovered in the above Red Hat bugzilla, libvirt already has the config
option to enable 'discard'; and Nova has the config option too.
* * *
Some notes on 'discard' (also called as 'trim') that I learnt from my
colleague Dan Berrangé:
- To genuinely save storage space, you need to enable 'trim' at every
single layer of the I/O stack -- guest, host, and storage server(s).
- Even if the host storage doesn't support 'discard', it might still
be useful to enable it for the guests -- it'll keep your qcow2 file
size down by releasing unused clusters, so if you need to copy the
qcow2 file to another host there will be less data needing copying.
- If you're "thick-provisoning" your guests so that they will never
trigger ENOSPC, then you don't want to enable 'discard'.
More information about the openstack-discuss