Openfiler vs FreeNAS: Tips for building your own NAS

If you run multiple computers in your home or office, centralized storage can be a daunting task. Ideally, you want your files to be available to all computers. There are several ways to accomplish this. For Microsoft Windows users, the easiest way is to turn on file sharing but doing so exposes your files to potential security risk and performance is not exactly stellar. It’s good enough for the occasional file transfer but not fast enough for real time use of the files from one computer to another. Windows file sharing is also not the best choice for environments using multiple OS such as Mac OSX and Linux.

One option is to use a hardware based NAS (Network Attached Storage) device. Several manufacturers offer solutions to share single drives to multiple drives. These devices often come in a small footprint and offer ease of installation. Just add one or more hard drives and connect to your Ethernet network to begin file sharing. While this is a good option for those who want an easy roll out, it has some disadvantages compared to building a system using a spare PC.

They include:

  • Limited expandability. Some NAS devices include 1-4 drive bays with options to add external drives via USB 2 or eSATA ports. Adding additional external drives introduces an additional point of failure due to a second power supply. If you must go this route, choose a NAS device that supports eSATA.
  • Potentially slower performance due to low power cpu, low memory, and or slower Ethernet port.
  • Less flexibility due to proprietary software.

If you have a spare PC laying around and you are tech savvy, a good option is to build your own NAS using a bare PC and running an open source software such as Openfiler or FreeNAS. Both of these are based on a variant of Unix which is a blessing and a curse for someone not used to Unix. I’ll list the pros and cons of such a solution.

Pros

  • It’s Unix which means it’s robust, secure, and free.
  • Very powerful and scalable. Even a PC several years old is more than enough power to run either Openfiler or FreeNAS. FreeNAS requires a Pentium CPU with at least 64 mb RAM while Openfiler requires a 32 bit 1 GH CPU with 512 MB of RAM.
  • Flexible because it runs Unix so you can execute Unix commands and even run other Unix apps for additional capabilities.
  • Very high performance.
  • Supports multiple network card bonding for increased performance.

Cons

  • The biggest con is, well, it’s Unix which means it’s cryptic, not user friendly, poorly documented, and incompatible with some hardware.
  • Large footprint and possibly large power requirement compared to a small NAS box.

My experience implementing both FreeNAS and Openfiler

I was not sure which software to go with so I installed and evaluated both and did some file transfer benchmarks. My specific file sharing requirement is that that I have about 1.5 TB of image files I needed to store centrally to be accessed from multiple computers via the network. Performance had to be fast as my Adobe Lightroom catalog may contain as much as 70,000 images. I also needed redundancy and the option to backup on demand. Both of these software offer multiple RAID level options and backups can be accomplished several ways.

My hardware list:

  • AMD Athlon(tm) X2 Dual Core Processor BE-2300 1.9 GHZ
  • GEFORCE 6100SM-M
  • 2 GB RAM
  • Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet via add in card because the onboard LAN is only 100 mbit.
  • LITE-ON DVDRW SHM-165H6S
  • Maxtor 90840D6 (Capacity: 7.82 GB) for OS and swap partition
  • MAXTOR STM310003 1 TB SATAII/300; 32MB CACHE, 7200 RPM for storage volume
  • =================
  • D-Link DGS-1005D 5-Port 10/100/1000 Gigabit Switch

I’m not going to go into the steps required to install these software as you can get most of that from the documentation for FreeNAS or Openfiler. I will instead offer my observations about these two very different products. The main advantage of FreeNAS is that is extremely light and can run from a 32 mb bootable device such as a cf card or usb drive. For the first time in 5 years, I was actually able to use that measly 32 mb CF card Canon shipped with my camera. Freenas also has very minimal hardware requirements making this an ideal choice for older PCs and those who want to keep power and heat to a minimum. It’s an ideal choice for the home user who needs to leave the NAS running 24/7. You can install it on a lower power pc and run a single hard drive to keep power consumption low. But with such a small OS footprint, there has to be sacrifices. You get a bare bone system that gets the job done.

