VERITAS Volume Manager 3.1 Administrator's Guide

Introduction to Volume Manager
Volume Manager and RAID-5
Chapter 152
Each parity stripe unit contains the result of an exclusive OR (XOR)
procedure done on the data in the data stripe units within the same
stripe. If data on a disk corresponding to one column is inaccessible due
to hardware or software failure, data can be restored. Data is restored by
XORing the contents of the remaining columns data stripe units against
their respective parity stripe units (for each stripe).
For example, if the disk corresponding to the far left column in Figure
1-17, Left-Symmetric Layout, fails, the volume is placed in a degraded
mode. While in degraded mode, the data from the failed column can be
recreated by XORing stripe units 1-3 against parity stripe unit P0 to
recreate stripe unit 0, then XORing stripe units 4, 6, and 7 against parity
stripe unit P1 to recreate stripe unit 5, and so on.
NOTE Failure of multiple columns in a plex with a RAID-5 layout detaches the
volume. The volume is no longer allowed to satisfy read or write
requests. Once the failed columns have been recovered, it may be
necessary to recover the user data from backups.
Logging
Logging
(recording) is used to prevent corruption of recovery data. A log
of the new data and parity is made on a persistent device (such as a
disk-resident volume or non-volatile RAM). The new data and parity are
then written to the disks.
Without logging, it is possible for data not involved in any active writes
to be lost or silently corrupted if a disk fails and the system also fails. If
this double-failure occurs, there is no way of knowing if the data being
written to the data portions of the disks or the parity being written to the
parity portions have actually been written. Therefore, the recovery of the
corrupted disk may be corrupted itself.
In Figure 1-18, Incomplete Write,, the recovery of Disk B is dependent on
the data on Disk A and the parity on Disk C having both been completed.
The diagram shows a completed data write and an incomplete parity
write causing an incorrect data reconstruction for the data on Disk B.