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

Re: BTRFS snapshot space consumption (was: New laptop: need advice on choice...)



On 4/13/19 5:40 PM, Peter Wiersig wrote:
> Peter Wiersig <peter@friesenpeter.de> writes:
>>
>> I would be pissed if my OS removes snapshots I might or might not need
>> in the future.  That's a release critical bug in my eyes.  Yeah, I know
>> Microsoft and Apple do that automatically if your capacity runs out, but
>> that's also why I don't recommend them at all.
> 
> Ok, I checked https://en.opensuse.org/Portal:Snapper and they do support
> LVM and ext4, and they have a bullet of auto-removing old snapshots.  I
> hope they did it right, perhaps I need to make a new test drive with the
> latest release.
> 
> Snapshots on ZFS can't be zero cost, so you need to account for them
> there, too.
> 
> Peter
> 

ZFS Snapshots are nearly zero cost to create the snapshot, since ZFS
(and likewise BTRFS) are copy-on-write file systems. What it does is
records the deltas after the snapshots.

This is a good thinkg as it saves on disk space.

For example:

You create a random 10 MB file, and take a snapshot. You then alter the
5 tail MBs and add five more MBs at the tail. You are left with:

Pre-Snapshot | 5MB chunk #1 | 5MB chunk #2 |  - total 10MBs
Post-Snapshot | 5MB chunk #1 | 5MB chunk #3 | 5MB chunk #4 | - total 15MBs

Actual disk usage will be 20 MBs, since the 5MB chunk #1 is only
recorded on disk once, not twice.

Here is a good talk on the subject by Michael Lucas, one of the premier
experts on ZFS. Its worth noting that a lot of the concepts apply to
BTRFS to varying degrees:

https://www.youtube.com/watch?v=x9A0dX2WqW8

-Matt


Reply to: