Updates documentation for new RAID levels.

This commit is contained in:
Andrea Mazzoleni 2013-10-26 00:05:23 +02:00
parent d371fec14f
commit 96796b0717
6 changed files with 120 additions and 73 deletions

10
HISTORY
View file

@ -1,12 +1,12 @@
SnapRAID HISTORY
================
5.0 2013/10 (BETA)
5.0 2013/11 (BETA)
==================
* Added support for RAIDTP (Triple Parity), RAIDQP (Quad Parity),
RAIDPP (Penta Parity) and RAIDHP (Hexa parity).
Take cate that to get good performance you need a CPU with
SSSE3 support.
RAIDPP (Penta Parity) and RAIDHP (Hexa Parity).
Take care that to get good performance for RAIDTP and beyond you
need a CPU with SSSE3 support.
* Faster RAID5 and RAID6 computation for ARM 64 bit CPUs.
* In sync, if a silent error is found, directly mark the block as bad
like in scrub, and continue with the sync process.
@ -22,7 +22,7 @@ SnapRAID HISTORY
of info.
* Changed the output format of some commands to make it similar
at the new "list" one.
* Reduced memory usage avoiding to allocate unnecessary memory.
* Reduced memory usage removing some unnecessary allocations.
4.4 2013/10
===========

View file

