[linux-lvm] Sparse LVs, --virtualsize equal to --size
Stuart D Gathman
stuart at bmsi.com
Thu Jan 24 18:35:56 UTC 2013
Long ago, Nostradamus foresaw that on 01/24/2013 01:08 PM, Alasdair G
Kergon would write:
> If you've got the capacity to test, create one that's quite a bit
> larger and see how much space it actually uses up when full, then use
> that size in future. There's a header, and then the blocks are written
> sequentially with an index block inserted ahead of each group of
> data blocks.
> Or try out thin LVs available in recent LVM releases/kernels for
> an alternative 'sparse' approach.
He doesn't actually want sparse, he wants "instant zero" via copy on
write. This is useful for virtual machines by preventing information
leaks between customers. Currently, you can create a "template" LV,
and have a snapshot for each VM. Since you (almost) never write to the
template, you don't run into the performance issue. He proposed a new
type of LV that is a normal LV plus a small bitmap (1 bit per chunk)
that tracks which chunks have been written to. When a chunk is written
to, the remainder of that chunk is set to zero. Reads from unwritten
chunks always return zeroes.
More information about the linux-lvm