Veritas Volume Manager 5.1 SP1 Administrator"s Guide (5900-1506, April 2011)

Version 0 DCO volume layout
In earlier releases of VxVM, the DCO object only managed information about the
FastResync maps. These maps track writes to the original volume and to each of
up to 32 snapshot volumes since the last snapshot operation. Each plex of the
DCO volume on disk holds 33 maps, each of which is 4 blocks in size by default.
Persistent FastResync uses the maps in a version 0 DCO volume on disk to
implement change tracking. As for non-persistent FastResync, each bit in the
map represents a region (a contiguous number of blocks) in a volumes address
space. The size of each map can be changed by specifying the dcolen attribute to
the vxassist command when the volume is created. The default value of dcolen
is 132 1024-byte blocks (the plex contains 33 maps, each of length 4 blocks). To
use a larger map size, multiply the desired map size by 33 to calculate the value
of dcolen that you need to specify. For example, to use an 8-block map, you would
specify dcolen=264. The maximum possible map size is 64 blocks, which
corresponds to a dcolen value of 2112 blocks.
The size of a DCO plex is rounded up to the nearest integer multiple of the disk
group alignment value. The alignment value is 8KB for disk groups that support
the Cross-platform Data Sharing (CDS) feature. Otherwise, the alignment value
is 1 block.
Only traditional (third-mirror) volume snapshots that are administered using the
vxassist command are supported for the version 0 DCO volume layout. Full-sized
and space-optimized instant snapshots are not supported.
Version 20 DCO volume layout
In VxVM 4.0 and later releases, the DCO object is used not only to manage the
FastResync maps, but also to manage DRL recovery maps and special maps called
copymaps that allow instant snapshot operations to resume correctly following
a system crash.
See Dirty region logging on page 57.
Each bit in a map represents a region (a contiguous number of blocks) in a volumes
address space. A region represents the smallest portion of a volume for which
changes are recorded in a map. A write to a single byte of storage anywhere within
a region is treated in the same way as a write to the entire region.
The layout of a version 20 DCO volume includes an accumulator that stores the
DRL map and a per-region state map for the volume, plus 32 per-volume maps
(by default) including a DRL recovery map, and a map for tracking detaches that
are initiated by the kernel due to I/O error. The remaining 30 per-volume maps
(by default) are used either for tracking writes to snapshots, or as copymaps. The
size of the DCO volume is determined by the size of the regions that are tracked,
Understanding Veritas Volume Manager
FastResync
66