Openfiler, on the other hand, uses the rPath Linux metadistribution. The installation is 320 mb and requires a separate boot drive in addition to the storage drive. That means you must run a minimum of two hard drives at all times. It has many more features compared to FreeNAS and is faster at serving files which is my primary criteria. One feature noticeably missing from Openfiler is power down settings. FreeNAS has options to power down the hard drive at user definable durations. I’m not sure if the BIOS power consumption features on my motherboard will work with Linux but perhaps there’s some kind of add on software or command that can be executed to implement this in Openfiler.

Documentation: The FreeNAS documentation and support forum is actually pretty decent but as with anything Linux, it’s written by geeks and engineers and there are serious misgivings. Openfiler has decent docs too but their search function sucks and they keep redirecting you to a page to sell you documentation.

Installing FreeNAS gotchas: I hit a snag right at the beginning of installing FreeNAS. I downloaded the small install file, burned it to a cd and began the installation. After getting through some BIOS boot priority issues to get it to boot from CD, I started the installation only to hit a wall when it tried to copy the installation to the CF card. It kept telling me there was an error copying the OS to the CF card. I kept thinking there was something wrong with my image burn on the cd so I kept downloading and reburning with no success. After doing a bit of searching, it turns out the problem was with the CF card, I reinserted it a few times it worked. The rest of the install went very quickly without problems until it came time to setup the share. In section 4.1.1, it skips right over the share tab configuration which is required for creating a NAS for a Windows environment. I spent several hours trying to get share working only to keep getting a request for a password for account Freenas/Guest. I could not change the user name and no password worked. I have CIFS/SMB setup as anonymous.

Turns out the solution was the requirement to first share /mnt/nas (or whatever you called it). I clicked on the browse button to the right of the path window and selected that name and hit OK. If you want to create any additional share below that, you have to first create those folders under Windows explorer, then go back and select those folders. You can put new folder names in the path field and it will take it but it won’t share and it won’t tell you it’s an invalid folder. It’ll just keep asking your for a password. Very lame.

FreeNAS does have a very nice graph that shows cpu utilization and network bandwidth. During a large file copy, it topped out at 800 mbits/sec with average of 400 mbit/sec so a 1 GB network card is required to fully utilize its performance.

Installing Openfiler gotchas: Openfiler’s installation is much longer due to its 320mb installation. Everything went well according to the documentation. The confusion starts when it’s time to setup the administration to prepare the drive for sharing. Since Openfiler supports several file systems and platforms, the documentation is not sequential. There are many steps you have to take but you don’t know what steps and in which sequence.

Here are the steps required for adding a drive and share for a home Windows network with no login required to access NAS:

  1. Change default password of ‘Openfiler’
  2. Configure the system time in ‘Clock setup’ on the right side of the System tab.
  3. Configure the network either manually or via DHCP.
  4. Add host name or IP number of client computers under Network Access. Using IPCONFIG from a DOS window on your clients to see the ip number.
  5. Since I don’t want user accounts, I skipped right over ‘Accounts’ tab. It’s best to do this initially to get things working.
  6. Enable SMB/CIFS in Services
  7. Create one or more volumes (use simple names with no spaces. Linux does not like spaces in folder names) Use Ext3 file system.
  8. Create one or more shares. Make sure you give RW permissions.

This is the part where the documentation fails Windows users. It just stop there and does not even address how to get to the shared folder from the Windows client. If you have done all of the above steps properly, go to a client computer, open Windows File Explorer and type in https://10.0.0.110:446\ or whatever the IP number was assigned to your NAS. It will display the share name and you can right click on it and map a logical drive to it.

Copy command:

This is important because you may have a need to copy files from the DVD drive of the NAS server to the hard drive. You can also use it to backup folders to a second hard drive. Openfiler has a Snapshot feature but that only works with entire volumes. If you just want to backup a folder, use the CP command instead.

I had some files on DVD I wanted to move to the NAS drive. I could have just popped them into a client computer and copy them across the network. Copying them from the internal DVD drive is a bit faster but more complicated.

