3.8. Snapshots
A wonderful facility provided by LVM is 'snapshots'. This
allows the administrator to create a new block device which
presents an exact copy of a logical volume, frozen at some
point in time. Typically this would be used when some batch
processing, a backup for instance, needs to be performed on
the logical volume, but you don't want to halt a live system
that is changing the data. When the snapshot device has been
finished with the system administrator can just remove the
device. This facility does require that the snapshot be made
at a time when the data on the logical volume is in a
consistent state - the VFS-lock patch for LVM1 makes sure that
some filesystems do this automatically when a snapshot is
created, and many of the filesystems in the 2.6 kernel do this
automatically when a snapshot is created without patching.
LVM1 has read-only snapshots. Read-only snapshots work by
creating an exception table, which is
used to keep track of which blocks have been changed. If a
block is to be changed on the origin, it is first copied to
the snapshot, marked as copied in the exception table, and
then the new data is written to the original volume.
In LVM2, snapshots are read/write by default. 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. This opens up many new
possibilities that were not possible with LVM1's read-only
snapshots. One example is to snapshot a volume, mount the
snapshot, and try an experimental program that change files on
that volume. If you don't like what it did, you can unmount
the snapshot, remove it, and mount the original filesystem in
its place. It is also useful for creating volumes for use
with Xen.
You can create a disk image, then snapshot it and modify the
snapshot for a particular domU instance. You can then create
another snapshot of the original volume, and modify that one
for a different domU instance. Since the only storage used by
a snapshot is blocks that were changed on the origin or the
snapshot, the majority of the volume is shared by the domU's.
| LVM 1 -> LVM 2 Upgrade Info |
---|
|
Make sure to remove snapshot LVs before upgrading from
LVM 1 to LVM 2. (See Section 4.1)
|