MSATA – standard pfSense or embedded?



  • Hello,

    I am considering using a mSATA.  I would think that I could get away from embedded with this technology and use the standard pfSense install.  In comparison to my embedded setups where I have a CF for the system, and a separate 7200rpm drive for the logs and cache /w squid.  Do you think mSATA can sustain the writes for a couple of years at least?

    Let me know what you guys think, I really am not sure.

    Thanks



  • I think this thread covers my concerns.

    http://forum.pfsense.org/index.php/topic,34381.0.html



  • There's a lot of FUD in that thread.  Just buy a quality SSD and you won't have an issue.  SLC flash is faster for writes and lasts a lot longer.  Check out the Intel 311, it's a 20GB mSATA drive they recently released for caching with the Z68 chipset.  Works great in my net6501.



  • Hey Jason,

    I have a silly question.  How did you get pfsense on the mSATA?  ;D

    I am used to a CF card and USB reader…

    Just got my Net6501 in.

    Thanks



  • The specs for that board say it has "2x Mini-PCI Express sockets with mSATA support " so I assume that the mini-PCIe slots can also behave electrically as mSATA slots or maybe a bios setting… mSATA just behaves exactly the same as a normal SATA port.



  • @wm408:

    Hey Jason,

    I have a silly question.  How did you get pfsense on the mSATA?   ;D

    I am used to a CF card and USB reader…

    Just got my Net6501 in.

    Thanks

    mSATA-to-SATA adapter card (http://www.amazon.com/dp/B0050CIU82).  I attached the drive to my main computer and passed it through to VMWare for the software install.  I removed the mSATA drive once pfSense was on it and installed in the Soekris (in the port closest to the edge of the board, not that that matters).  When it boots it will fail to mount the root partition so you'll have to tell it where the drive is attached (the auto-complete will find it) and then update your fstab so it doesn't happen on every boot.



  • Yeah, I am going this route with the adapter.  I've set up TFTP servers before but I am lazy.  And some of the configuration looks pretty boring to get my Soekris netbooted.

    Thanks

    @Jason:

    @wm408:

    Hey Jason,

    I have a silly question.  How did you get pfsense on the mSATA?   ;D

    I am used to a CF card and USB reader…

    Just got my Net6501 in.

    Thanks

    mSATA-to-SATA adapter card (http://www.amazon.com/dp/B0050CIU82).  I attached the drive to my main computer and passed it through to VMWare for the software install.  I removed the mSATA drive once pfSense was on it and installed in the Soekris (in the port closest to the edge of the board, not that that matters).  When it boots it will fail to mount the root partition so you'll have to tell it where the drive is attached (the auto-complete will find it) and then update your fstab so it doesn't happen on every boot.



  • Hey,

    So I wrote to the 4G mSATA card a 2GB and a 4GB Nanobsd pfsense (separate tests).  I have similar output from both images while pfsense is booting on my net6501.

    Any thoughts?  I found a quote from another thread: "Adding ahci_load="YES" to loader.conf solved the problem" (I think this was a fix for freebsd)        http://freebsd.1045724.n5.nabble.com/HDD-READ-Timeout-messages-after-8-2-Upgrade-td3733475.html

    Here is my console output:

    –------------------------------------------------------------------------------------

    _ad4: 3775MB <ts4gmsa500 20101212="">at ata2-master PIO4 SATA 3Gb/s
    uhub6: 1 port with 1 removable, self powered
    uhub3: 3 ports with 3 removable, self powered
    uhub7: 3 ports with 3 removable, self powered
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=3861855
    Trying to mount root from ufs:/dev/ufs/pfsense0
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=3452247
    Configuring crash dumps…
    Mounting filesystems...
    Setting up embedded specific environment...ad4: TIMEOUT - READ retrying (1 retry left) LBA=3450831
    ad4: TIMEOUT - READ retrying (0 retries left) LBA=3450831
    ad4: FAILURE - READ timed out LBA=3450831
    g_vfs_done():ufs/pfsense0[READ(offset=1766785024, length=14336)]error = 5
    vnode_pager_getpages: I/O read error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1514407
    ad4: TIMEOUT - READ retrying (0 retries left) LBA=1514407
    ad4: FAILURE - READ timed out LBA=1514407
    g_vfs_done():ufs/pfsense0[READ(offset=775335936, length=2048)]error = 5
    /etc/rc.embedded: mdmfs: Input/output error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=3450831
    ad4: TIMEOUT - READ retrying (0 retries left) LBA=3450831
    ad4: FAILURE - READ timed out LBA=3450831
    g_vfs_done():ufs/pfsense0[READ(offset=1766785024, length=14336)]error = 5
    vnode_pager_getpages: I/O read error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1514407
    /etc/rc.embedded: mdmfs: Input/output error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1866375
    done.
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=311183

    ___
    / f
    / p _
    / Sense
    _
    /  
       _
    _/

    Welcome to pfSense 2.0-RELEASE  …

    ad4: TIMEOUT - READ retrying (1 retry left) LBA=3447463
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1814527
    Creating symlinks...g_vfs_done():ufs/cf[READ(offset=13193216, length=4096)]error = 5
    g_vfs_done():ufs/cf[READ(offset=13193216, length=4096)]error = 5
    mkdir: /cf/conf: Input/output error
    .g_vfs_done():ufs/cf[READ(offset=13193216, length=4096)]error = 5
    cat: /cf/conf/config.xml: Input/output error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1764455
    g_vfs_done():ufs/cf[READ(offset=13193216, length=4096)]error = 5
    cat: /cf/conf/config.xml: Input/output error
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=1503551
    ..done.
    ad4: TIMEOUT - READ retrying (1 retry left) LBA=327975
    ad4: TIMEOUT - READ retrying (0 retries left) LBA=327975
    ad4: FAILURE - READ timed out LBA=327975
    g_vfs_done():ufs/pfsense0[READ(offset=167882752, length=6144)]error = 5
    vnode_pager_getpages: I/O read error
    /etc/rc: /usr/bin/cap_mkdb: Input/output error</ts4gmsa500>_

    Thanks



  • You might have a bad mSATA.  Also, if you bought that card directly from Soekris you should return it.  The Transcend mSATA cards they are selling operate outside the mSATA spec and may need to be modified in order to work reliably.

    http://lists.soekris.com/pipermail/soekris-tech/2011-October/017747.html



  • Looks like mine has been modified to fit that picture/spec.

    I think I might just buy one elsewhere to test with.  Grr.

    Thanks



  • @wm408:

    Looks like mine has been modified to fit that picture/spec.

    I think I might just buy one elsewhere to test with.  Grr.

    Thanks

    This is what I use.  Ignore the bad reviews, Amazon had the wrong photo for a while.

    http://www.amazon.com/Intel-mSATA-Gb-s-Solid-State-Drive/dp/B00501UY28



  • Thx I just grabbed one.  Jason I never asked,.. are you running the full pfsense?  or embedded?  Using squid with caching?  What kind of environment are you running it in.. how many people roughly?

    Thanks

    @Jason:

    @wm408:

    Looks like mine has been modified to fit that picture/spec.

    I think I might just buy one elsewhere to test with.  Grr.

    Thanks

    This is what I use.  Ignore the bad reviews, Amazon had the wrong photo for a while.

    http://www.amazon.com/Intel-mSATA-Gb-s-Solid-State-Drive/dp/B00501UY28



  • Full install, personal use at home.  No packages at the moment, I just got finished cleaning up after a few bad IPv6 gitsyncs and am back on the vanilla 2.0 code.

    The original intention was to use squid, but to be honest, I have more bandwidth (~40/40) than I need and squid may actually slow me down.  The only thing I'd be really interested in is YouTube caching.

    The reason I upgraded from an Alix was VPN throughput.  The 6501 isn't doing quite as well as I had hoped, but it's better than before and my power consumption is lower than if I had gone with a "normal" Atom system or an i3.



  • I am not sure about running Full pfsense on this device.  I haven't tested it and its going to be in production supporting over 100 users.  Maybe I should just add a separate 7200rpm SATA drive to the box for the caching.

    I don't have enough experience with these mSATA cards.  uggh.

    @Jason:

    Full install, personal use at home.  No packages at the moment, I just got finished cleaning up after a few bad IPv6 gitsyncs and am back on the vanilla 2.0 code.

    The original intention was to use squid, but to be honest, I have more bandwidth (~40/40) than I need and squid may actually slow me down.  The only thing I'd be really interested in is YouTube caching.

    The reason I upgraded from an Alix was VPN throughput.  The 6501 isn't doing quite as well as I had hoped, but it's better than before and my power consumption is lower than if I had gone with a "normal" Atom system or an i3.



  • @wm408:

    I am not sure about running Full pfsense on this device.  I haven't tested it and its going to be in production supporting over 100 users.  Maybe I should just add a separate 7200rpm SATA drive to the box for the caching.

    I don't have enough experience with these mSATA cards.  uggh.

    @Jason:

    Full install, personal use at home.  No packages at the moment, I just got finished cleaning up after a few bad IPv6 gitsyncs and am back on the vanilla 2.0 code.

    The original intention was to use squid, but to be honest, I have more bandwidth (~40/40) than I need and squid may actually slow me down.  The only thing I'd be really interested in is YouTube caching.

    The reason I upgraded from an Alix was VPN throughput.  The 6501 isn't doing quite as well as I had hoped, but it's better than before and my power consumption is lower than if I had gone with a "normal" Atom system or an i3.

    SLC flash is fine for heavy-use systems, MLC is not.  I'm using 8GB SLC Compact Flash cards with full installs in my pfSense boxes at work and those are dual-wan (45/45 + 20/20) + carp for about 140 users with a total of about 400 devices.  The Intel 311 SLC SSD is designed to be written to constantly as a disk cache, you'll have no issues.



  • Thanks for your thoughts.

    @Jason:

    @wm408:

    I am not sure about running Full pfsense on this device.  I haven't tested it and its going to be in production supporting over 100 users.  Maybe I should just add a separate 7200rpm SATA drive to the box for the caching.

    I don't have enough experience with these mSATA cards.  uggh.

    @Jason:

    Full install, personal use at home.  No packages at the moment, I just got finished cleaning up after a few bad IPv6 gitsyncs and am back on the vanilla 2.0 code.

    The original intention was to use squid, but to be honest, I have more bandwidth (~40/40) than I need and squid may actually slow me down.  The only thing I'd be really interested in is YouTube caching.

    The reason I upgraded from an Alix was VPN throughput.  The 6501 isn't doing quite as well as I had hoped, but it's better than before and my power consumption is lower than if I had gone with a "normal" Atom system or an i3.

    SLC flash is fine for heavy-use systems, MLC is not.  I'm using 8GB SLC Compact Flash cards with full installs in my pfSense boxes at work and those are dual-wan (45/45 + 20/20) + carp for about 140 users with a total of about 400 devices.  The Intel 311 SLC SSD is designed to be written to constantly as a disk cache, you'll have no issues.



  • This is output from pfsense on net6501 w/ the new intel mSATA ssd.  I also decided to write the image with dd in linux this time instead of physdiskwrite and windows.

    Root mount waiting for: usbus7 usbus3
    uhub3: 3 ports with 3 removable, self powered
    uhub7: 3 ports with 3 removable, self powered
    Trying to mount root from ufs:/dev/ufs/pfsense0
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=332239
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1513199
    ad4: TIMEOUT - READ_MUL retrying (0 retries left) LBA=1513199
    ad4: FAILURE - READ_MUL timed out LBA=1513199
    g_vfs_done():ufs/pfsense0[READ(offset=774717440, length=18944)]error = 5
    vnode_pager_getpages: I/O read error
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=3450767
    ad4: TIMEOUT - READ_MUL retrying (0 retries left) LBA=3450767
    ad4: FAILURE - READ_MUL timed out LBA=3450767
    g_vfs_done():ufs/pfsense0[READ(offset=1766752256, length=18944)]error = 5
    vnode_pager_getpages: I/O read error
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1135623
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1765855
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1768839
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=442207
    ad4: TIMEOUT - READ_MUL retrying (0 retries left) LBA=442207
    ad4: FAILURE - READ_MUL timed out LBA=442207
    g_vfs_done():ufs/pfsense0[READ(offset=226369536, length=35328)]error = 5
    vnode_pager_getpages: I/O read error
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=442207
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1513199
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1765455
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=1134127
    ad4: TIMEOUT - READ_MUL retrying (1 retry left) LBA=332151

    pfSense is booted up and I can work in the CLI.  I am just not sure about this output.

    Update:

    I took a 2.5" 320GB Sata drive and wrote the 4G nanobsd image to it in Linux via: dd if=pfsense.img of=/dev/sdX

    booted up the net6501 and have the same result.

    So either my ability to write the nanobsd image sucks (which doesn't make sense)
    or
    Something with the nanobsd and the net6501?



  • Try a full install.  I haven't monitored the console output since the initial install, but I don't remember seeing that stuff.

    Have you tried both ports on the board?  Maybe one is bad.



  • I think I tested the second mSATA port closer to the processor, and I did just test the 2.5" SATA drive on a completely different interface.  Ill test on both mSATA and SATA ports

    Jason, check your /var/log/dmesg.boot for the errors if they exist.

    @Jason:

    Try a full install.  I haven't monitored the console output since the initial install, but I don't remember seeing that stuff.

    Have you tried both ports on the board?  Maybe one is bad.



  • Tried both mSATA (2) and SATA (2) ports with the 4G nanobsd image.  Used the Intel ssd for mSata and a 320Gb wd black on the sata ports.  Still had those previous mentioned messages.

    Installed pfsense i386 full on the mSATA intel ssd.  The messages aren't there anymore.  I'd like to note that the only reason I am even running full on an "embedded device" is because I am using an SLC-based mSATA board which according to many, can withstand a lot of writes.

    I did have a small problem on boot.  Because I built the drive on another system that had other drives, the device that was placed in /etc/fstab was something like: /dev/da0s1a and I had to change it to /dev/ad4s1a.

    first I was in some kind of boot error prompt and typed: ufs:/dev/ad4s1a  (just to get it to boot)
    then I edited /etc/fstab to reflect the changed disk device.

    Jason I am going to give full a whirl.

    Thanks.



  • @wm408:

    Jason, check your /var/log/dmesg.boot for the errors if they exist.

    They do not.

    @wm408:

    Installed pfsense i386 full on the mSATA intel ssd.  The messages aren't there anymore.  I'd like to note that the only reason I am even running full on an "embedded device" is because I am using an SLC-based mSATA board which according to many, can withstand a lot of writes.

    That is true, SLC flash is designed for write-heavy applications.  The 311 is used for read/write caching of your Windows boot drive with the Z68 chipset and the X25-E is the "value" choice for the ZIL for ZFS file servers.

    @wm408:

    I did have a small problem on boot.  Because I built the drive on another system that had other drives, the device that was placed in /etc/fstab was something like: /dev/da0s1a and I had to change it to /dev/ad4s1a.

    first I was in some kind of boot error prompt and typed: ufs:/dev/ad4s1a  (just to get it to boot)
    then I edited /etc/fstab to reflect the changed disk device.

    That is to be expected when doing an install on one machine and then moving the drive to another (which is why I warned you earlier).

    Good luck with your full install on the Soekris.  I finally added Squid to mine the other day.  I'm running with a 512MB RAM cache for objects up to 64KB and a 4GB "disk" cache for objects up to 1MB.  Now all I need to do is to figure out how to get some statistics on hit rate, saved bandwidth, etc.


  • Rebel Alliance Developer Netgate

    I know this is a really old thread but it's coming up high in search results for the problem so I thought a follow-up was in order.

    Seems the errors on NanoBSD with the net6501 on an mSATA are due to it needing DMA and/or write caching enabled.

    I wrote up the solution here:
    http://doc.pfsense.org/index.php/Boot_Troubleshooting#NanoBSD_on_Newer_Hardware


Locked