diff --git a/faq.html b/faq.html index 5e469424..67c35885 100644 --- a/faq.html +++ b/faq.html @@ -709,7 +709,9 @@ In Linux, to maximize space for the parity file system, format it with the options, like:

-
mkfs.ext4 -m 0 -T largefile4 DEVICE
+

+mkfs.ext4 -m 0 -T largefile4 DEVICE
+

On an 8 TB disk, this can save about 400 GB. It is also expected to be as fast as, or faster than, the default.

@@ -842,7 +844,8 @@ Google's Failure trends in a large disk drive population , which found:

-
After the first reallocation, drives are
+

+After the first reallocation, drives are
 over 14 times more likely to fail within
 60 days than drives without reallocation
 counts.
@@ -852,7 +855,8 @@ are 16 times more likely to fail within counts.
After the first offline reallocation, drives have over
 21 times higher chances of failure within 60 days than
-drives without offline reallocations.
+drives without offline reallocations. +

These findings recommend replacing a disk after the first error in the SMART attributes @@ -926,7 +930,7 @@ How do I configure SAMBA to share the pool directory? To configure SAMBA to share the pool directory (e.g., /pool), add the following options to your /etc/samba/smb.conf:

-
+

 # In the global section of smb.conf
 unix extensions = no
 
@@ -937,7 +941,7 @@ path = /pool
 read only = yes
 guest ok = yes
 wide links = yes
-
+

@@ -975,13 +979,11 @@ Log into your Google Account, navigate to Security settings, and select <

Create the .netrc file Create a file named .netrc in the /root/ directory ($HOME directory of the root user) with the following content:

-

-

+

 machine smtp.gmail.com
 login your_email@gmail.com
 password your-16-char-app-password-without-spaces
-
-

+

Note: If notify_run_as_user is set, the directory to use is the user $HOME directory and not /root/.

@@ -999,13 +1001,11 @@ Note: You must use a Google App Password, not your primary account passwo Configure the Command In your snapraidd.conf use the following configuration:

-

-

+

 notify_result = curl --netrc --url smtps://smtp.gmail.com:465 --ssl-reqd --mail-from your_email@gmail.com
            --mail-rcpt your_email@gmail.com --upload-file -
 (the command must be entered as a single continuous line in your configuration file)
-
-

