[linux-lvm] Can read/write snapshots be modified while the original is being modied
Stuart D. Gathman
stuart at bmsi.com
Tue Mar 23 00:47:42 UTC 2010
On Mon, 22 Mar 2010, Hyatt, Gilbert wrote:
> We are tried to do patch testing.
> We want to snapshot an OS, continue to run on the original OS, while
> installing patches and testing the snapshot.
I do that all the time. It works fine.
> In the FAQ it says:
> Read/write snapshots work like read-only snapshots, with the additional
> feature that if data is written to the snapshot, that block is marked in the
> exception table as used, and never gets copied from the original volume.
> Can I get into trouble by change the same blocks in the original and in the
> snapshot? If there is only one exception list, who wins?
The exception list is only used by the snapshot. When reading the
snapshot volume, blocks come from the origin - except where noted in
the exception list. When writing to the origin, a new exception
entry is added if there isn't one already and the block copied to the
snapshot. When writing to the snapshot, a new exception entry is added
if there isn't one already, but the block is *not* copied from the origin.
> If I am changing blocks in both, can I come up with and inconsistent file
> system in the snapshot?
No. Unless you are talking about race conditions, and then the answer
is still "no - unless there is a bug".
One thing you want to avoid (until shared snapshots are mainstream) is
multiple snapshots for the same origin. This works, but is slow.
Stuart D. Gathman <stuart at bmsi.com>
Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154
"Confutatis maledictis, flammis acribus addictis" - background song for
a Microsoft sponsored "Where do you want to go from here?" commercial.
More information about the linux-lvm