WARNING: This article is in a user sandbox, indicating it is a rough draft, and as such, is likely incomplete, contains buggy and insecure configurations, and is subject to substantial and frequent changes.
The pfSense project is a FreeBSD-based enterprise-grade network gateway appliance. While it does require some networking knowledge to initially set up, it is very easy, once set up, to maintain.
Enable TRIM support for SSD
The default setting for pfSense does not have TRIM enabled and enabling can only be done via console during boot by following the following steps:
At the 'Welcome to pfSense' menu, selection option '2. Boot [S]ingle User' Enter shell At the command prompt, enter:
# /sbin/tunefs -t enable / # /sbin/shutdown -r now
To verify TRIM has been enabled, from the GUI Diagnostics / Command Prompt enter:
tunefs -p /
And it should print:
tunefs: POSIX.1e ACLs: (-a) disabled tunefs: NFSv4 ACLs: (-N) disabled tunefs: MAC multilabel: (-l) disabled tunefs: soft updates: (-n) enabled tunefs: soft update journaling: (-j) enabled tunefs: gjournal: (-J) disabled tunefs: trim: (-t) enabled tunefs: maximum blocks per file in a cylinder group: (-e) 4096 tunefs: average file size: (-f) 16384 tunefs: average number of files in a directory: (-s) 64 tunefs: minimum percentage of free space: (-m) 8% tunefs: space to hold for metadata blocks: (-k) 6408 tunefs: optimization preference: (-o) time tunefs: volume label: (-L)
This can also be run before reboot to verify that TRIM is not enabled.
IMPORTANT: Enabling TRIM may cause complete filesystem failure and destroy an installation on some SSDs.
pfSense forums post explaining how to enable trim support.