+

  • @@ -1037,13 +1037,11 @@ Log into your Google Account, navigate to Security settings, and select <

    Create the _netrc file Create a file named _netrc in the C:\Windows\System32\config\systemprofile\ directory with the following content:

    -

    -

    +

     machine smtp.gmail.com
     login your_email@gmail.com
     password your-16-char-app-password-without-spaces
    -
    -

    +

    Note: You must use a Google App Password, not your primary account password.

    @@ -1058,13 +1056,11 @@ Note: You must use a Google App Password, not your primary account passwo Configure the Command In your snapraidd.conf use the following configuration:

    -

    -

    +

     notify_result = curl --netrc --url smtps://smtp.gmail.com:465 --ssl-reqd 
                --mail-from your_email@gmail.com --mail-rcpt your_email@gmail.com --upload-file -
     (the command must be entered as a single continuous line in your configuration file)
    -
    -

    +

  • @@ -1140,9 +1136,9 @@ How can I add a data disk to an existing array? To add a new data disk to the array, add the new "disk" option in the configuration file, then run a "sync" command:

    -
    +

     snapraid sync
    -
    +

    If the disk is empty, the "sync" command will complete immediately.

    @@ -1165,9 +1161,9 @@ Remove any "content" option pointing to that disk from the configuration file.
  • Run a "sync" command with the "-E, --force-empty" option: -
    +

     snapraid sync -E
    -
    +

    The "-E" option allows SnapRAID to proceed even when detecting an empty disk.
  • @@ -1188,9 +1184,9 @@ How can I add or remove a parity disk in an existing array? To add a new parity level, add the appropriate "N-parity" option in the configuration file, then run the "sync" command with the "-F, --force-full" option:

    -
    +

     snapraid -F sync
    -
    +

    The "-F" option instructs SnapRAID to recompute the full parity.

    @@ -1215,9 +1211,9 @@ How can I verify a single data disk? The "scrub" command verifies the entire array and cannot be limited to a single data disk. To verify only one data disk, use the "check" audit command with the disk specified:

    -
    +

     snapraid check -a -d DISK_NAME
    -
    +

    This command verifies the checksums of all files on the specified disk. Other data and parity disks are not read or verified. @@ -1236,27 +1232,21 @@ Otherwise, copy all files to the new disk, maintaining the same directory struct

    In Linux, use the command:

    -

    -

    +

     cp -av /from_dir/. /to_dir
    -
    -

    +

    In Windows, use the command:

    -

    -

    +

     robocopy F:\from_dir T:\to_dir /e /copyall
    -
    -

    +

    Update the SnapRAID configuration to point to the new mount point, then run a "diff" command to ensure everything is correct:

    -

    -

    +

     snapraid diff
    -
    -

    +

    If "diff" reports "added" or "removed" files, you may have copied files with a different directory structure. Correct this until "diff" reports only "equal", "restored", or "copied" files. @@ -1264,19 +1254,15 @@ Correct this until "diff" reports only "equal", "restored", or "copied" files.

    To verify that files were copied correctly, run a "check" audit command on the replaced disk to verify checksums:

    -

    -

    +

     snapraid check -a -d DISK_NAME
    -
    -

    +

    Finally, run "sync" to update the SnapRAID state. This command will complete almost immediately:

    -

    -

    +

     snapraid sync
    -
    -

    +

  • @@ -1287,18 +1273,18 @@ How can I replace a parity disk?

    If the disk is still accessible, ensure the array is synced by running:

    -
    +

     snapraid sync
    -
    +

    Copy the parity file to the new disk and update the parity location in the configuration file.

    Run "sync" again to make SnapRAID recognize the new disk. This command will complete almost immediately:

    -
    +

     snapraid sync
    -
    +

    In Linux, a good copy command is @@ -1306,9 +1292,9 @@ ddrescue . For example:

    -
    +

     ddrescue /OLD_DISK/parity /NEW_DISK/parity /tmp/copy.log
    -
    +

    This copies the parity file from the old to the new location, continuing despite errors. To retry problematic sections, repeat the same command. @@ -1319,9 +1305,9 @@ A partial parity file is still useful, as it allows recovery using the valid par

    If the parity file is partially damaged or lost, use the "fix" command with the -d option to recreate it, targeting only the affected parity:

    -
    +

     snapraid fix -d PARITY_NAME
    -
    +

    @@ -1482,12 +1468,12 @@ Using the "autosave" configuration option saves intermediate content files durin What are "data errors" in "sync", and how do I fix them?
    -
    +

     Syncing...
     309505: Data error for file d4/data/index.db at position 40960
     WARNING! Unexpected data error in a data disk! The block is now marked as bad!
     Try with 'snapraid -e fix' to recover!
    -
    +

    Data errors occur when SnapRAID detects that a file’s content has changed without an updated write timestamp. This should not happen and may indicate a silent disk error or a file system issue, such as an improper shutdown. @@ -1496,9 +1482,9 @@ This should not happen and may indicate a silent disk error or a file system iss If a data error is found, the "sync" process continues, marking erroneous blocks as bad. These can be fixed with the "-e fix" command, which typically takes only a few seconds:

    -
    +

     snapraid -e fix
    -
    +

    If errors occur in multiple files, check for hardware issues. Test your PC’s memory with a tool like @@ -1518,12 +1504,12 @@ MSDN WriteFile() :

    -
    +

     When writing to a file, the last write time is not fully updated until
     all handles used for writing have been closed. Therefore, to ensure an
     accurate last write time, close the file handle immediately after writing
     to the file.
    -
    +

    For memory-mapped files in Windows, the program must manually update the timestamp, as Windows does not do so automatically. @@ -1533,11 +1519,11 @@ MSDN CreateFileMapping() :

    -
    +

     When modifying a file through a mapped view, the last modification timestamp
     may not be updated automatically. If required, the caller should use SetFileTime
     to set the timestamp.
    -
    +

    To avoid these issues in Windows, run "sync" when no programs are accessing files in the array.

    @@ -1551,9 +1537,9 @@ How can I store all messages from a check or fix command in a file?

    Use the "-l" option to generate a log file:

    -
    +

     snapraid check -l mylog.log
    -
    +

    These log files can be large, potentially several GB. If too large for your editor, use @@ -1574,9 +1560,9 @@ Use the "-C, --gen-conf" command to generate a template configuration file compatible with your content file. Manual adjustments are needed to set disk mount points, but comments in the file provide guidance:

    -
    +

     snapraid -C snapraid.content > snapraid.conf.new
    -
    +

    @@ -1636,12 +1622,12 @@ An Analysis of Data Corruption in the Storage Stack :

    -
    +

     A significant number (8% on average) of corruptions
     are detected during RAID reconstruction, creating the
     possibility of data loss. In this case, protection against
     double disk failures is necessary to prevent data loss.
    -
    +

    @@ -1723,10 +1709,10 @@ What does the notice about zero sub-second timestamps mean?

    In the 'status' command, you may see:

    -
    +

     You have XXXXX files with zero sub-second timestamp.
     Run the 'touch' command to set it to a non-zero value.
    -
    +

    This indicates that some files have timestamps rounded to the nearest second, even though your file system supports sub-second precision. @@ -1788,9 +1774,9 @@ If using a larger block size, set the read-ahead size to at least half the SnapR

    For example, with a SnapRAID block size of 512 KiB, configure a read-ahead size of 256 KiB for sdX using:

    -
    +

     echo 256 > /sys/block/sdX/queue/read_ahead_kb
    -
    +

    For a SnapRAID block size smaller than 256 KiB, use the default read-ahead size.

    @@ -1845,7 +1831,7 @@ See 'z-parity' in the manual for details. The following results are from a Intel Core i7-10700 CPU @ 2.90GHz. Check your values with the -T option:

    -
    +

     root@redstar:/root# snapraid -T
     snapraid v14.0 by Andrea Mazzoleni, https://www.snapraid.it
     Compiler gcc 11.2.0
    @@ -1887,7 +1873,7 @@ RAID functions used for recovering with 'fix':
         rec4    avx2     108     607     973
         rec5    avx2      76     421     694
         rec6    avx2      57     313     532
    -
    +

    @@ -1947,9 +1933,9 @@ This is likely due to insufficient free memory, causing the Linux out-of-memory to terminate SnapRAID for using too much memory. Check available memory with:

    -
    +

     free -m
    -
    +

    If memory is low, install more memory in the machine.

    @@ -1970,9 +1956,9 @@ Alternatively, move files mentioned in the output to another data disk to reduce

    In Linux, you can reformat the parity disk to increase available space using:

    -
    +

     mkfs.ext4 -m 0 -T largefile4 DEVICE
    -
    +

    The '-T largefile4' and '-m 0' options provide more space for the parity file.

    @@ -2012,12 +1998,10 @@ Excel modifies .xls files upon opening, even without saving, to store the name o This allows it to warn if another user tries to open the file simultaneously. Excel restores the original timestamp, but SnapRAID detects the modification, reporting a data error:

    -

    -

    +

     Data change at file '/xxx/xxx.xls' at position '0'
     WARNING! Unexpected data modification of a file without parity!
    -
    -

    +

    To work around this, see