Re-sparse a file-backed IO device + zfs
Jan Bramkamp
crest at rlwinm.de
Tue Dec 13 09:59:39 UTC 2016
On 13/12/2016 07:54, Karli Sjöberg wrote:
>
> Den 13 dec. 2016 02:20 skrev javocado <javocado at gmail.com>:
>>
>> Hi,
>>
>> I'm setting up a bhyve wherein:
>>
>> host # truncate -s 1T vol.file
>> host # du -ah vol.file
>> 200K vol.file
>>
>> host # /usr/sbin/bhyve ... -s 4,ahci-hd,vol.file ...
>>
>> Then inside the bhyve I create a zpool (ada0 = vol.file):
>>
>> bhyve # zpool create -O devices=off -O atime=off -O compression=on -m
>> /mnt/data1 data1 ada0
>>
>> And I put a bunch of stuff in the zpool ... and the vol.file grows in size:
>>
>> host # du -ah vol.file
>> 100G vol.file
>>
>> Then I remove the files from the zpool and the zpool usage returns to 0 but
>> of course the vol.file size does not shrink, the data is still there (but
>> not referenced?)
>>
>> Normally I'd just write zeros to a file inside the zpool until the pool
>> fills up, then maybe cp --sparse vol.file for good measure, but with
>> compression on in the zpool the zeroing doesn't really fill up space or
>> seem to overwrite anything. In my testing the zero file grew larger than
>> 100G with no change to vol.file I did not let it run forever, however.
>>
>> Any other ideas how to scrub off or clear out deleted data from a zpool
>> and/or this kind of file-backed device?
>
> Wouldn't you have needed TRIM on the disk(s) inside the VM and it would have taken care of all this for you?
The ahci-hd driver supports TRIM on ZFS volumes. Why do you use sparse
file instead of a ZFS volume?
More information about the freebsd-fs
mailing list