Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 44 additions & 17 deletions raid6check.8
Original file line number Diff line number Diff line change
Expand Up @@ -13,48 +13,72 @@ Linux Software RAID

.SH SYNOPSIS

.BI raid6check " <raid6 device> <start stripe> <number of stripes>"
.BI raid6check " <raid6_device> <start_stripe> <number_of_stripes>"
.RB [ autorepair ]

.BI raid6check " <raid6_device> " repair " <stripe> <failed_slot_1>"
.I "<failed_slot_2>"

.SH DESCRIPTION
RAID6 devices in which one single component drive has errors can use
the double parity in order to find out which component drive.
The "raid6check" tool checks, for each stripe, the double parity
consistency, reports mismatches and, if possible, which
The "raid6check" tool has two modes: check mode and repair mode.

"raid6check" requires a non-degraded RAID6 MD device as first
parameter. If the given MD device is not a RAID6, "raid6check" will,
of course, not continue.

If the RAID6 MD device is degraded, "raid6check" will report
an error and it will not proceed further.

.SS Check mode
In the check mode, the "raid6check" tool checks, for each stripe, the
double parity consistency, reports mismatches and, if possible, which
component drive has the mismatch.
Since it works at stripe level, it can report different drives with
mismatches at different stripes.

"raid6check" requires a non-degraded RAID6 MD device as first
parameter, a starting stripe (usually 0) and the number of stripes
to be checked.
In addition to the MD device, "raid6check" requries a starting stripe
(usually 0) and the number of stripes to be checked.
If this third parameter is also 0, it will check the array up to
the end.
If the fourth parameter is "autorepair", it will overwrite single-slot
errors.

"raid6check" will start printing information about the RAID6, then
for each stripe, it will report the parity rotation status.
In case of parity mismatches, "raid6check" reports, if possible,
which component drive could be responsible. Otherwise it reports
that it is not possible to find the component drive.

If the given MD device is not a RAID6, "raid6check" will, of
course, not continue.
which component drive could be responsible.
Otherwise it reports that it is not possible to find the component drive.

If the RAID6 MD device is degraded, "raid6check" will report
an error and it will not proceed further.

No write operations are performed on the array or the components.
No write operations are performed on the array or the components,
unless "autorepair" is specified.
Furthermore, the checked array can be online and in use during
the operation of "raid6check".

.SS Repair mode
In the repair mode, the "raid6check" tool checks the given stripe.
If inconsistencies are found, it attempts to repair the strip assuming
that the two given slots are incorrect.

-1 may be used to specify parity P and -2 parity Q.

.SH EXAMPLES

.B " raid6check /dev/md0 0 0"
.br
This will check /dev/md0 from start to end.

.B " raid6check /dev/md3 0 1"
.B " raid6check /dev/md3 0 1 autorepair"
.br
This will check the first stripe of /dev/md3.
Any error will be reported, and if single-slot, repaired.

.B " raid6check /dev/md3 0 repair 1 -1 -2"
.br
This will check the first stripe of /dev/md3.
If any inconsistencies are found, repair is performed assuming
the two parities are incorrect.

.B " raid6check /dev/md1 1000 0"
.br
Expand All @@ -76,7 +100,10 @@ Furthermore, the sysfs interface is needed in order to find out
the RAID6 parameters.

.SH BUGS
Negative parameters can lead to unexpected results.
Negative stripe parameters can lead to unexpected results due to
strtoull.
(Negative slot numbers should work for Q [-1] and P [-2] but
currently involve compiler-defined behavior.)

It is not clear what will happen if the RAID6 MD device gets
degraded during the check.
Expand Down
Loading