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 Linix which is a blessing and a curse for someone not used to Linux. 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:
- Change default password of ‘Openfiler’
- Configure the system time in ‘Clock setup’ on the right side of the System tab.
- Configure the network either manually or via DHCP.
- 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.
- Since I don’t want user accounts, I skipped right over ‘Accounts’ tab. It’s best to do this initially to get things working.
- Enable SMB/CIFS in Services
- Create one or more volumes (use simple names with no spaces. Linux does not like spaces in folder names) Use Ext3 file system.
- 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 \\10.0.0.110 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.
- The drive first needs to be mounted. mount -t iso9660 /dev/cdrom /mnt/cdrom
- 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)
- 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)
- 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.


















September 1st, 2008 at 11:08 am
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.
September 4th, 2008 at 10:27 am
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.
September 6th, 2008 at 8:16 am
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
September 6th, 2008 at 9:20 pm
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?
October 13th, 2008 at 2:56 pm
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.
October 14th, 2008 at 11:27 pm
Nice article! I have around 1 TB raw photo files, and thinking of creating NAS. Openfiler seems the way to go!
October 22nd, 2008 at 6:34 am
FreeNAS is *not* Linux. It is based of FreeBSD.