Comment 2 for bug 1895943

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Thanks for reporting this bug and help making ubuntu better.

ZSys is supposed to take user snapshots at the same time than system snapshot. This is done on purpose, to ensure that a system revert will always revert you to a coherent state. You can have application data that changed format and upgraded your database. If we didn’t snapshot USERDATA, then, reverting the system will end up in, for instance, older thunderbird not being able to open the new database schema (it can’t know about it), and so, your system snapshot will be useless.

There is no point in snapshotting only the system thus. I suggest that you read this blog post which details that a little bit more: https://didrocks.fr/2020/05/28/zfs-focus-on-ubuntu-20.04-lts-zsys-general-principle-on-state-management/.

It seems though that you have a bunch of data generated/copied and then removed on your machine (0.5T?). The GC is by default kicking out everything that is more than one month old since 0.4.7, but if your threshold is higher I understand that cn be a bottleneck.

The good news is that this is configurable and explained at https://didrocks.fr/2020/06/04/zfs-focus-on-ubuntu-20.04-lts-zsys-state-collection/. Note that the default policy changed as stated above so that until free-space GC pressure is impemented, we mitigate extreme use cases like yours.
Another way is to consider using persistent datasets which will be excluded from snapshots as explained in https://didrocks.fr/2020/06/16/zfs-focus-on-ubuntu-20.04-lts-zsys-dataset-layout/