Document PPL in man md
Partial Parity Log (PPL) was not documented in the man md. Added brief info about PPL. Signed-off-by: Oleksandr Shchirskyi <oleksandr.shchirskyi@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
parent
2f86fda346
commit
0d58395412
42
md.4
42
md.4
|
@ -909,26 +909,40 @@ The list is particularly useful when recovering to a spare. If a few blocks
|
||||||
cannot be read from the other devices, the bulk of the recovery can
|
cannot be read from the other devices, the bulk of the recovery can
|
||||||
complete and those few bad blocks will be recorded in the bad block list.
|
complete and those few bad blocks will be recorded in the bad block list.
|
||||||
|
|
||||||
.SS RAID456 WRITE JOURNAL
|
.SS RAID WRITE HOLE
|
||||||
|
|
||||||
Due to non-atomicity nature of RAID write operations, interruption of
|
Due to non-atomicity nature of RAID write operations,
|
||||||
write operations (system crash, etc.) to RAID456 array can lead to
|
interruption of write operations (system crash, etc.) to RAID456
|
||||||
inconsistent parity and data loss (so called RAID-5 write hole).
|
array can lead to inconsistent parity and data loss (so called
|
||||||
|
RAID-5 write hole).
|
||||||
|
To plug the write hole md supports two mechanisms described below.
|
||||||
|
|
||||||
To plug the write hole, from Linux 4.4 (to be confirmed),
|
.TP
|
||||||
.I md
|
DIRTY STRIPE JOURNAL
|
||||||
supports write ahead journal for RAID456. When the array is created,
|
From Linux 4.4, md supports write ahead journal for RAID456.
|
||||||
an additional journal device can be added to the array through
|
When the array is created, an additional journal device can be added to
|
||||||
.IR write-journal
|
the array through write-journal option. The RAID write journal works
|
||||||
option. The RAID write journal works similar to file system journals.
|
similar to file system journals. Before writing to the data
|
||||||
Before writing to the data disks, md persists data AND parity of the
|
disks, md persists data AND parity of the stripe to the journal
|
||||||
stripe to the journal device. After crashes, md searches the journal
|
device. After crashes, md searches the journal device for
|
||||||
device for incomplete write operations, and replay them to the data
|
incomplete write operations, and replay them to the data disks.
|
||||||
disks.
|
|
||||||
|
|
||||||
When the journal device fails, the RAID array is forced to run in
|
When the journal device fails, the RAID array is forced to run in
|
||||||
read-only mode.
|
read-only mode.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
PARTIAL PARITY LOG
|
||||||
|
From Linux 4.12 md supports Partial Parity Log (PPL) for RAID5 arrays only.
|
||||||
|
Partial parity for a write operation is the XOR of stripe data chunks not
|
||||||
|
modified by the write. PPL is stored in the metadata region of RAID member drives,
|
||||||
|
no additional journal drive is needed.
|
||||||
|
After crashes, if one of the not modified data disks of
|
||||||
|
the stripe is missing, this updated parity can be used to recover its
|
||||||
|
data.
|
||||||
|
|
||||||
|
This mechanism is documented more fully in the file
|
||||||
|
Documentation/md/raid5-ppl.rst
|
||||||
|
|
||||||
.SS WRITE-BEHIND
|
.SS WRITE-BEHIND
|
||||||
|
|
||||||
From Linux 2.6.14,
|
From Linux 2.6.14,
|
||||||
|
|
Loading…
Reference in New Issue