Building a low-cost high-performance home NAS

Posted on Nov 17, 2009 by HappyBison

Building a home NAS

Introduction

I'm constantly getting asked about how to build a home NAS from my friends and colleagues so I decided to make this small tutorial to help others to better understand how to start and what's required.

After all, when you build your own peice of equipment then you can choose your priorities (performance, price, power consumption, capacity, etc) and invest more into that.

Our goal

My goal is to build the following NAS unit (the highest priority goes first):

  • Reliable.
  • Good capacity.
  • Upgradeability.
  • High performance (the same or better compared to existing manufactured solutions).
  • Low price (my budget is about $400 for NAS without hard drives).
  • Low power consumption (my NAS will be 24/7 so I don't want to pay for wattage too much).
  • Small size (I have enough stuff under my table).

Our hardware

Let's summarize and see what kind of hardware we need based on each requirement:

  • Reliable: my term "Reliable" stands for storage reliability, which means we need to build something capable of doing RAID mirroring or similar (when 1 drive fails, we still can get our data back). That sets a minimum requirement of having a case capable of holding of at least 2 drives or more, and a motherboard capable of connecting 2 drives or more. My personal preference was set to having 4 drives (for RAID10 or RAID5/6 level of redundancy).

  • Good capacity: modern drives are 3.5" SATA, so I need a motherboard capable of connecting SATA drives (or be able to accept a SATA controller. More on that later).

  • Upgradeability: having a standard hardware will make my system more flexible and upgradeable (I can upgrade drives, CPU, OS, etc).

  • High performance: we are looking at something like this: CPU to be at least 1.6GHz or higher, RAM to be 4GB for ZFS experiments (if you don't care about ZFS, then 1-2GB of RAM will be enough), hard drive interface is SATA. My motherboard must support Gigabit ethernet.

  • Low price: use all standard parts.

  • Low power consumption: I chose WD Green series for my hard drives (those takes only about 4-6 Watts each), and a motherboard capable of Mobile Intel CPU.

  • Small size: Mini-ITX small factor (for the case and motherboard) is a way to go here due to its small size.

Technically speaking I was looking for the following in my components:

  • Mini-ITX motherboard with Socket P (Core2 Duo Mobile).
  • Gigabit ethernet (or Dual Gigabit in case if I decide to do Port Aggregation).
  • The motherboard should support 4GB of RAM (2 slots of DDR2 RAM).
  • Our motherboard should have 4 SATA (if a motherboard has 2 SATA, then I need an additional SATA controller so our motherboard should have a slot for it).
  • 4 x 3.5" SATA Hard drives (WD Green series).
  • Mini-ITX case with 4 x 3.5" bays for Hard drives (to be able to have RAID functionality).
  • OS choice: FreeNAS (FreeBSD based so my components should be compatible with FreeBSD 7).

The OS will be loaded using a flash drive (CF card using an adapter is a good choice here), so OS can boot up faster and be much more reliable (and also less power hungry and noise free) than having it booting up from dedicated hard drive.

Now let's see how we are going to manage to build all that.