# Example configuration for snapraid # Defines the file to use as parity storage # It must NOT be in a data disk # Format: "parity FILE [,FILE] ..." parity /mnt/diskp/snapraid.parity # Defines the files to use as additional parity storage. # If specified, they enable the multiple failures protection # from two to six level of parity. # To enable, uncomment one parity file for each level of extra # protection required. Start from 2-parity, and follow in order. # It must NOT be in a data disk # Format: "X-parity FILE [,FILE] ..." #2-parity /mnt/diskq/snapraid.2-parity #3-parity /mnt/diskr/snapraid.3-parity #4-parity /mnt/disks/snapraid.4-parity #5-parity /mnt/diskt/snapraid.5-parity #6-parity /mnt/disku/snapraid.6-parity # Defines the files to use as content list # You can use multiple specification to store more copies # You must have least one copy for each parity file plus one. Some more don't hurt # They can be in the disks used for data, parity or boot, # but each file must be in a different disk # Format: "content FILE" content /var/snapraid.content content /mnt/disk1/snapraid.content content /mnt/disk2/snapraid.content # Defines the data disks to use # The name and mount point association is relevant for parity, do not change it # WARNING: Adding here your /home, /var or /tmp disks is NOT a good idea! # SnapRAID is better suited for files that rarely changes! # Format: "data DISK_NAME DISK_MOUNT_POINT" data d1 /mnt/disk1/ data d2 /mnt/disk2/ data d3 /mnt/disk3/ # Defines the name and mount point of additional disks to monitor # with the 'smart' and 'probe' commands. # This is useful for monitoring disks that are not part of the array # but are required for the system to function, such as the boot disk. # Format: "other DISK_NAME DISK_MOUNT_POINT" extra boot / # Enable the use of filesystem snapshots for sync, scrub, check, and fix # commands. # # When enabled, SnapRAID creates a read-only snapshot of your data at the # start of a 'sync'. This ensures a consistent, point-in-time view of your # files, preventing errors caused by concurrent file modifications. # # This option applies exclusively to data disks formatted with the # Btrfs, Bcachefs or ZFS filesystems. Parity disks, or data disks using # other filesystems, will always use the live version of the filesystem. # # This significantly improves recovery: if a file is deleted from the live # filesystem, it remains preserved in the snapshot. This prevents the parity # from becoming "broken" for that block, ensuring you can still successfully # recover data if another disk fails. # # Snapshots are stored in a hidden '.snapraid' directory at the root # of the subvolume containing your data. SnapRAID will automatically # detect the subvolume root for each data path. # # Snapshot creation and deletion require administrative privileges. # Ensure SnapRAID is run with the necessary permissions (e.g., sudo) when # this option is enabled. # # See the 'Snapshots' section in the snapraid(1) manpage for a detailed # explanation of the snapshot lifecycle. #snapshot # Excludes hidden files and directories (uncomment to enable). #nohidden # Defines files and directories to exclude # Remember that all the paths are relative at the mount points # Format: "exclude FILE" # Format: "exclude DIR/" # Format: "exclude /PATH/FILE" # Format: "exclude /PATH/DIR/" exclude *.unrecoverable exclude /tmp/ exclude /lost+found/ # Defines the block size in kibi bytes (1024 bytes) (uncomment to enable). # WARNING: Changing this value is for experts only! # Default value is 256 -> 256 kibi bytes -> 262144 bytes # Format: "blocksize SIZE_IN_KiB" #blocksize 256 # Defines the hash size in bytes (uncomment to enable). # WARNING: Changing this value is for experts only! # Default value is 16 -> 128 bits # Format: "hashsize SIZE_IN_BYTES" #hashsize 16 # Automatically save the state when syncing after the specified amount # of GB processed (uncomment to enable). # This option is useful to avoid to restart from scratch long 'sync' # commands interrupted by a machine crash. # It also improves the recovering if a disk break during a 'sync'. # Default value is 0, meaning disabled. # Format: "autosave SIZE_IN_GB" #autosave 500 # Set the maximum allowed disk temperature (in Celsius). # If any disk reaches or exceeds this temperature, # SnapRAID stops all operations and spins down all disks # to prevent overheating. #temp_limit 50 # Set the standby duration (in minutes) after a temperature event. # During this period, disks remain spun down to cool down # before SnapRAID automatically resumes operations. # Default is 15 minutes if not specified. #temp_sleep 10 # Defines the pooling directory where the virtual view of the disk # array is created using the "pool" command (uncomment to enable). # The files are not really copied here, but just linked using # symbolic links. # This directory must be outside the array. # Format: "pool DIR" #pool /pool # Defines a custom smartctl command to obtain the SMART attributes # for each disk. This may be required for RAID controllers and for # some USB disk that cannot be autodetected. # # In the specified options, the "%s" string is replaced by the device name. # # Refers at the smartmontools documentation about the possible options: # RAID -> https://www.smartmontools.org/wiki/Supported_RAID-Controllers # USB -> https://www.smartmontools.org/wiki/Supported_USB-Devices # # In the custom command, you can also specify a custom info options string # using the '[info: ...]' tag to override the default '-a' option. #smartctl d1 [info: -H -i -c -A] -d sat %s #smartctl d2 -d usbjmicron %s #smartctl parity -d areca,1/1 /dev/sg0 #smartctl 2-parity -d areca,2/1 /dev/sg0