I'm a bit confused about how LVM snapshots are stored and work. I understand that when you create a snapshot with LVM, it doesn't take up any space, but as you make changes to the files on your system, your LVM snapshot volume will grow in size. If they grow in size past the size of their partition, they will be "dropped" and disappear, which is why it is not a good backup solution (other than the fact that it's also on the same physical system).
Does LVM snapshot storage work like the diagram below?
I am trying to show a scenario where the root filesystem partition is mostly empty and has a small amount of data shown in purple. I create a snapshot partition called "Snapshot 1" that gradually fills up when I make changes to the original files, although I'm pretty sure LVM is block-based rather than file-based.
Question
Does this mean that if I had a 100 GB root partition that was only storing 20GB of data, I would never need to worry about my snapshot partition overflowing if I gave it a 21GB size? Or would the snapshot partition have to be as large or larger than the root partition because it also records the differences of the unused space (blocks of 0's)?