 |
 |  |
 |
 | NOTE: You must license the VERITAS Volume Manager product
to use this feature. |
 |
 |  |
 |
Dirty Region Logging (DRL) is an optional property of a volume,
used to provide a speedy recovery of mirrored volumes after a system
failure. DRL keeps track of the regions that have changed due to
I/O writes to a mirrored volume. DRL uses this information to recover
only the portions of the volume that need to be recovered.
If DRL is not used and a system failure occurs, all mirrors
of the volumes must be restored to a consistent state. Restoration
is done by copying the full contents of the volume between its mirrors.
This process can be lengthy and I/O intensive. It may also be necessary
to recover the areas of volumes that are already consistent.
DRL logically divides a volume into a set of consecutive regions.
It keeps track of volume regions that are being written to. A dirty
region log is maintained that contains a status bit representing
each region of the volume. For any write operation to the volume,
the regions being written are marked dirty in the log before the
data is written. If a write causes a log region to become dirty
when it was previously clean, the log is synchronously written to
disk before the write operation can occur. On system restart, the
Volume Manager recovers only those regions of the volume that are
marked as dirty in the dirty region log.
Log subdisks are used to store the dirty region log of a volume
that has DRL enabled. A volume with DRL has at least one log subdisk;
multiple log subdisks can be used to mirror the dirty region log.
Each log subdisk is associated with one plex of the volume. Only
one log subdisk can exist per plex. If the plex contains only a
log subdisk and no data subdisks, that plex can be referred to as
a log plex.
The log subdisk can also be associated with a regular plex
containing data subdisks. In that case, the log subdisk risks becoming
unavailable if the plex must be detached due to the failure of one
of its data subdisks.
If the vxassist command is used to create a dirty region log,
it creates a log plex containing a single log subdisk by default.
A dirty region log can also be created manually by creating a log
subdisk and associating it with a plex. Then the plex can contain
both a log subdisk and data subdisks.
Only a limited number of bits can be marked dirty in the log
at any time. The dirty bit for a region is not cleared immediately
after writing the data to the region. Instead, it remains marked
as dirty until the corresponding volume region becomes the least
recently used. If a bit for a given region is already marked dirty
and another write to the same region occurs, it is not necessary
to write the log to the disk before the write operation can occur.
Some volumes, such as those used for Oracle replay logs, are
written sequentially and do not benefit from this lazy cleaning
of the DRL bits. For these volumes, sequential DRL can be used to further restrict the number of dirty
bits and speed up recovery. The number of dirty bits allowed for
sequential DRL is restricted by the tunable voldrl_max_dirty. Using sequential DRL on volumes that are written sequentially
may severely impact I/O throughput.
 |
 |  |
 |
 | NOTE: DRL adds a small I/O overhead for most write access
patterns. |
 |
 |  |
 |