@ -49,7 +49,7 @@ snapraid [\(hyV, \(hy\(hyversion] [\(hyh, \(hy\(hyhelp] [\(hyC, \(hy\(hygen\(hyc
.PD
.SH DESCRIPTION
SnapRAID is a backup program for disk arrays. It stores redundancy
information of your data and it\(cqs able to recover from up to two
information of your data and it\(cqs able to recover from up to six
disk failures.
.PP
SnapRAID is mainly targeted for a home media center, with a lot of
@ -128,15 +128,16 @@ To use SnapRAID you need to first select one disk of your disk array
to dedicate at the \(a"parity\(a" information. With one disk for parity you
will be able to recover from a single disk failure, like RAID5.
.PP
If you want to be able to recover from two disk failures, like RAID6,
you must reserve another disk for the \(a"q\(hyparity\(a" information.
If you want to be able to recover from more disk failures, like RAID6,
you must reserve additional disks for parity. Any additional parity
disk allow to recover from one more disk failure.
.PP
As parity disks, you have to pick the biggest disks in the array,
as the redundancy information may grow in size as the biggest data
disk in the array.
.PP
These disks will be dedicated to store the \(a"parity\(a" and \(a"q\(hyparity\(a"
files. You should not store your data in them.
These disks will be dedicated to store the \(a"parity\(a" files.
You should not store your data in them.
.PP
The list of files is saved in the \(a"content\(a" files, usually
stored in the data, parity or boot disks.
@ -492,7 +493,7 @@ without triggering any redundancy recomputation.
You can stop this process at any time pressing Ctrl+C,
without losing the work already done.
.PP
The \(a"content\(a", \(a"parity\(a" and \(a"q\(hyparity\(a" files are modified if necessary.
The \(a"content\(a", \(a"parity\(a" files are modified if necessary.
The files in the array are NOT modified.
.SS check
Checks all the files and the redundancy data.
@ -520,7 +521,7 @@ All the files that cannot be fixed are renamed adding
the \(a".unrecoverable\(a" extension.
.PP
The \(a"content\(a" file is NOT modified.
The \(a"parity\(a" and \(a"q\(hyparity\(a" files are modified if necessary.
The \(a"parity\(a" files are modified if necessary.
The files in the array are modified if necessary.
.SS scrub
Scrubs the array, checking for silent errors.
@ -550,7 +551,7 @@ but such errros are reported in the output of the command.
.PP
The \(a"content\(a" file is modified to update the time of the last check
of each block.
The \(a"parity\(a" and \(a"q\(hyparity\(a" files are NOT modified.
The \(a"parity\(a" files are NOT modified.
The files in the array are NOT modified.
.SS status
Prints a summary of the state of the disk array.
@ -792,17 +793,31 @@ Leaving the parity disk reserved for only this file ensures that
it doesn\(cqt get fragmented, improving the performance.
.PP
This option is mandatory and it can be used only one time.
.SS q\(hyparity FILE
Defines the file to use to store the q\(hyparity information.
If present, the q\(hyparity enables the protection from two disk
failures, like RAID6.
.SS [q,r,s,t,u]\(hyparity FILE
Defines the files to use to store extra parity information.
For each parity file specified, one additional level of protection
is enabled:
.PD 0
.IP \(bu
q\(hyparity enables RAID6 Double Parity
.IP \(bu
r\(hyparity enables RAIDTP Triple Parity
.IP \(bu
s\(hyparity enables RAIDQP Quad Parity
.IP \(bu
t\(hyparity enables RAIDPP Penta Parity
.IP \(bu
u\(hyparity enables RAIDHP Hexa Parity
.PD
.PP
It must be placed in a disk dedicated for this purpose with
Each parity level requires also all the files of the previous levels.
.PP
Each file must be placed in a disk dedicated for this purpose with
as much free space as the biggest disk in the array.
Leaving the q\(hyparity disk reserved for only this file ensures that
it doesn\(cqt get fragmented, improving the performance.
Leaving the parity disks reserved for only these files ensures that
they doesn\(cqt get fragmented, improving the performance.
.PP
This option is optional and it can be used only one time.
These options are optional and they can be used only one time.
.SS content FILE
Defines the file to use to store the list and checksums of all the
files present in your disk array.
@ -1223,13 +1238,13 @@ This file is read and written by the \(a"sync\(a" and \(a"scrub\(a" commands, an
only read by \(a"fix\(a", \(a"check\(a" and \(a"status\(a".
.SH PARITY
SnapRAID stores the redundancy information of your array in the parity
and q\(hyparity files.
files.
.PP
They are binary files, containing the computed redundancy of all the
blocks defined in the \(a"content\(a" file.
.PP
These files are read and written by the \(a"sync\(a" and \(a"fix\(a" commands, and
only read by \(a"check\(a".
only read by \(a"scrub\(a" and \(a"check\(a".
.SH ENCODING
SnapRAID in Unix ignores any encoding. It simply reads and stores the
file names with the same encoding used by the filesystem.

View file

@ -5,11 +5,18 @@
# Format: "parity FILE_PATH"
parity /mnt/diskpar/parity
# Defines the file to use as Q-Parity storage (uncomment to enable).
# If specified, it enables a double failures protection like RAID6
# Defines the files to use as additional Parity storage.
# If specified, they enable the multiple failures protection with RAID6
# (Double), RAIDTP (Triple), RAIDQP (Quad), RAIDPP (Penta) and RAIDHP (Hexa).
# To enable, uncomment one parity file for each extra level of extra
# protection required. Start from q-parity, and follow in order.
# It must NOT be in a data disk
# Format: "q-parity FILE_PATH"
# Format: "X-parity FILE_PATH"
#q-parity /mnt/diskqar/q-parity
#r-parity /mnt/diskqar/r-parity
#s-parity /mnt/diskqar/s-parity
#t-parity /mnt/diskqar/t-parity
#u-parity /mnt/diskqar/u-parity
# Defines the files to use as content list
# You can use multiple specification to store more copies

View file

@ -3,13 +3,20 @@
# Defines the file to use as Parity storage
# It must NOT be in a data disk
# Format: "parity FILE_PATH"
parity E:\par\parity.par
parity E:\parity.par
# Defines the file to use as Q-Parity storage (uncomment to enable).
# If specified, it enables a double failures protection like RAID6
# Defines the files to use as additional Parity storage.
# If specified, they enable the multiple failures protection with RAID6
# (Double), RAIDTP (Triple), RAIDQP (Quad), RAIDPP (Penta) and RAIDHP (Hexa).
# To enable, uncomment one parity file for each extra level of extra
# protection required. Start from q-parity, and follow in order.
# It must NOT be in a data disk
# Format: "q-parity FILE_PATH"
#q-parity F:\qar\q-parity.par
# Format: "X-parity FILE_PATH"
#q-parity F:\q-parity.par
#r-parity G:\r-parity.par
#s-parity H:\s-parity.par
#t-parity I:\t-parity.par
#u-parity J:\u-parity.par
# Defines the files to use as content list
# You can use multiple specification to store more copies
@ -18,15 +25,15 @@ parity E:\par\parity.par
# but each file must be in a different disk
# Format: "content FILE_PATH"
content C:\snapraid\content.lst
content G:\array\content.lst
content H:\array\content.lst
content K:\array\content.lst
content L:\array\content.lst
# Defines the data disks to use
# The order is relevant for parity, do not change it
# Format: "disk DISK_NAME DISK_MOUNT_POINT"
disk d1 G:\array\
disk d2 H:\array\
disk d3 I:\array\
disk d1 K:\array\
disk d2 L:\array\
disk d3 M:\array\
# Excludes hidden files and directories (uncomment to enable).
#nohidden

View file

@ -17,7 +17,7 @@ Synopsis
Description
SnapRAID is a backup program for disk arrays. It stores redundancy
information of your data and it's able to recover from up to two
information of your data and it's able to recover from up to six
disk failures.
SnapRAID is mainly targeted for a home media center, with a lot of
@ -79,15 +79,16 @@ Getting Started
to dedicate at the "parity" information. With one disk for parity you
will be able to recover from a single disk failure, like RAID5.
If you want to be able to recover from two disk failures, like RAID6,
you must reserve another disk for the "q-parity" information.
If you want to be able to recover from more disk failures, like RAID6,
you must reserve additional disks for parity. Any additional parity
disk allow to recover from one more disk failure.
As parity disks, you have to pick the biggest disks in the array,
as the redundancy information may grow in size as the biggest data
disk in the array.
These disks will be dedicated to store the "parity" and "q-parity"
files. You should not store your data in them.
These disks will be dedicated to store the "parity" files.
You should not store your data in them.
The list of files is saved in the "content" files, usually
stored in the data, parity or boot disks.
@ -272,7 +273,7 @@ Commands
You can stop this process at any time pressing Ctrl+C,
without losing the work already done.
The "content", "parity" and "q-parity" files are modified if necessary.
The "content", "parity" files are modified if necessary.
The files in the array are NOT modified.
check
@ -302,7 +303,7 @@ Commands
the ".unrecoverable" extension.
The "content" file is NOT modified.
The "parity" and "q-parity" files are modified if necessary.
The "parity" files are modified if necessary.
The files in the array are modified if necessary.
scrub
@ -333,7 +334,7 @@ Commands
The "content" file is modified to update the time of the last check
of each block.
The "parity" and "q-parity" files are NOT modified.
The "parity" files are NOT modified.
The files in the array are NOT modified.
status
@ -585,17 +586,25 @@ Configuration
This option is mandatory and it can be used only one time.
q-parity FILE
Defines the file to use to store the q-parity information.
If present, the q-parity enables the protection from two disk
failures, like RAID6.
[q,r,s,t,u]-parity FILE
Defines the files to use to store extra parity information.
For each parity file specified, one additional level of protection
is enabled:
It must be placed in a disk dedicated for this purpose with
* q-parity enables RAID6 Double Parity
* r-parity enables RAIDTP Triple Parity
* s-parity enables RAIDQP Quad Parity
* t-parity enables RAIDPP Penta Parity
* u-parity enables RAIDHP Hexa Parity
Each parity level requires also all the files of the previous levels.
Each file must be placed in a disk dedicated for this purpose with
as much free space as the biggest disk in the array.
Leaving the q-parity disk reserved for only this file ensures that
it doesn't get fragmented, improving the performance.
Leaving the parity disks reserved for only these files ensures that
they doesn't get fragmented, improving the performance.
This option is optional and it can be used only one time.
These options are optional and they can be used only one time.
content FILE
Defines the file to use to store the list and checksums of all the
@ -878,13 +887,13 @@ Content
Parity
SnapRAID stores the redundancy information of your array in the parity
and q-parity files.
files.
They are binary files, containing the computed redundancy of all the
blocks defined in the "content" file.
These files are read and written by the "sync" and "fix" commands, and
only read by "check".
only read by "scrub" and "check".
Encoding
SnapRAID in Unix ignores any encoding. It simply reads and stores the

View file

@ -24,7 +24,7 @@ snapraid [-V, --version] [-h, --help] [-C, --gen-conf CONTENT]
=============
SnapRAID is a backup program for disk arrays. It stores redundancy
information of your data and it's able to recover from up to two
information of your data and it's able to recover from up to six
disk failures.
SnapRAID is mainly targeted for a home media center, with a lot of
@ -92,15 +92,16 @@ To use SnapRAID you need to first select one disk of your disk array
to dedicate at the "parity" information. With one disk for parity you
will be able to recover from a single disk failure, like RAID5.
If you want to be able to recover from two disk failures, like RAID6,
you must reserve another disk for the "q-parity" information.
If you want to be able to recover from more disk failures, like RAID6,
you must reserve additional disks for parity. Any additional parity
disk allow to recover from one more disk failure.
As parity disks, you have to pick the biggest disks in the array,
as the redundancy information may grow in size as the biggest data
disk in the array.
These disks will be dedicated to store the "parity" and "q-parity"
files. You should not store your data in them.
These disks will be dedicated to store the "parity" files.
You should not store your data in them.
The list of files is saved in the "content" files, usually
stored in the data, parity or boot disks.
@ -298,7 +299,7 @@ without triggering any redundancy recomputation.
You can stop this process at any time pressing Ctrl+C,
without losing the work already done.
The "content", "parity" and "q-parity" files are modified if necessary.
The "content", "parity" files are modified if necessary.
The files in the array are NOT modified.
5.2 check
@ -332,7 +333,7 @@ All the files that cannot be fixed are renamed adding
the ".unrecoverable" extension.
The "content" file is NOT modified.
The "parity" and "q-parity" files are modified if necessary.
The "parity" files are modified if necessary.
The files in the array are modified if necessary.
5.4 scrub
@ -365,7 +366,7 @@ but such errros are reported in the output of the command.
The "content" file is modified to update the time of the last check
of each block.
The "parity" and "q-parity" files are NOT modified.
The "parity" files are NOT modified.
The files in the array are NOT modified.
5.5 status
@ -637,19 +638,27 @@ it doesn't get fragmented, improving the performance.
This option is mandatory and it can be used only one time.
7.2 q-parity FILE
-----------------
7.2 [q,r,s,t,u]-parity FILE
---------------------------
Defines the file to use to store the q-parity information.
If present, the q-parity enables the protection from two disk
failures, like RAID6.
Defines the files to use to store extra parity information.
For each parity file specified, one additional level of protection
is enabled:
It must be placed in a disk dedicated for this purpose with
* q-parity enables RAID6 Double Parity
* r-parity enables RAIDTP Triple Parity
* s-parity enables RAIDQP Quad Parity
* t-parity enables RAIDPP Penta Parity
* u-parity enables RAIDHP Hexa Parity
Each parity level requires also all the files of the previous levels.
Each file must be placed in a disk dedicated for this purpose with
as much free space as the biggest disk in the array.
Leaving the q-parity disk reserved for only this file ensures that
it doesn't get fragmented, improving the performance.
Leaving the parity disks reserved for only these files ensures that
they doesn't get fragmented, improving the performance.
This option is optional and it can be used only one time.
These options are optional and they can be used only one time.
7.3 content FILE
----------------
@ -964,13 +973,13 @@ only read by "fix", "check" and "status".
=========
SnapRAID stores the redundancy information of your array in the parity
and q-parity files.
files.
They are binary files, containing the computed redundancy of all the
blocks defined in the "content" file.
These files are read and written by the "sync" and "fix" commands, and
only read by "check".
only read by "scrub" and "check".
12 ENCODING