I apologize to everyone for the looooonnnggg wait for this post. I have swapped out a few hardware components as well as OS for this NAS build. It wasn’t all pretty… and at times it felt frustrating… However, my NAS box and I have lived to tell the story.
In this post I will walk you through each step of the building process, so you won’t make the same mistakes I did. I have written two other posts detailing the thought-process on some of the choices, but for your convenience I’ll sum everything up in this one post.
The story here is simple – we are building a DIY storage appliance that is not only FASTER but CHEAPER than the Drobo. I have owned a 2nd generation Drobo for about 8 months. For the most part, it did its job. However, all the weakness of the device surfaced when I dug into the world of Network Attached Storage or simply NAS. I have written about my attempts to put the Drobo on my LAN … http://frankleng.me/2010/02/11/droboshare-alternatives-tonidoplug-gigabit-switch/ I did not want to spend another $200 for the Droboshare! That setup worked for the most part, but performance was not even close to production-worthy.
I mean try to live with a 4TB NAS that transferred at 3-5MB/s… which is actually on par with Droboshare’s throughput… need I say more?
What I needed was:
- Energy efficient, lower powered machine. (It’s a NAS after all, not a media center)
- Able to let me swap a drive when it fails, and not lose data.
- Able to expand, swapped out the smallest drive and replace with a larger drive.
- Costs a lot less than $350USD. (that’s the price of the Drobo, not including drives)
- Easily manageable, settings can be tweaked and system status can be monitored.
- Speed, Speed, Speed. Must be able to sustain Gigabit throughput, even for larger files.
Most BYOD (Bring Your Own Drives) storage devices on the market today do NOT offer the features that the Drobo does. The Drobo was never designed as a NAS, but rather a DAS (Directly Attached Storage), and it did that job fairly well. So if you are an average user who favour ease-of-use than anything else… then read no more… you are better off with the Drobo. However, if you are like me and you want that blazing fast performance for the smallest price tag… you have found the right place. =)
NAS devices are computers too. The basic rules do apply – the faster the chipset the faster the throughput; the more RAM the better, etc.
Lastly, and most importantly NAS devices’ throughput depend largely on caching and the CPU’s ability to translate between different storage and communication protocols.
It is really quite difficult to find a blazing fast computer by today’s standard without killing your electricity bill. Most high end processors run 100W + and even lower end chips easily go over 40W (That’s almost the same as the Drobo’s power consumption with 4 drives inserted… so it’s quite a lot for a single chip!) Thankfully, Intel created the Atom series of processors. Originally made for netbooks and mobile devices, the Atom series chips are Intel’s smallest and greenest – consume only about 10W. You can buy Atom from most local computer stores, but note that they are bundled with a motherboard and not sold separately.
I picked the latest generation, and the fastest Dual-Core Atom chip -D510 @ 1.66GHZ. This chip gives the equivalent performance of a Single-Core Celeron running at 900-1000MHZ but uses 1/4 of the power, TDP rated at 13W. Because the chip is so new, very few motherboard manufacturers have them shipped to stores. I grabbed the Intel D510MO motherboard bundle for $80 CAD.(It was the cheapest option I found, and had the same features as the more expensive ASUS and Supermicro boards).
The D510MO takes DDR2 memory, and I happened to have two 1GB sticks. Obviously the more the better, DDR2 RAM sticks are super cheap nowadays and you don’t need the fancy ones. 2GB RAM – $30
I want to talk about add-on cards because you will need one for this build. Like most Mini-ITX boards, the D510MO only has 2 onboard SATA ports and it’s not enough to have a more robust ZFS setup. Therefore, I searched online and bought a PCI-X/PCI SATA II controller card and gave me two more internal SATA ports. Later, I modded one of the the eSATA ports to SATA by replacing the connector head. The card was the SYBA SD-SATA2-2E2I – $36. There is a 4 SATA port version of the card, but I wasn’t able to find one at the store. I also liked the idea of having an eSATA port.
I went through 2 cases for this build. I originally bought the Chenbro ES34069 because it had 4 swappable drive bays. However, the proprietary power supply, the lack of space in the case and noise from the case fans(fans were not user replaceable as far as I could tell) eventually made me return the purchase.
The case requirement here is simple, find a small case (mATX or mini-ITX) that has 4 drive bays. Do note that besides the Chenbro case, there really isn’t an alternative that has swappable bays. So go spend the $200 and buy it if you want ease of access. The case I ended up using was the Antec NSK-2480 – $100. It has plenty of space for the two 5.25′ and 3.25′ bays and a 380W standard power supply. It has the best cooling arrangement I have ever seen in a media center case. Head over to SilentPcReview for some professional opinions.
I also considered the NSK 1380 case, but spacing arrangement inside the case was nowhere near what the NSK 2480 had. However, the first does have much smaller dimensions.
First of all, you will need a set of drives to store data and one other drive to host the OS. I have purchased 4 WD Green 2TB 5400rpm drives because they are quiet, efficient and more than fast enough for a NAS. However, do know that you will need at least 3 drives to take full advantage of ZFS. Also, the current version of ZFS does not allow you to add physical drives to an existing ZFS pool. Although you will be able to REPLACE one of the four drives for a bigger one, adding a 5th drive without rebuilding is not possible at the moment. This means if you started out with 4 drives, you will always have 4 unless you recreate your logic pool and lose all the data in the process.
I guess this is the only spot where Drobo may have an edge over our ZFS build. You can add more drives into the Drobo at any time until the slots are full. I believe Drobo accomplishes this by pre-populating its storage pool with virtual devices, and a virtual total size. That way, any new drive can just slide into these pre-made virtual slots without affecting the storage pool as a whole. Lastly, the ZFS development team has plans to resolve this limitation in the near future. So let’s stay tuned.
For the OS drive I decided to use USB sticks. They are much cheaper and much more energy efficient than having another disk spinning at 5400rpm to keep the system running. I used a USB port expansion cable to make use the connector on the motherboard and keep the sticks inside the case. Check out the picture and you’ll know what I mean. =p
The D510MO board does not have an IDE port to hook up a CD-ROM drive. It does support booting from USB. However, most OSes do not offer a .usb image for install. Therefore, I purchased an IDE to USB adapter so I could boot from my DVD drive. My IDE to SATA adapter was not recognized by BIOS for some reason… so please be aware if you are thinking about getting one of these things. It’s safer to get a SATA optical drive instead. I see them on sale now for under $20. Anyway, since FreeNAS supports USB images, there was no need for any additional accessories. (Note: Other OSes mentioned above will require a optical drive to install.)
Total cost: $246 (shipping included, taxes not included)
Next up… the software. Turn the page. =p