Goondu DIY: FreeNAS

May 5th, 2009 | by Alfred Siew

My little FreeNAS box

Let me kickstart a new series here on Techgoondu – Goondu DIY, which gives a look at what goondus like us get our hands dirty with. By the way, it’s also disguised as a guide, so if you want to get your hands dirty, keep following these pages!

First off, I’m going to share my experience with FreeNAS, the freeBSD-based, open-source NAS software for turning your old PC or new, low-powered Atom-based PC into a NAS (networked attached storage). Since NAS is all the rage now, why not build your own, right?

Well, actually, it’s not for everyone. If you want storage, then a D-Link DNS-323 or QNap TS209 II, both of which I’ve tried and used, is a better bet. But what if you want to download fast over Bittorrent while sharing your files with your friends online and also to serve the media to your PS3 or XBox in the living room?

Then you need a proper server! This not only offers NAS functions, but also provides much faster BT downloads than the pitifully slow BT clients on regular NAS boxes.

Popular with many DIYers online, FreeNAS is the free software you might want to install onto your server to offer features that are essentially as good as regular NAS boxes. Why FreeNAS? 1) It’s free 2) It’s powerful 3) It’s relatively easy to run 4) It has low hardware requirements. Here’s my experience with FreeNAS…

My hardware:
1) Silverstone SG-05: Another Silverstone casing (I’m a fan!) to hold my Atom-based motherboard. Not a real NAS case for dual hard disks, as this mini-ITX case only holds one 3.5-inch hard disk, and a 2.5-inch hard disk. But it’s still a good deal with its 120mm cooling fan and 80-plus power supply (in case I use it for a mini-ITX gaming rig in future!). S$149-S$159 at Sim Lim Square.

2) Intel D945GCLF2: Intel’s mini-ITX board with dual-core Atom chip. Low-power but offers more performance than the usual embedded chip used in retail NAS boxes. S$169-S$179 at SLS.

3) Seagate Barracuda 7200.11 1.5TB: I had wanted to get Western Digital’s Green Power drives, but those ran out at the store I went to, so I got a Seagate instead. For a NAS that doesn’t serve big files often, speed is not as important as capacity for me. S$206 at SLS.

4) Kingston 2GB DDR2 RAM: Well, I didn’t really need 2GB, but what the heck, it’s like S$15 difference. I can perhaps recover this for my wife’s PC in future. S$38

5) Any thumb drive: I used an old 4GB Imation USB drive – the only working one I could spare – to install FreeNAS on. You need less than 100MB for the software.

FreeNAS

I shall not go over the installation for FreeNAS, which is well-covered elsewhere. Essentially, you have to install FreeNAS onto your device and configure the settings over a Web browser and you’re good to go.

What I like about FreeNAS: Excellent support for all regular NAS features, including CIFS/SMB (for Windows PCs), FTP, SSH, iTunes server, uPnP (to hook up to your PS3 and Xbox) and a fast BT client called Transmission (Linux fans should be familiar).

But here’s a note of warning. FreeNAS is not as easy as a lot of people make it out to be. To be sure, its GUI is one of the best, with all the features thrown in. It’s also relatively easy to use, compared to, say, the Linux-based OpenFiler NAS software. But this is what you should be aware of:

1) Can’t install from USB drive
Yes, you can install onto a USB drive, but you need to install FreeNAS from a CD. That means burning a LiveCD from an ISO from the FreeNAS site and booting from it to start the setup. I plugged in an old DVD drive temporarily to my Atom server for this.

2) Can’t detect the network card on the Atom board
The stable 0.69 version of FreeNAS doesn’t detect the built-in gigabit network card (Realtek 8111C) on the Atom board. You’ll either have to compile the driver yourself (!) or try using drivers for an Intel network card. A simple workaround is to get the latest 0.70 nightly build, which is what I did. Or, you can also plug in a supported network card.

3) Can’t address more than 1TB (fix needed)
There seems to be an issue with the install script that prevents you from seeing more than 1TB when you install FreeNAS on the hard disk that you are using for data. You can either fix it by going to the command prompt and partitioning the disk yourself, or if you are a noob like me, simply install FreeNAS on a thumb drive and keep it sticking there. Alternatively, plug in an old CF card inside your PC by using an IDE-CF adapter.

4) Doesn’t have folder-based permissions
Again, if you know freeBSD, you can drop to the command shell and do this manually. But you can’t seem to set this for different users on your Web GUI, which means everyone logs in, say, via FTP or SSH, and sees the same folders. I hear that the next stable 0.70 build for FreeNAS is expected to solve this.

UPDATE: Goaded on by my friend and Unix geek Albert, I went to learn some basic Unix commands, logged in via a command line and created folders that are now private to each user (well, mainly me). It’s actually easier than editing your config.sys and autoexec.bat in the old DOS days (“deltree” or “rd”, anyone?).¬† Well, right after I learnt that, I found an easier way: you could just create a folder on your NAS and then FTP in, say, with Filezilla, and change the permissions using its GUI.

5. Can’t turn on FTP if you are not using a static IP
I got an “error code 1” occasionally when I used a dynamic internal IP. But this is a minor problem, as I always intended to use a static IP, so I could forward ports to the NAS more easily.

Other problems unique to this goondu:
Another reason why I say FreeNAS is not for everyone is because I spent two days over the long weekend to troubleshoot it after my first successful installation unexpectedly failed. I still don’t know what went wrong.

Basically, I couldn’t log in to the Web GUI, so I took the machine to a monitor and plugged it in to see what’s wrong. I couldn’t get an IP address, whether this was fixed or static. I then embarked on a crazy process, where I reinstalled the NAS software (it got worse and starting crashing when I tried configuring things), plugged in a new NIC (worked okay), installed FreeNAS on another USB drive (crashed as it was a cranky, old drive) and updated the firmware on my D-Link DGL-4300 router.

When I finally got things working stably, I couldn’t forward ports to my NAS, which meant anyone outside the network couldn’t get access to files I’m sharing. After an entire day of trying out, to my horror, I had forgotten to set the internal network gateway IP! Amazing, I know. Thanks to Albert for pointing that out – and having a good laugh at my expense.

All in, this proved to be a good networking 101 for me. I thought I had pretty good experience setting up home networks (my first was with a PC running NAT software on a single NIC – network sharing between IPX/SPX and TCP/IP!). But obviously, I’m not a Jedi yet.

So, sorry, if I cannot answer all your FreeNAS questions if you ask them. But I hope you’ll give it a try if you are game for a little learning. Feel free to post your experience here, and I’ll be glad to help if I can.

Right now, the little NAS is humming quietly in my storeroom, hooked up over gigabit Ethernet, and serving out multimedia files at home – hopefully for the next few years.

By the way, I get about 130Mbps transfers over FTP. File transfers over Samba or Windows Networking are usually slightly lower at just over 100Mbps. Not fast, according to critics who often point to these Samba transfers, but since I don’t transfer that many big files that often, and I can wait a few more seconds, I’m fine with that.

[nggallery id=5]

11 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.