First you have to login to Openfiler and open a secure console. Go to the System tab and click secure console on the right. It will ask for the root password after a slight delay. Use the same admin password you used to get into Openfiler. It will open a window with the name of the NAS and a # prompt. From this prompt, you can execute any supported Unix commands.

  1. The drive first needs to be mounted. mount -t iso9660 /dev/cdrom /mnt/cdrom
  2. This command copies all files from the DVD to a folder called temp on the NAS. cp -r -v /mnt/cdrom/* /mnt/nasvol/1tb/root/temp (I prefer to copy them to a temp folder and move them after with Windows Explorer because Linux does not like spaces in folder names)
  3. DVD files are read only so this is required to change the permission. chmod -R -v 777 /mnt/nasvol/1tb/root/temp (-R must be uppercase)
  4. Unmount the cd/dvd before ejecting. umount /mnt/cdrom (umount, not unmount)

In the end, I chose to stay with Openfiler because it is faster, more robust, and has more features than FreeNAS.

Domain Hosting
Dedicated Servers

Share:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • email
  • LinkedIn
  • MySpace
  • Reddit
  • Slashdot
  • SphereIt
  • StumbleUpon
  • Technorati
  • Twitter
  • Fark
  • Yahoo! Bookmarks
  • Yahoo! Buzz

Post to Twitter

25 comments to Openfiler vs FreeNAS: Tips for building your own NAS

  • I recently installed Openfiler 2.3 on a 3.2Ghz Celeron D with 2 GB RAM, an IDE drive for Openfiler, and 2 500GB sataII drives.

    I currently have 24 volumes split between the 2 drives and I am connecting to iscsi targets from Citrix XenServer 5.5. I am running all redundant CentOS5.4 VM guests to include internal and external DNS, DHCP, TACACS, Axigen Mail Server, OTRS::ITSM, Zenoss Core, Apache, and a pair of Citrix Netscaler load balancer virtual appliances from all on a i7/12GB RAM XenServer host system. I’m not using any bonding and am running through a Netgear GS716T Switch, with backups going to a Sans Digital NFS NAS device. This setup is currently serving my business quite well.

    That said, there is some tweaking you have to do to Openfiler to get it to work right with XenServer (and to get iSCSI targets to show up at all).

    I had to do the following:

    1. Comment the following in /etc/rc.sysinit. I had to do this because XenServer creates a Xenstorage share on Openfiler when it connects to the iSCSI target, and, without the following configuration, will not release the target in the event that connectivity is lost. Even rebooting the Openfiler won’t fix it.

    # if [ -x /sbin/lvm.static ]; then
    # if /sbin/lvm.static vgscan –mknodes –ignorelockingfailure > /dev/null 2>&1 ; then
    # action $”Setting up Logical Volume Management:” /sbin/lvm.static vgchange -a y –ignorelockingfailure
    # fi
    # fi

    2. I had to add the following filter to /etc/lvm/lvm.conf to keep the system from scanning the OS drive and the cdrom (which isn’t even mounted). You’ll have to adjust for your specific devices. This had to be done because vgscan and lvscan would take forever and would eventually timeout.

    filter = [ "a|/dev/sd*|","r|/dev/dm-*|","r|/dev/hda*|","r|/dev/cdrom|","a/.*
    /" ]

    3. Disable ATA-over-Ethernet because it conflicts with iSCSI.

    service aoe stop
    chkconfig aoe off

    Hope this helps keep anyone from experiencing the frustration I did and rebuilding this several times. It works like a champ now that kinks are worked out.

  • patyuen

    Scott: Try \\192.168.0.xx:446/ . You can also try using the map network drive feature in Win Explorer and try browsing for the network.

  • Scott

    I have successfully installed openfiler following the steps above, however when type in https://192.168.0.XX:446/ in wndows explorer it always opens firefox (my default browser) and shows the admin…. Same thing if i do this from one of my win2003 boxes… Any suggestions?

  • Tim

    I just installed FreeNAS a few hours ago and it works great. took me less then 5 min to setup the disk and share it using SMB. i have 3 windows 7 computers, 1 windows vista laptop and 1 windows xp netbook and a samsung bluray player that streams from network locations and dlna servers and 6 devices work 100% with the freenas server. Im going to be trying openfiler in a short while. the big downfall i see for freenas is the large pain in the ass trying to do anything else with the bsd based system. installing packages in a nightmare. so for a base nas box i would give it a 9 out of 10.

  • Holyfrik

    Openfiler works great. For those trying to connect to the iSCSI shares you just created. You need to use iSCSI Initiator (builtin Vista, and 2008, MS Free DL for XP). Once you have the iSCSI client installed, you then need to configure it to connect to the NAS. It isnt available via UNC..\\blah\blah\
    With version 2.3 you need to create the volume, then add the iSCSI device, then share the LUN, then allow network traffic. Caught me up for a bit, but works great now.

  • I did not try OpenFilter, but I’m getting about 50-55MB/sec when I’m copying files to my freshly installed FreeNAS box. It’s a low end hardware based on Intel Atom 230 CPU (1.6GHz, Single Core).
    It seems like you need to do some tune-ups for your hardware to fully utilize it.

    8-10MB/sec sounds like an issue with non-Gigabit ethernet.
    Sil 3114 is not a RAID, it’s a fake RAID so BSD/Linux won’t support it. You need a hardware RAID controller or use SoftRAID instead (which works well too).

  • I tried them both, FreeNas ignores my Sil 3114 Sata raid with 4 250 gb drives. I tried them as pairs of raid 0, as raid 6 and as raid 10 all failed Freenas. I tried openfiler today and it crashes every time I install. My friend said disconnect the sata drives and try to install it. That works but with out the sata drives it was pointless. I reattached them but have no idea on how to use them with openfiler. Any ideas on that?
    Documentation for Openfiler is nil as far as I can find. At least freenas has documents, but the way freenas is BSD not linux, yes it is unix just not Linux.

  • Pete

    Iam using FreeNas on a 2.4G P4 with 1G memory. The boot device is a 20GB disk and the data disks are two 400GB IDE (Raid0) drives. The trhouput is with 60Mb/sec enought and it is better than my previous smc server on the same HW. The problem was the installation of the System on a USB-Stick (perhaps the 5y old HW). The configuration of the shares :-( well this costs me somme nights. My Unix-time is over 20years a go (NCR-Unix), but some commands are always present. I dit create somme directories under /mnt/freenas/ and gave all permissions. After that i did found the explorer in the web gui. The important thing for me is an UPNP and the Squeeze server on that thing. And it works perfect.

  • dariush

    hmm
    i had openfiler in the company for 6 month, primary to test and work with xen. Its very nice and easy to manage but i had mutch truble with the iscsi initiator and the lun mappings.
    after a powerfailure the lun was frozen and i wasnt able to reconfig it again and the documentation is not realy existent.
    so today i’ll gona test the iscsi functionality in freenas.
    anyone any ex. in this area? is the iscsi in freenas stable enough for a productive env.?

  • Colin

    Iam using FreeNAS for abput 3 months and all is well. One thing that works very well for me is the DAAP. The music server on FreeNAS is an excellent way to share and search your music. I don’t use Windows much but DAAP will work with Vista and Windows 7 not so sure about XP.

    BTW I use Linux Mint (Steve is right)

  • Anonymous

    FreeBSD and Linux are both Unix derivatives, so he’s technically right.

  • Marthinez

    Openfiler do not need 2 HDD for work, but we must remember to do not allocate all space for base system.
    Afther base instalation we can add special volume (VLM) that will be used for sharing.

  • Souvik

    I tested both Freenas and Openfiler and found Openfiler to be the best.

    Multiple iscsi targets on Openfiler seems to work good also I’m getting good transfer rates on SMB.
    Also managed to get the SNMP to work but still working to get the status of iscsi LUN’s

  • Steve

    Nice article dude, but you have some significant misconceptions about FreeNAS. I can’t say much yet about OpenFiler… Still evaluating.

    FreeNAS runs on FreeBSD, not Unix *or* Linux. Don’t confuse them. They are all different beasts.

    Second…
    “You can put new folder names in the path field and it will take it but it won’t share and it won’t tell you it’s an invalid folder. It’ll just keep asking your for a password. Very lame.”

    This is a permissions issue. I’d get friendly with CLI and in a hurry if you want to deal with many aspects of FreeNAS. I had to make scripts to deal with the continuous permission problems that the multiuser environment in FreeNAS invokes. I suspect OpenFiler would be similar…

    And to Amir – “I’m working on setting up a photography vault with openfiler. I did everything on your list, but nothing seems to work from vista’s explorer window to bring up the drive. Any additional tips?”

    Ditch the Vista. Its that simple. No seriously, do it. :)

  • TW

    With FreeNAS the mount/format/share/user account must be done or you will have some of the problems listed by others. I have found DVD iso. files to be no problem from the FreeNAS, even over a wireless repeater connection. The problems I have had resulted from using older equipment that caused problems due to the hardware reliablity, not the program. I have not even scratched the surface of all the services available on FreeNAS, but really like knowing that they are there when I need them. I second the BSD thing too.

  • Hi,

    nice article. made my decision a little bit easier – i will give openfiler a real try ;-)

    greetings from austria

  • Glen

    I have just setup a FreeNAS server at home, it’s on a older Athlon64 3200 (single core), booting off a very slow USB flash drive (but it is setup in embeded mode, so just slows the bootup down slightly) and sharing a single 1TB HDD. I am getting sustained transfer speeds of 30MB/Sec. I did have the same hardware setup as a VMware machine with a FreeNAS VM and was only getting 5MB/Sec.

    How much faster is SMB under Linux rather then under FreeBSD, i cannot imagine much faster then 30MB/Sec.

    On a side note, i think RAID1 is a waste of time for a home setup, instead, i have a second NAS sitting in the garage and it rsyncs to that every night. If the house burns down, the mirror is remote. If i accidently delete something, i have until 3AM to recover it from the master before it replicates.

  • Fred

    FreeNAS SMB share is slower than Openfiler. So if you are sharing and connecting from multiple OSes. It would be better to to use openfiler.
    but if you want to get away with older hardware, FreeNAS is way to go.
    my computer’s network read/write speed via SMB on FreeNAS is about 8~10MB/s. They say it’s BSD and Samba issue. Samba works better with Linux.

  • Imp

    FreeNAS is *not* Linux. It is based of FreeBSD.

  • Jay

    Nice article! I have around 1 TB raw photo files, and thinking of creating NAS. Openfiler seems the way to go!

  • JimC

    Nice job on the write-up, but I wanted to add something about the FreeNAS. 1st I could not get the transfer speeds you got with the 1000baseT adapter (I installed a Netgear GA311). Second you need to be very carefull with the software raid. I WAS running (2) 250 Gig Drive in a Mirror and one died and it crashed the whole mirror instead or degrading it. Since I chose the UFS File system in the mirror, my UBUNTU liveCD will not mount the partions since UFS is the BSD variety and not the linux variety such as EXT2. Also in all of the FREENAS literature, they say they support the other formats but USE AT YOUR OWN RISK BECAUSE THEY MAY CRASH OR CORRUPT THE DATA. The FreeNAS Server also drops out in the middle of large transfers.

    After your write up I think I will either try Openfiler or NASLite.

  • Leigh

    Thanks for the write up.
    I followed your setup instructions, and can see the share from an XP computer, but get \\\\ is not accessible …. The netwrok name cannot be found.
    Did you come across this error when you were setting up?

  • I’m working on setting up a photography vault with openfiler. I did everything on your list, but nothing seems to work from vista’s explorer window to bring up the drive. Any additional tips?

    Thanks

  • Greg: As far as I know you can use nano at the command line instead of vi. vi prevents you from make mistakes as easily though.

  • Greg

    Nice write up. I just implemented OpenFiler and was very impressed with the performance once setup was complete. Had a LOT of trouble trying to get the internal LDAP server to work for user authentication, so I ended up with IP-based client access restrictions. Did have to muck around a bit in the Unix command line (I remembered how much I hated VI!). Haven’t tried FreeNAS, but I would give OpenFiler a 9 out of 10 rating.


Advertise on this site