diff --git a/download.html b/download.html index f5c77c30..2846e9cf 100644 --- a/download.html +++ b/download.html @@ -50,17 +50,17 @@ If you like to use a GUI, you can try E
| File | Description | ||
|---|---|---|---|
| -snapraid-10.0.tar.gz +snapraid-11.0.tar.gz | Sources for Linux, Mac OS X, BSD, Solaris, OpenIndiana and any other Unix | ||
| -snapraid-10.0-windows-x64.zip +snapraid-11.0-windows-x64.zip | Binaries for Windows x64 (the most recent Windows versions) | ||
| -snapraid-10.0-windows-x86.zip +snapraid-11.0-windows-x86.zip | Binaries for Windows x86 |
|
@@ -885,18 +886,6 @@ precomputed hashes are used.
Nothing is modified. 5.12 -up --Spins up all the disks of the array. --Nothing is modified. - 5.13 -down --Spins down all the disks of the array. --Nothing is modified. - 5.14 poolCreates or updates in the "pooling" directory a virtual view of all @@ -910,7 +899,7 @@ subdirectories are deleted and replaced with the new view of the array. Any other regular file is left in place.Nothing is modified outside the pool directory. - 5.15
+ | |||
| -c, --conf CONFIG | |||
| -Selects the configuration file. If not specified it's assumed -the file "/etc/snapraid.conf" in Unix, and "snapraid.conf" in -the current directory in Windows. +Selects the configuration file to use. If not specified in Unix +it's used the file "/usr/local/etc/snapraid.conf" if it exists, +or "/etc/snapraid.conf" otherwise. +In Windows it's used the file "snapraid.conf" in the same +directory of "snapraid.exe". |
| In "sync" forces a full rebuild of the parity. -This option can be used when you reverted back to an old content -file, but using a more recent parity data. +This option can be used when you add a new parity level, or if +you reverted back to an old content file using a more recent parity data. Instead of recomputing the parity from scratch, this allows to reuse the hashes present in the content file to validate data, and to maintain data protection during the "sync" process using -the old content file and the parity data you have. +the parity data you have. +This option can be used only with "sync". + |
| +-R, --force-realloc + |
| +In "sync" forces a full reallocation of files and rebuild of the parity. +This option can be used to completely reallocate all the files +removing the fragmentation, but reusing the hashes present in the content +file to validate data. +Compared to -F, --force-full, this option reallocates all the parity +not having data protection during the operation. This option can be used only with "sync". |
-This configuration file is located in /etc/snapraid.conf in Unix or -in the execution directory in Windows. +In Unix it's used the file "/usr/local/etc/snapraid.conf" if it exists, +or "/etc/snapraid.conf" otherwise. +In Windows it's used the file "snapraid.conf" in the same +directory of "snapraid.exe".
It should contain the following options (case sensitive):
-It must be placed in a disk dedicated for this purpose with -as much free space as the biggest disk in the array. -Leaving the parity disk reserved for only this file ensures that +You can specify multiples files that should be in different disks. +When a file cannot grow anymore, the next one is used. +The total space available must be as big as the biggest data disk in +the array. +
+Leaving the parity disks reserved for parity ensures that it doesn't get fragmented, improving the performance.
+In Windows 256 MB are left unused in each disk to avoid the +warning about full disks. +
This option is mandatory and it can be used only one time.
+For each parity specified, one additional level of protection is enabled:
-Each parity level requires also all the files of the previous levels. +Each parity level requires the precence of all the previous parity +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 parity disks reserved for only these files ensures that -they doesn't get fragmented, improving the performance. +The same considerations of the 'parity' option apply.
These options are optional and they can be used only one time.
This option is an alternative at '3-parity' mainly intended for low-end CPUs like ARM or AMD Phenom, Athlon and Opteron that don't -support the SSSE3 instructions set, and in such case it provides +support the SSSE3 instructions set. In such cases it provides a better performance.
-This format is similar, but faster, at the one used by the ZFS RAIDZ3, -but it doesn't work beyond triple parity. +This format is similar, but faster, at the one used by the ZFS RAIDZ3. +Like ZFS, it doesn't work beyond triple parity.
When using '3-parity' you will be warned if it's recommended to use the 'z-parity' format for a performance improvement. @@ -1427,26 +1438,16 @@ This option can be used many times. blocksize SIZE_IN_KIBIBYTES Defines the basic block size in kibi bytes of the parity. -One kibi bytes is 1024 bytes. The default blocksize is 256 -and it should work for most cases. +One kibi bytes is 1024 bytes.
-A reason to use a different blocksize is if your system has less -than 4 GiB of memory. As a rule of thumb, with 4 GiB or more memory -use the default 256, with 2 GiB use 512, and with 1 GiB use 1024. +The default blocksize is 256 and it should work for most cases.
-In more details SnapRAID requires about TS*17/BS bytes of RAM memory. -Where TS is the total size in bytes of your disk array, and BS is the -block size in bytes. +WARNING! This option is for experts only, and it's highly +recommended to not change it. To change again this value in +future you'll have to recreate the whole parity!
-For example with 8 disks of 4 TB and a block size of 256 KiB -(1 KiB = 1024 bytes) you have: -
-
-RAM = (8 * 4 * 10^12) * 17 / (256 * 2^10) = 1.9 GiB --
-Another reason to use a different blocksize is if you have a lot of -small files. In the order of many millions. +A reason to use a different hashsize is if you have a lot of small +files. In the order of many millions.
For each file, even of few bytes, a whole block of parity is allocated, and with many files this may result in a lot of unused parity space. @@ -1485,6 +1486,51 @@ This results in about 1.5% of extra space. Meaning about 60 GB for a 4 TB disk, that allows about 460000 files in each data disk without any wasted space.
+The default hashsize is 16 bytes (128 bits), and it should work +for most cases. +
+WARNING! This option is for experts only, and it's highly +recommended to not change it. To change again this value in +future you'll have to recreate the whole parity! +
+A reason to use a different hashsize is if your system has +small memory. As a rule of thumb SnapRAID usually requires +1 GiB of RAM memory for each 16 TB of data in the array. +
+Specifically, to store the hashes of the data, SnapRAID requires +about TS*(1+HS)/BS bytes of RAM memory. +Where TS is the total size in bytes of your disk array, BS is the +block size in bytes, and HS is the hash size in bytes. +
+For example with 8 disks of 4 TB and a block size of 256 KiB +(1 KiB = 1024 bytes), and an hash size of 16, you get: +
+
+RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB ++
+Switching to a hash size of 8, you get: +
+
+RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB ++
+Switching to a block size of 512, you get: +
+
+RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB ++
+Switching to both a hash size of 8, and a block size of 512 you get: +
+
+RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB ++
The directory must already exist. -
This option is only required for Windows. -
DISK is the same disk name specified in the "disk" option. -PARITY is one of the parity name as "parity,[1,2,3,4,5,6,z]-parity". +PARITY is one of the parity name as "parity,(1,2,3,4,5,6,z)-parity".
In the specified OPTIONS, the "%s" string is replaced by the device name. Note that in case of RAID controllers the device is likely @@ -1536,7 +1582,7 @@ https://www.smartmontools.org/wiki/Supported_RAID-Controllers https://www.smartmontools.org/wiki/Supported_USB-Devices
If the file name you want to use really contains a '*', '?', '[', or ']' char, you have to escape it to avoid to have interpreted as a -globbing character. In Unix the escape char is '\' in Windows it's '^'. +globbing character. In Unix the escape char is '\', in Windows it's '^'. Note that when the pattern is on the command line, you have to double the escape character to avoid to have it interpreted by the command shell.