Home > Storage Technologies > Homebuilt Network Access Storage (NAS) for $900

Homebuilt Network Access Storage (NAS) for $900

The Setup

I decided to put all my files on an external NAS. As I am using gigabit ethernet, this should be a great option to move away from direct attached storages (e.g. eSATA).

First i needed a itx case with lots of space for harddisks. I have choosen the Lian Li PC-Q25B as it has space for up to 7 3,5” harddrives or 5 3,5” harddisks (HOTPLUG) and 2 x 2,5”  mounted on the bottom of the case. It even has a backplane which connects to your power- and sata cables. With the included rubber suspensions the harddrives lie perfectly save in the cage. The quality of the case is outstanding, all accessories, fans & screws are included. The price is around 140$ or EUR111.

As board i use a Gigabyte GA-E350N-USB3 (~130$ / EUR 100) with one PCI-Express slot for the raid controller, 2 memory slots, gigabit ethernet and a AMD E350 CPU onboard. The board is also good quality and comes with the IO shield.

The memory i choosen is 4GB of Corsair PC1333 in 2 x 2GB bars (30$ / EUR24). I later recognized the board doesnt support dualchannel as long as you use the onboard video chip so it doesn’t matter if you use only one bar. On thing to note is that the board uses at least 256MB video ram, so dont size your memory to small.

For the powersupply i have choosen a 350 Watt powersupply to have enough energy for the board and the harddisks. I bought a Xilence XP350 (~39$ / EUR30)

As harddisk for the operating system (CentOS) i selected a  OCZ Onyx OCZSSD2-1ONX32G 32GB solid state drive (72$ / EUR 56). This is good for fast OS operations (bootup) and is quite alot space for the OS.

The storage harddisk for my raid 5 setup are 4 x Western Digital WD20EARX 2TB for 137$ / EUR 107 each.

Dont use/buy a Silicon Image Raid

The Gigabyte motherboard and all other onboard-cpu-ITX boards dont come with a raid controller onboard. An other option would be a board with a core2duo socket and the intel ICH raid controller onboard. I didn’t want to buy an extra CPUs and Fans and that stuff so i have choosen to use a pci express raidcontroller.

Dont buy any of the SIL based raid controllers. They are fakes and not real raid controllers. They only support windows (or real old linux) and the raid is done by the CPU!!

Here comes the trick: Buy a Dell PERC 5/i raid controller card. This card is just missing the io shield as it normaly sits inside the server next to the harddisks. The port is a PCIe port. You can then remove the card holder, and put a default io shield on it (screw it, glue it,..). This card is available with 256MB cache and starts at 40$ /EUR 32). This card is a REAL Raid controller and is designated for SAS drives, which need a lot more io than a SATA disk. Anyhow, don’t buy any SIL based card! I tested 2 cards with the SIL3124 chips. On Linux you will see the harddisk one-by-one, on windows you will see…nothing.. wait… i setup a Raid 5 in the bios, booted windows and no new harddrive? the solution was simple. The “Raid” controller was so slow that it needed 90hours to initalize the raid! Wow, and the write performance is REALLY bad, ~15MBs. So forget any SIL adapter, buy a used DELL card instead. One thing: Dont buy a card with external SAS ports, it wont have any internal ports. You need a internal multilane port (This looks like a very wide sata port).

To get the ports from the SAS multilane to normal SATA connectors you will need a Multi Lane 4i,1x SAS 32p cable ($14/EUR 9).

I installed CentOS with an USB stick with the netboot image and installed the OS over the network. This was just straight forward.

With the RAID5 i now got a 6TB volume wich i formated with XFS to gain 400GB (you will loose them with EXT4)

You have to create the partition with parted as fdisk doesnt support GPT partitions (bigger than 2TB).

Samba tuning

The samba i tuned as follow:

        socket options=TCP_NODELAY IPTOS_LOWDELAY
min receivefile size=16384
use sendfile=true
aio read size = 16384
aio write size = 16384
aio write behind = true
dns proxy = no

Don’t use the RCVBUF or SNDBUF variables. They are just hell to find out and will mostly lower your throughput.

The test

The throughput is straight on (80MB/s) and the CPU load on the E350 is.. 100%

So, this is another feature of onboard modules. the overhead has to be handled by the kernel.

The temperature is stable at 65° celcius / 149°F

The price

But i can live with that. I paid around $900 / EUR 700 for a complete NAS with very good throughput. Some qnap storages just start with that prices without the harddisks.

Categories: Storage Technologies
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: