Part of my new build has me running 5x Samsung 840 Pro 512GB SSD’s as a RAIDZ array (stripes with one drive worth of redundancy), which I’ll be using as a pool for iSCSI targets off which will hang multiple VM’s as their boot drives. Overkill? Yes, certainly for a home server.
Having just installed Fedora and configured Xen on the box, I installed the latest FreeNAS 11 (yay! I’ve been running FreeNAS 9.2 for about 3 years, since my last home server build.. virtualised and stable, so unwilling to play with it).
Good news is FreeNAS 11 just works with Xen, after one minor hiccup, where the BIOS on the LSI HBA caused issues with recognising a boot drive. Simple fix – re-flash the LSI card to remove the Option ROM BIOS, and get both faster boot times, and a working FreeNAS all at once 😀
Anyway – quick tip as its non-obvious, here’s how I overprovisioned my SSD’s to give them maximum life span (one of the used drives already has 16TB of writes to it):
(executed on the freenas command line)
# camcontrol devlist <ATA Samsung SSD 840 6B0Q> at scbus2 target 0 lun 0 (pass0,da0) <ATA Samsung SSD 840 6B0Q> at scbus2 target 1 lun 0 (pass1,da1) <ATA Samsung SSD 840 6B0Q> at scbus2 target 2 lun 0 (pass2,da2) <ATA Samsung SSD 840 6B0Q> at scbus2 target 3 lun 0 (pass3,da3) <ATA Samsung SSD 840 6B0Q> at scbus2 target 4 lun 0 (pass4,da4)
Great, drives aplenty!
# camcontrol hpa da0 pass0: <Samsung SSD 840 PRO Series DXM06B0Q> ACS-2 ATA SATA 3.x device pass0: 600.000MB/s transfers, Command Queueing Enabled Feature Support Enabled Value Host Protected Area (HPA) yes no 1000215216/1000215216 HPA - Security no
So these drives show 1000215216 512 byte sectors, which is 512 marketing Gigabytes (or 477 real Gigabytes, using powers of 2!). Next step is limit them to a round number of sectors which allows 10% overprovisioning:
# camcontrol hpa da0 -s 900193000 pass0: <Samsung SSD 840 PRO Series DXM06B0Q> ACS-2 ATA SATA 3.x device pass0: 600.000MB/s transfers, Command Queueing Enabled You are about to configure HPA to limit the user accessible sectors to 900193000 temporarily on the device: pass0,da0: <Samsung SSD 840 PRO Series DXM06B0Q> ACS-2 ATA SATA 3.x device Are you SURE you want to configure HPA? (yes/no)
Rinse and repeat for all drives, and voila – overprovisioned drives which can now be assembled into a volume.
2 thoughts on “Overprovisioning SSD’s on FreeNAS for RAIDZ operation”
You need to add -P flag to make setting the HPA persist across power cycles.
Will freenas use trim on ssd raidz pools? I’ve got some 1tb ssd’s but i’m afraid they’ll wear out without trim support.