Veritas Volume Manager 5.0 Administrator's Guide (September 2006)

65Understanding Veritas Volume Manager
FastResync
block map, you would specify dcolen=264. The maximum possible map size is 64
blocks, which corresponds to a dcolen value of 2112 blocks.
Note: 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 (see “Dirty region logging” on
page 56) and special maps called copymaps that allow instant snapshot operations to
resume correctly following a system crash.
Each bit in a map represents a region (a contiguous number of blocks) in a volume’s
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, and by the number of per-volume maps. Both the
region size and the number of per-volume maps in a DCO volume may be configured
when a volume is prepared for use with snapshots. The region size must be a power of 2
and be greater than or equal to 16KB.
As the accumulator is approximately 3 times the size of a per-volume map, the size of
each plex in the DCO volume can be estimated from this formula:
DCO_plex_size = ( 3 + number_of_per-volume_maps ) * map_size
where the size of each map in bytes is:
map_size = 512 + ( volume_size / ( region_size * 8 ))
rounded up to the nearest multiple of 8KB. Note that each map includes a 512-byte header.
For the default number of 32 per-volume maps and region size of 64KB, a 10GB volume
requires a map size of 24KB, and so each plex in the DCO volume requires 840KB of
storage.