2.2.4 and how I enabled TRIM



  • –----  I was pretty frustrated getting TRIM enabled in 2.2.4

    ------  This is what worked for me to get the trim status set to enabled for my SSD.

    1.  booted pfSense from USB stick and installed pfSense to SSD

    2.  booted pfSense from SSD and watched my console -- made note of ...
        "Trying to mount root from /dev/ufsid/55bdd213616a70a3"

    3.  booted pfSense from USB stick into single-user mode

    4.  at the # prompt, the following was issued:
        /sbin/tunefs -t enable /dev/ufsid/55bdd213616a70a3
        /sbin/reboot

    5.  booted pfSense from SSD.  ran Shell from the console -- verified TRIM status with:
        /sbin/tunefs -p /

    ------  I hope this works for everyone!



  • Hmmm…

    'tunefs -p /' shows TRIM enabled for me, and I didn't do anything to enable it:

    [2.2.4-RELEASE][nicholfd@burns.springfield.com]/root: tunefs -p /
    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)                                 
    
    


  • Since my installation was a new one, from scratch, I had the luxury of checking for the enabled flag .. and once seeing it was not enabled I simply re-installed with the same result.

    It appears that some installs, apparently get the flag set, while others do not –- in my case it was not set so I figured out a solution.

    But, hey ... still love pfSense nonetheless --- great software.


  • Rebel Alliance Developer Netgate

    Devices purchased from the pfSense store are loaded with TRIM enabled since we know the hardware and disks are capable (or at least in some cases do not have a negative reaction to it). We can't be sure of that everywhere so it isn't enabled in the normal installer. Eventually it may find its way into the install process, we're really eager to ditch the current installer and move to something newer.



  • –----  I was pretty frustrated getting TRIM enabled in 2.2.4

    Why? The pfsense team is not able to see or expect the hardware we all are using everywhere!
    Only their own units from the pfSense Shop they are knowing well, but anyway, if you buy a SG-xxxx
    unit from them, without a SSD or mSATA device and then you are installing one after some time
    by your own willing and the SSD or mSATA is not capable of TRIM support, but this will be activated
    automatically by the pfSense OS the device will be perhaps harmed or destroyed.

    –----  This is what worked for me to get the trim status set to enabled for my SSD.

    This is much more better as I see it right.
    You buy a device such as a SSD, mSATA, SATA-DOM, SSD-DOM or PCIe-SSD and only you are knowing
    if this device is 100% capable of TRIM support and only you will be responsible for the activating or not.

    For sure and it depends on thinking after a fresh and full install on a mSATA I was also imagine that should be
    a so called "must be" that TRIM support is activated after the installation was finished. But what you think I
    would wrote you all today if the will be true but on the other side the mSATA was not capable of TRIM
    support?



  • @ThePOO:

    –----  I was pretty frustrated getting TRIM enabled in 2.2.4
    ------  This is what worked for me to get the trim status set to enabled for my SSD.
    3.  booted pfSense from USB stick into single-user mode

    I had my first SSD failure (3 years old) and was pretty frustrated getting TRIM set too.  I thought I had remembered something in the build up to 2.2 propaganda that this feature was going to be a tick box so I looked all over and couldn't find it…  tried the old ways, didn't work...  your booting into single-user mode was the trick.

    thanks,
    Rick



  • When will fstrim be a part of pfsense (not as a addon)?



  • I second the notion that it would indeed be a great idea to add this option in the installer as a tick box. I also had issues getting it enabled a few versions back, and the single user mode worked. I also had a question regarding pfsense's software RAID mirroring and TRIM. Is it possible on two supported SSD's and how would it be accomplished?


  • Banned

    It's STILL not there even in 2.3?! There was something even available at certain time to avoid similar absurd hacking around, then it got removed with a commit message "we'll figure out something better" so it went MIA in 2.2.x and and nothing ever came back.

    Seriously absurd.



  • indeed be a great idea to add this option in the installer as a tick box.

    and

    I also had issues getting it enabled a few versions back, and the single user mode worked

    Would be the problem as I see it right.

    message "we'll figure out something better" so it went MIA in 2.2.x and nothing ever came back.

    At this time I really think it might be the best to be able to activate it manual by the admin is much better then
    all other things, because from where the developer would be able to know if this or another SSD is really
    capable of TRIM support? Many peoples are often here in the forum are asking for a so called "cheap build"
    and then many of them tend also to take a cheap SSD or mSATA to go with and don´t really know anything
    about the TRIM support of this devices. And if there will be an automatic enabled TRIM support and a device
    will be down or failing all peoples will complain to the developer team about this service, so if you know what
    kind of SSD or mSATA you are running you could be activating it on the manual way better then the automatic
    way, that will be often beloved to have and called for.



  • Do you happen to know if (on two SSD's that supported TRIM of course) a softraid mirror that the newer version offers during install, is also possible with TRIM enabled on both drives?



  • I've been looking for answers to this for a while now. I thought I had it right that each of the SSD drives have to be partitioned, formatted and offset before the PF sense install/config. Then trim would be set post-install presuming its Raid-1 compatible. But after reading this post about a softraid miror, i'm not so sure.

    Re: https://forum.pfsense.org/index.php?topic=99424.msg556454



  • For my purposes, and as is mentioned by Jimp in that threat you're quoting, a new softraid array, and a simple config backup and restore would be the much more supported and easier way to go. I would think trying hardware raid would much more challenging. If pfsense supports a mirrored softraid option and auto handles all the partitioning / drive formatting on it's own, why mess with a controller? It's also got email alerts for array status baked in already. I imagine some people have certain use cases where hardware RAID would somehow be better but for my purposes I can't think of one. Adding a controller card still creates a single point of failure, just like softraid and a motherboard failure is a single point of failure. It's not like there's a ton of data on pfsense installations and data loss is more important than uptime right? but can TRIM be enabled on pfsense's OWN softraid mirroring is the answer am I after. I imagine setting trim for something with a controller would be an entirely different story altogether.

    What I'm saying is, all of those things you're mentioning doing prior to a pfsense softraid install, don't need to be done. It's done during install now if it detects two (or more I would guess)  identical disks and does a softraid mirror for you. Can TRIM be added to these drives after "the easy way" of doing softraid with pfsense?



  • I'm not hung up on needing a hardware raid solution. And just to be clear I'm NOT intending to image my SSD to a pair of SSD's as an upgrade path. I just want to know what works in a holistic manner. I know SSDs need to be offset. I know raid and trim need to be compatible. But need a stepped process to upgrade from one SSD to a raided pair of SSD's while retaining an offset & trim like my current single drive full install has. Has nobody successfully accomplished this yet? Maybe I'll have to poney up for another box that's non-production I can tinker with.



  • I think we're saying the same thing. Although I don't quite get the offset bit. This is something that pfsense does not do by default when installed on an SSD  normally? I'm looking to do the exact same thing you are. Migrate form a single SSD to a mirrored RAID SSD, and have TRIM enabled. I have TRIM enabled on the one I use now, but I never did anything outside of that, or out of the usual pfsense install sequence. Am I missing something?



  • I think so, we're after the same. According to Jimp on my reference post he said two months ago,  "There is no special code in the installer to handle any sort of alignment/offset at this time". WinXp doesnt but Win8 does offset when an SSD is detected. Presume FreeBsd doesn't by default. SSD performance can be substantially reduced if its partition is not properly offset. So I figure I have to partition, format & offset the new SSD pair with partition magic or other self-booting drive utility cd then install PfSense.



  • It would surprise me that so many users of things like FreeNAS would have a storage based OS designed around something that didn't handle drive partitioning for almost any drive properly by default. Very interested in the response from someone from pfsense on this. So I guess my questions have expanded now to :  :D

    1. Does pfsense not using this mentioned type of partition offset actually adversely affect SSD life? how much? As much as something like not enabling TRIM?
    (I see a few people randomly asking about this in the forums, but never heard it was some type of precaution needed when using pfsense (BSD) with an SSD, then again, I'm not super familiar with BSD outside of pfsense)

    2. Is doing a softraid mirror with SSD's in pfsense and TRIM a viable option?



  • @ThePOO:

    –----  I was pretty frustrated getting TRIM enabled in 2.2.4

    ------  This is what worked for me to get the trim status set to enabled for my SSD.

    1.  booted pfSense from USB stick and installed pfSense to SSD

    2.  booted pfSense from SSD and watched my console -- made note of ...
        "Trying to mount root from /dev/ufsid/55bdd213616a70a3"

    3.  booted pfSense from USB stick into single-user mode

    4.  at the # prompt, the following was issued:
        /sbin/tunefs -t enable /dev/ufsid/55bdd213616a70a3
        /sbin/reboot

    5.  booted pfSense from SSD.  ran Shell from the console -- verified TRIM status with:
        /sbin/tunefs -p /

    ------  I hope this works for everyone!

    I'm running a fresh install of 2.2.5 on a TRIM capable SSD. My system details are in my sig.

    I just performed a clean install too and used the auto restore method to bring my config.xml file settings back. Didn't have to do this but since I have holiday time off I had some time to experiment, wanted to learn something new, and thought maybe after so many upgrades some 'dirt' might have been left behind. I can't get TRIM to work at all. Granted, I don't know anything when it comes to CLI in pfSense. I checked, and TRIM is not enabled.

    I login in under single user mode, I tried just the basic commands
    /sbin/tunefs -t enable / (this errors and I get "cannot execute, no such file/directory")
    /sbin/reboot (this doesn't work at all but just typing EXIT does)

    I took note of TRYING TO MOUNT details using DMESG under command prompt in WEBGUI.
    So I tried
    /sbin/tunefs -t enable /dev/ufsid/56534606bb206e02
    and again NO SUCH FILE/DIRECTORY error message.

    At this point I am stumped.

    Anyone have any advice? This is really more about me learning and understanding this TRIM problem than it is turning it on…so please help me learn when providing the solution with some explanation. Thanks in advance!

    PS - to the pfSense developers...2.3...Bootstrap....WOW!!!!!!!!!!!!!!!! Those screenshots are just amazing! I can't wait!



  • This worked for me in 2.2.5. Thank you kindly for sharing this ThePOO!



  • @DownloadDeviant:

    I login in under single user mode, I tried just the basic commands
    /sbin/tunefs -t enable / (this errors and I get "cannot execute, no such file/directory")
    /sbin/reboot (this doesn't work at all but just typing EXIT does)

    I took note of TRYING TO MOUNT details using DMESG under command prompt in WEBGUI.
    So I tried
    /sbin/tunefs -t enable /dev/ufsid/56534606bb206e02
    and again NO SUCH FILE/DIRECTORY error message.

    At this point I am stumped.

    Your problem is, for some reason, running the commands. tunefs is not even trying to access /dev/ufsid/56534606bb206e02 since it failed to run.



  • @pLu:

    Your problem is, for some reason, running the commands. tunefs is not even trying to access /dev/ufsid/56534606bb206e02 since it failed to run.

    OK, so it's not me or my syntax but something else?

    Because I am clueless when it comes to BSD/pfSense CLI so I wouldn't doubt I am to blame. Something I plan on exploring after the holidays to learn more…but I also have that freakin' pesky problem of a job getting in the way and consuming all of my time too. lol



  • @ThePOO:

    –----  I was pretty frustrated getting TRIM enabled in 2.2.4

    ------  This is what worked for me to get the trim status set to enabled for my SSD.

    1.  booted pfSense from USB stick and installed pfSense to SSD

    2.  booted pfSense from SSD and watched my console -- made note of ...
        "Trying to mount root from /dev/ufsid/55bdd213616a70a3"

    3.  booted pfSense from USB stick into single-user mode

    4.  at the # prompt, the following was issued:
        /sbin/tunefs -t enable /dev/ufsid/55bdd213616a70a3
        /sbin/reboot

    5.  booted pfSense from SSD.  ran Shell from the console -- verified TRIM status with:
        /sbin/tunefs -p /

    ------  I hope this works for everyone!

    This method worked great for me!  I had an existing install that did not have TRIM working as it should.  We jsut booted to the USB and set the TRIM using the method above.  Removed the USB and it booted to the existing config and worked great.

    Thanks,

    Dan



  • @dancwilliams:

    This method worked great for me!  I had an existing install that did not have TRIM working as it should.  We jsut booted to the USB and set the TRIM using the method above.  Removed the USB and it booted to the existing config and worked great.

    Thanks,

    Dan

    Hmmmm, I guess booting from a USB stick is necessary. I did a fresh install and figured USB booting wasn't necessary…just what the OP did.

    I'll try that specifically tonight or tomorrow and see what happens.

    UPDATE -
    OK. That was the problem. I had to boot from the USB stick, then run the commands with my specific UFS ID (do I have that right? lol) included.

    I can't believe getting TRIM to run is that much of a fuss!? lol I am not complaining. I just have to imagine there could be a simpler method added via GUI or CLI without having to do the whole USB boot thing. Ughh. lol



  • I just performed a new install last night.  I backed up my config from the 2.2.1 install, pulled the spinning HDD and put in dual 256GB Samsung SSDs.  I chose to install the full version of pfSense 2.2.5 for i386 as I only have 2GB of RAM in the system.  During the install, I chose to do a GEOM mirror (soft RAID?).  The installer partitioned everything and formatted and I accepted the defaults.  The system is now reporting a single ~230GB "drive".  I checked on TRIM, and it's not enabled:

    
    [2.2.5-RELEASE][root@pfsense.yadda.localdomain]/root: /sbin/tunefs -p /
    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
    [b]tunefs: trim: (-t)                                         disabled[/b]
    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)                                 
    [2.2.5-RELEASE][root@pfsense.yadda.localdomain]/root: 
    
    

    I'm not following the above conversation very well.  I'd like to enable TRIM, but it sounds like I can't because I'm using the GEOM mirror?  I don't want to lose SSD performance or cause them to die prematurely.  Should I try enabling TRIM with the method mentioned earlier?  Thanks!



  • @ThePOO:

    –----  I was pretty frustrated getting TRIM enabled in 2.2.4

    ------  This is what worked for me to get the trim status set to enabled for my SSD.

    1.  booted pfSense from USB stick and installed pfSense to SSD

    2.  booted pfSense from SSD and watched my console -- made note of ...
        "Trying to mount root from /dev/ufsid/55bdd213616a70a3"

    3.  booted pfSense from USB stick into single-user mode

    4.  at the # prompt, the following was issued:
        /sbin/tunefs -t enable /dev/ufsid/55bdd213616a70a3
        /sbin/reboot

    5.  booted pfSense from SSD.  ran Shell from the console -- verified TRIM status with:
        /sbin/tunefs -p /

    ------  I hope this works for everyone!

    hooray! supernoob (me) with fresh build got trim enabled. :) now, if i could just get everybody off plex, i could plug this thing in and see how she works. maybe tomorrow. :(


  • Banned

    I plugged my new Samsung EVO 850 120GB SATA with 2.2.6 i386 installed in my PC-BSB machine and booted. As root I entered

    sbin/tunefs -t enable /dev/ada1s1a

    Now my box does not come back, the console is full of

    CAM status: Command timeout

    after "Mounting filesystem…"

    The SSD supports trim, btw:

    http://www.samsung.com/global/business/semiconductor/minisite/SSD/global/html/ssd850evo/specifications.html

    How do I get out of this mess, the installation worked fine before... :-(




  • Boot from an USB pen drive and then activate TRIM support in pfSense.


  • Banned

    Did fsck in PC-BSD and disabled TRIM. Booted to USB and enabeled TRIM again. Same problem. I do a fresh install on the SSD as apparently Samsung is to dull to handle TRIM in some OS, Linux has a known problem with the 8xx series, apparently, dunno if BSD is also involved…

    https://en.wikipedia.org/wiki/Trim_(computing)

    see "Shortcommings"

    So I will go without TRIM.

    Wuuuuuaaaaaa what a mess!



  • So I will go without TRIM.

    But then it would be a perhaps fast dieing because the data will be not marked correctly for overwriting
    and the SSD drive will be perhaps in short time lame and dieing.

    Wuuuuuaaaaaa what a mess!

    Right, but if it works for so many other peoples, it must also working for you!
    You might be do it again and boot from a USB pen drive into "single user mdoe"
    to activate it right!



  • @BlueKobold:

    So I will go without TRIM.

    But then it would be a perhaps fast dieing because the data will be not marked correctly for overwriting
    and the SSD drive will be perhaps in short time lame and dieing.

    TRIM cleans up after files are deleted (to insure fast writing to those deleted sectors).

    Edit:  Incorrect (TRIM does indeed lower write amplification of the drive making it last longer):

    The 'Wear Leveling' routine of the drive's firmware should work in the background to move sectors around to give the drive a nice, full life.  Edit 2:  TRIM does indeed help because of the lower write amplification.


  • Banned

    But this Samsung drives have data corruption with TRIM enabled, see Wikipedia above. It takes some time to make  fresh SSD pfSense again and then copy the config.xml, I don't want to go through that over and over again.

    I could not revive the first install by disabeling TRIM again, the installation was corrupt afterwards, fschk did not resolve that. Should I really try again to enable TRIM on this Samsung trash?

    I think this TRIM is kind of voodooo and highly emotional when it comes to discussions. Any opinions on the importance of TRIM and how much it will influence the life-expectance of the SSD?

    Merry Christmas everybody! :-)

    chemlud



  • TRIM cleans up after files are deleted (to insure fast writing to those deleted sectors).

    if a file is wiped, it is not really away and gone, and TRIM is then marking this data can be overwritten
    so that the wear level algorithm is knowing that new data can be written on this sectors/blocks.

    If the data will not be marked for overwriting the wear leveling algorithm gets even less and more less
    sectors where the data can be written on and then the mSATA or SSD will be slowing down before dieing
    then after a while.

    It does nothing that I have read about to make the drive last longer.

    If the wear leveling algorithm is getting less and more less free sectors/blocks to write on
    until there are no free ones this might be then the end of the drive, but if the TRIM command
    is marking this sectors/blocks as free for new write cycles the wear leveling algorithm get even
    again and again new free sectors/blocks where it can be writing on. And so the lifetime will be
    enlarged or hold.

    The 'Wear Leveling' routine of the drive's firmware should work in the background to move sectors around to give the drive a nice, full life.

    There are only one amount of sectors/blocks that can be used to write on and the wear level algorithm is
    using them in a balanced way thats all.

    I think this TRIM is kind of voodooo and highly emotional when it comes to discussions.

    If this will be right, why then all peoples care about this "voodoo"? Why not then let them out or inactive?

    Any opinions on the importance of TRIM and how much it will influence the life-expectance of the SSD?

    You could use your Samsung drive without TRIM support and report it here for us.


  • Banned

    Have no alternative, hu?

    btw: Why should it matter if the BSD is started in single-user mode for switching to TRIM?

    If there was kind of "mega"-nano image (16 or 32 GB) I would run the SSD with that, but there were experts in the past that denied this is helpful (more space, faster degradation of card/SSD, no joke).

    Worst thing: I have another Samsung 850 here, I wanted to install some Linux to. Maybe better I bring it back before opening up… sigh...



  • After reading (searching), I stand corrected on this.  Sorry about that and thanks BlueKobold.

    With that said, how is TRIM triggered in FreeBSD.  In Windows, it's triggered when you empty the recycle bin.  I'm curious as to how and how often TRIM is triggered when running a program like pfsense with FreeBSD?


  • Banned

    ..I think I will go without TRIM for the while, I can simply not assess the importance of this "issue" for the time being

    http://www.digitaltrends.com/computing/six-dead-solid-state-drives-prove-theyll-last-longer-than-you-imagined/

    My guess: The Atom board with the SSD with break before the SSD goes south. Anything to be monitored in the Syslogs (besides the SMART status) to control for read/write errors?


  • Banned

    Just for the record: I tried the same with the second Samsung 850 EVO SSD, installed 2.2.6, copied over config.xml, booted from USB in single user mode, activated TRIM, reboot.

    At "mounting filesystems" during boot I ended in the same errors as given above. No way to have TRIM with pfSense on these drives, apparently…

    Question: Would it help to do a fresh install every 6 months to avoid the problems related to deactivated TRIM?



  • Greetings and I wish everyone a great New Year !!!!!

    I posted in here August 04, 2015 about my getting pfSense to enable TRIM for my SSD.

    Well, I'm happy to say my SSD is working great and has never faulted in any way, ever!!!    I was careful vetting the SSD when I purchased the "cheapie" drive –- it was purchased from the Ama--- site and I carefully read the characteristics and that it supported TRIM, and further that TRIM support worked for several folks under FreeBSD.    I took the gamble the drive would work with TRIM enabled and the rest has been a very pleasant history ... for me.

    I am so happy that my list of instructions has benefited others too .... I mean, after all, when playing with the cutting edge you could open a vein if not careful <smile>.

    Anyway, today I upgraded my box from 2.2.5 to 2.2.6 and my TRIM status is still properly set (I did see where someone else apparently did a fresh 2.2.5 install and my instructions to enable TRIM worked for them {yay}.)

    So far 2.2.6 is working great, TRIM is taking care of my storage -- the world spins on .......
    *except something is broken in the 2.2.6 Traffic Shaper and I'll post separately about that soon ...</smile>



  • So TRIM does work on the Samsung Evo 850 then? I'm using a Mac mini as my pfsense box and I would like to replace my 5400rpm disk with a EVO 850 I have on my NAS for cache!


  • Banned

    eeh, what' the meaning of the word "ERROR" in your language? OIo

    ..please read my posts above again, just in case…



  • I have a 120gb Samsung 840 EVO SSD and I was able to enable TRIM using ThePOO's instructions without incident.  I'm running pfsense 2.2.6 and I booted off my pfsense 2.2.6 USB installer.  So far no issues.

    I will say that my experience with this Samsung drive and it's use in 2 other systems hasn't been stellar which is why I've never purchased another Samsung and won't in the future.  For the record, my other SSDs are:

    • 120GB PNY (Sandforce based)

    • 240GB Toshiba

    • 240GB OCZ ARC100

    The PNY is "slow" by today's standards but just works (been in 3 systems) and the Toshiba and post Toshiba buyout OCZ are great.


Log in to reply