Fix pfSense excessive HDD cycling

pfSense firewall users might use “Power Savings” under System → Advanced → Miscellaneous, since the firewall typically runs 24/7/365. However, some systems cycle the HDD in and out of standby about once per minute or so, which causes premature HDD failure from excess load/unload spindown/spinup cycles. The load/unload may be audible for many hard drives, by hearing the spin up whirring sound.

In these cases, System → Advanced → Miscellaneous → Hardware Settings setting “Always On” may have no effect.

Workaround A
almost sure to work, by disabling power saving mode entirely. Understandably, some users don’t want their CPU running full speed all the time for heat generation and power consumption.
Workaround B
enable all of PowerD power savings while stopping HDD suspend (always on HDD).

Workaround A

Under System → Advanced → Miscellaneous, disable power savings completely by unchecking “PowerD”.

Workaround B

The pfSense master configuration file config.xml can be edited to disable HDD spindown at each boot.

  1. backup pfSense configuration under Diagnostics → Backup
  2. Install shellcmd package under System → Package Manager → Available Packages
  3. Determine which /dev name the HDD is under at Diagnostics → S.M.A.R.T. Status. Probably /dev/ada0 but verify it’s so.
  4. Services → shellcmd → Add
CommandShellcmd TypeDescription
ataidle -I 120 /dev/ada0shellcmdSpindown HDD if idle 120 minutes

Press Save. 5. Diagnostics → Reboot to make this setting take effect.