I was in the market to buy a new bigger external hard drive and saw that a lot of them being sold were NAS drives (network attached storage). They are basically external hard drives connected to the network and available to ALL computers within the network.
They seemed pretty cool but expensive – a 2TB NAS would cost anywhere from $200 to $500 and they aren’t very expandable. Most are limited to very basic features which do not include RAID.
After some research and a few late nights, I found and installed a tiny OS called FreeNAS based on the FreeBSD kernel on an old PC I had. Some cool things about it are:
- it can run completely off a USB key (so the hard drives don’t have to be partitioned at all and can be used for pure storage);
- it is only command based (no gui, so less overhead on the OS);
- it connects directly to my network, so Macs and PCs can connect to the drives;
- it can be configured in different RAID or JBOD configs;
- and it runs on very simple hardware (a 10-year old PC works just fine!)
I’m using an old HP AMD 64 Athlon 3500 system with about 512MB of RAM and two 75GB SATA drives (for storage). It’s recommended to install on an Intel chipset but some AMDs do work.
Initially a CD ROM drive is needed to boot and install the OS but after the server is up and running, it can be removed so more hard drives can be installed. A USB CD ROM drive may be the best way to boot though. It can even install on a Compact Flash card using an adapter, but it will take up one IDE slot. Initially I installed from booting from a CD but after reinstalled after booting from the USB key. Once installed on the PC, the gui looks like the following. This is one of the reasons FreeNAS needs very little to run the server.
Once the server is up and running, there is a web-based gui to handle all other aspects of the server, such as disk management and configuration (i.e. JBOD, RAID, etc). Here’s where the services are also created such as AFP, CIMS, FTP, Unix share, etc.
The key point is expandability. In the box I’m using there are 2 SATA and 2 IDE slots for hard drive storage. If I buy 1 or 2 TB drives per channel, this will give me a total of 4 to 8 TB of storage! Way better than having multiple external hard drives in my room connected to my computer! In addition, FreeNAS can be configured in RAID 0, 1, or 5 as well as JBOD settings, which can show many hard drives in the box as one drive. So you never have to search through 5 external drives to find that one movie or document.
Right now, I have 240GB total storage (3 80GB drives in JBOD config) but will expand by adding another 250GB IDE drive. I should total close to 500GB of storage, all by using existing drives and an old computer that was collecting dust in the basement. Pretty cool.
I was getting a very annoying error (ohci_add_done) for a while but thanks to George’s weblog, I was able to resolve the error very easily – it turns out the USB keyboard needs to be unplugged if booting from a USB key. Who knew?!? Check freenas.org for downloads and installation instructions. YouTube has some good clips on the installation process too. Use the latest stable version (7.2) which includes features for JBOD, RAID 0,1 or 5.
This site looks like it has some good instructions although I didn’t use it to set up this NAS. Enjoy!