diff --git a/README.md b/README.md index 613d8fc..70e4a9c 100644 --- a/README.md +++ b/README.md @@ -26,3 +26,13 @@ Copies the FreeNAS system configuration file to a dataset you specify. The backu __boomer-FreeNAS-9.10.2-U2-e1497f2-20170315224905.db__ Edit this script and specify the target dataset where you want the backup files copied. + +# set_hdd_erc.sh + +Sets the Error Recovery Control (aka SCTERC or TLER) read and write values on your system's hard drives. What is this? There is a good discussion in the ["Checking for TLER, ERC, etc. support on a drive"](https://forums.freenas.org/index.php?threads/checking-for-tler-erc-etc-support-on-a-drive.27126/) thread on the FreeNAS forum, and you can find more gory details in [this FAQ](https://www.smartmontools.org/wiki/FAQ#WhatiserrorrecoverycontrolERCandwhyitisimportanttoenableitfortheSATAdisksinRAID) at the [smartmontools.org](https://www.smartmontools.org) website. This key quote from the FAQ sums up why you want to set this up on your FreeNAS servers: + +>"It is best for ERC to be "enabled" when in a RAID array to prevent the recovery time from a disk read or write error from exceeding the RAID implementation's timeout threshold. If a drive times out, the hard disk will need to be manually re-added to the array, requiring a re-build and re-synchronization of the hard disk. Limiting the drives recovery timeout helps for improved error handling in the hardware or software RAID environments." + +By default, the script sets both the read and write timeout value to 7 seconds. You can change either or both of these values to better suit your environment. + +Some hard drives retain these values when powered down, but some do not - including the HGST 7K4000 drives I use in one of my systems. For this reason, I configure my FreeNAS servers to run as a post-init startup script.