Building a 12TB Mini ITX FreeNAS Server

Node 304 NAS

There has never been a better time than now to build a high capacity mini NAS system.  In this post you’ll find a step by step guide to building your mini NAS using Fractal Design’s new Node 304 case.

Mini ITX systems are becoming very popular with hardware enthusiasts and it’s not hard to see why.  Hardware designers are packing tons of powerful features into ITX motherboards leaving no compromises for builders.

Many of the mini ITX boards have just as many features as their full ATX counterparts with simply less PCIe slots.  ASUS is even building mini ITX boards such as the Maximus VI Impact designed for overclockers

This build addresses many of the issues with FreeNAS Mini clone build I posted last year.  The Node 304 chassis has much more room, and provides better airflow than the ARK ITX chassis in the previous build.  The Node 304 doesn’t have hot swappable drive bays but the many benefits of this chassis outweigh the loss of this feature.

What This NAS is Designed For

This build is intended to be a high performance yet efficient home data storage system.  By using the mini ITX form factor the overall size of the system is very small yet provides plenty of flexibility and room for future expansion.  This NAS runs both cool, and quiet making it ideal for placement almost anywhere.

Keeping size and noise in mind this NAS still aims to maintain high performance data transfer speeds.  The intel Core i3 processor combined with 16GB of ram provide plenty of power to run the ZFS filesystem.

System Specs

This configuration maxes out the memory capacity of this motherboard at 16GB but still leaves room to add two additional hard drives

  • Storage Capacity – 12TB 4 x 3TB 
  • CPU – Intel Core i3-3220 3.3GHz
  • Memory – 16GB DDR3 ( 2 x 8GB)
  • Network – Intel 1Gb
  • Operating SystemFreeNAS 8
  • Power Usage – 45 watts (idle) 65 watts (under load)
  • Size – 9.84″  x 8.27″ x 14.72″ (H,W,D)

Parts List

Below you’ll find a complete list of all of the parts I used to build this NAS.  I chose to use high quality components since I wanted this NAS to last a long time and I didn’t want to put my data at risk of being lost.

The ASUS motherboard I used does have onboard LAN but since it uses the Realtek chipset I chose to include a dedicated Intel network card.  Unlike Realtek the Intel ethernet cards have a proven record of reliability with FreeNAS.  While there are cheaper ITX boards available I think this ASUS board is well worth a bit of extra money.  As many people have discovered the cheaper boards like ASRock just can’t compete with the quality of ASUS products.

Node 304 NAS Parts

ComponentItemQuantityUnit costExtended cost
ChassisFractal Design Node 304 Black Aluminum Mini ITX Case1 $54.99 $54.99
Power SupplyCorsair CX430M 430W ATX 80 Plus Power Supply1 $52.99 $52.99
MotherboardASUS P8H77-I LGA 1155 Intel Mini ITX Intel Motherboard1 $100.06 $100.06
ProcessorIntel Core i3-3220 Ivy Bridge 3.3GHz LGA 1155 55W Dual-Core Processor1 $118.99 $118.99
MemoryCORSAIR Vengeance 16GB (2 x 8GB) 240-Pin DDR3 SDRAM DDR3 16001 $144.99 $144.99
Boot DriveSanDisk Cruzer Fit 8GB USB 2.0 Flash Drive1 $9.31 $9.31
Hard DriveWestern Digital Red WD30EFRX 3TB IntelliPower 64MB Cache SATA 6.0Gb/s Hard Drive4 $134.36 $537.44
Sata CableOKGEAR 10″ SATA 6Gbps Cable2 $5.09 $10.18
Network CardIntel EXPI9301CTBLK Network Adapter 10/ 100/ 1000Mbps 1 $27.99 $27.99
 
Total Project Cost$1056.94

If you’re looking to trim costs and you don’t plan to start with 12TB of storage you could potentially drop the memory from 16GB to 8GB.  It’s easy to add in another 8GB module at some point in the future.  Although if you do plan to use 12TB of storage with ZFS I highly recommend sticking with 16GB of ram.  ZFS is very memory hunger and the file system performance is directly correlated to the amount of RAM available.

The video below will give you an idea what to expect from the Node 304 chassis.

Remove the Drive Bays

To get started remove all three hard drive bays in order to provide extra room to work while mounting the motherboard and power supply.  Each bay is secured to the chassis with 2 thumbscrews and 1 Phillips screw.

Node-304-Drive-Bays

 

Install the Motherboard Standoffs

Install the four motherboard standoffs to support the ITX motherboard.  I used a ratchet for this step since the threads were such a tight fit.

Node-304---Motherboard-Standoffs

 

Install the Processor

When building an ITX  system its easier to install the CPU before the motherboard has been mounted in the case.  This makes it much easier to make sure that the CPU is properly mounted before securing the tension lever.

Asus-P8H77-I---Processor-Installed

Install the IO Shield

Install the IO shield included with the motherboard into the chassis by snapping it into place.  It should fit nearly flush with the chassis when its installed correctly.

IO shield installed in case.

Mount the Motherboard

Place the motherboard inside the chassis and press it up against the IO shield.  Secure the motherboard to the chassis using the 4 flat black screwed that came with the case.

Node-304---Motherboard-Mounted

 Install the Processor Heatsink / Fan

I recommend installing the heatsink on the processor before it starts to get too crowded inside the case.

Intel heatsinks normally come with thermal compound pre-installed so it can be placed on the processor right out of the box.

Line up the heatsink with the four mounting holes around the processor and press down on the black pads to snap it into place.  Its best to snap them into place in a diagonal patern to make even contact on the processor.

Connect the fan cable to the CPU fan header near the VGA port on the board.

 

Asus-P8H77-I---Heatsink-Installed

 

Install the Memory Modules

Install both of the 8GB memory modules into the board and snap them into place.

Asus-P8H77-I---Memory-Installed

 

Install the Power Supply

Unlike most cases the power supply in the Node 304 mounts toward the front of the case.

Mount the power supply with the fan facing downward.  This may seem counterproductive but there is a air inlet with a filter directly below the power supply which allows the flow of air.

Since the power plug is in the back of the the case the designers added a power extension cable to complete the connection.

Power supply mounted in case.

 

Connect the main ATX power connector to the motherboard.

 

Asus-P8H77-I-Power-Supply-Connector

Connect the additional 4 pin CPU power connector to the board.  The 8 pin cable provided by Corsair can either be separated or simply plugged in with the other 4 pins hanging over the side.

Asus-P8H77-I-CPU-4-Pin-Power

One of the nice features included in the  Node 304 is a 3 port PWM fan speed controller.  The fan controller has three speeds settings to control the two front intake fans, and the rear exhaust fan.

The fan controller is powered through a single molex power connector.

Node-304---Fan-Controller

Connect the Motherboard Headers

Connect the front panel USB 3.0 Header to the blue header port on the motherboard.

Asus-P8H77-I---USB-Header

Connect the power switch, power LED, and HDD activity LED to the front panel headers.  The node 304 doesn’t have a reset switch so that header will go unused.

Asus-P8H77-I---Front-Panel-Header

Install the PCIe Network Card

Remove the expansion slow cover closest to the IO ports on the board and install the Intel PCIe network card.

Node-304---PCIe-Slot

 

Mount the Hard Drives in the Bays

Use 4 of the long screws for each drive to secure them to the bays.  I decided to leave the bay on the right side empty since it was near most of the excess cables.

While you could remove the unused bay I think it’s best to leave it in for cable management.

 

Node-304---Bays-with-Drives

 

Connect the Power and SATA Cables to the Drives

The Asus P8H77-I has a total of 6 SATA ports, 4 SATA 3G (blue ports) and 2 SATA 6G. (white ports).

You might be wondering why I connected all four drives to the blue ports (3G controller).  Like most mechanical drives the WD Red drives are not able to even saturate all of the bandwidth available on a 3G port making 6G just plain overkill.

The SATA 6G ports might be useful for connecting one or more high speed SDDs for use as a ZFS cache drive to accelerate performance.

Asus-P8H77-I---SATA-Ports

 The Finished System

The end result is a stylish, and compact home storage system!

Node-304---Front

 

Node-304---Back

 

Installing FreeNAS

In this build the Sandisk USB drive servers as the “hard drive” for the FreeNAS installation.  The Sandisk Cruzer Fit drives are extremely small and can barely be noticed on the back of the NAS.  If you want to internalize the USB boot drive you can purchase an internal USB port header like the Koutech USB header adapter.  The internal adapters are useful if you’re afraid someone might unplug the USB drive potentially taking the NAS offline.

The quickest way to load the FreeNAS operating system is to load the OS image directly to the USB drive.  Once the USB drive is imaged set the BIOS boot order to boot via USB and FreeNAS should start automatically when the system boots.

FreeNAS 8 Web Gui

Performance Testing

CIFS Performance

I was able to achieve data transfer rates of ~100MB/s which is very close to the upper limit of gigabit ethernet.

CIFS Throughput

 

Network Throughput

Regardless of how fast the disks are a NAS can only move as much data as the network card allows which is why it’s important to test pure network throughput.

Testing with JPerf showed the system had no issues fully saturating the Intel gigabit network card.

Mini NAS - Jperf

 

Documentation Links 

Fractal Design Node 304 Product Sheet

Corsair CX430M Spec Table

Asus P8H77-I Users Manual

Intel Core i3-3220 CPU Reference Page

 

Sam Kear

Sam graduated from the University of Missouri - Kansas City with a bachelors degree in Information Technology. Currently he works as a network analyst for an algorithmic trading firm. Sam enjoys the challenge of troubleshooting complex problems and is constantly experimenting with new technologies.

29 thoughts on “Building a 12TB Mini ITX FreeNAS Server

  1. Umm, the parts list you have adds up to $926.25 not $802.26. It would also be interesting to mention where you got these prices.

    Nice article otherwise 🙂

    1. Thanks for catching that mistake! I went ahead and refreshed the current prices for each of the items as well. You can click the link for each item in the item column of the price list to see where I obtained the prices from.

  2. Great article! 🙂

    I’m new to FreeNAS and was wondering about your choice of memory.

    Reading on freenas.org, there seems to be a large amount of finger-waving if one doesn’t use ECC RAM in the build.

    Do you have any comments or opinion on that?

    1. Thanks Brad!

      Yes, there are a lot of people who think it’s crazy not to use ECC memory in a NAS, especially with ZFS. While it’s certainly not a bad idea to use ECC I’m not fully convinced it’s necessary for a home NAS. I’ve been using FreeNAS for years accross multiple different pieces of hardware that did not have ECC memory and I have not had any instances of data corruption or loss.

      Also the folks at iXsystems who run the FreeNAS project sell their FreeNAS mini which doesn’t use ECC memory either.
      http://www.ixsystems.com/mini/

      My thought is if you plan to use FreeNAS in an enterprise environment then use enterprise hardware to back it up. If you plan to use it as a home file server then most commodity hardware should be fine. If you have super critical data on the NAS you should still back it up anyway since ECC memory and RAID are not a substitute for an actual backup.

      Hope this helps!

  3. This is exactly what I’m looking to build, but the ASUS P8H77-I motherboard doesn’t seem to be available much anymore, either at Newegg or Amazon.

    What would you substitute for it? Would the ASUS H87I-PLUS be a good alternative? It already has an Intel Network card integrated. Is the UEFI BIOS going to cause problems?

    Thanks!

    1. I actually only used the PCIe network card for connectivity since Intel cards perform better than most onboard solutions. Adding the extra network card is optional though, it will fine with the onboard card as well. FreeNAS does support the use of multiple network cards for bonding, or failover to provide redundancy and additional performance. If you want active bonding you’ll need to use a switch that supports this feature though.

  4. Just for the record, the IX Systems MINI does use ECC ram. Maybe not when you posted this but they do now. And, I am seeing a lot of makers of lower end NAS devices starting to shift to ECC ram.

    I know I use it. It only added an extra $170 to the bill for my home Mini-ITX build running 6x4GB HDs. Well worth it. If you can’t afford that little bit extra now, sell some stuff on eBay, skip those over-priced lattes or just wait another month or two until you can. An external backup is useless if the data on the NAS is already corrupted.

  5. Thanks for the great build write-up. Quick question…Do you happen to run Plex on this system, and if so, is the system able powerful enough to transcode and stream 720p and blu-ray movies?

    Thanks!

    1. Yes, I do run Plex on this server and it performs great. I stream at 1080P (10Mpbs) to my Roku without any issues. I suspect it could handle a higher bitrate if I had one of the newer Rokus with more wifi bandwidth.

  6. Not familiar with FreeNas as i have yet to own a NAS box. Would freenas permit adding two 4 TB drives and then when your needs grow and HDD prices decline , permit adding two more 4 TB drives without requiring a reformat on the existing drives ?

    1. I know that the question is quite old, but maybe the answer will benefit someone else. If you want to add drives in the way that you suggest, you could do it, but it is not an ideal situation for several reasons. ZFS uses different terminology because it is not the same thing as RAID, but the commonly understood terminology would be that the first two drives would be a mirrored pair. ZFS would allow you to add another pair to the “pool” that would mirror each other and extend the total storage capacity. There are many ways to configure your storage pool in ZFS and opinions abound as to the best way. It would be my opinion that the best way to expand a pool would be to move the data off (to some temporary storage space) “destroy” the pool add the new drives and then create a new storage pool using the available drives. Finally, you would move your data back into the pool.
      The reason for doing this is, with two mirror sets, your data can only survive one hard drive failure. If you take the four drives and make a “RAID-Z” pool, you can still only survive one drive failure, but you will have more storage space available.
      I am not an expert, but I have been running a couple FreeNAS servers since 2011, so I have some experience.

  7. Great resource! I’m looking at doing a NAS using mostly the same parts you listed here: FreeNas, Fractal Node304 case, Corsair PS & RAM. I’l be using an Intel Pentium G3220 Dual Core CPU; is FreeNas CPU heavy? It seems that a sizable amount of RAM is needed but I haven’t seen much information for CPU load.

    One exception is the motherboard. As others indicated the board you reference isn’t available but I’ve been looking at the ASUS H87I-Plus. All I can see about this motherboard is that ASUS doesn’t seem to provide good Linux Support and there’s a huge WOL issue with the board. I didn’t know if you had any information that could help me out with this?

  8. Hi Sam!

    What would you change to this configuration/components base on what we have available today (Nov, 2015)?
    How would you upgrade it?

    Thanks!

    1. It’s been 2 years since I’ve build this NAS but I’m still using the unit today. Overall it has performed very well and has been able to keep up with everything I use it for (which is primary as a Plex media server). If I were to rebuild it today I would refresh the CPU with a Haswell i3-4160 chip, and the Asus H97I-Plus motherboard but that is probably all I would change.

      For my purposes 16GB of ram is still plenty, and since most of my clients are wireless the 1Gb network card is also sufficient. SSDs are getting bigger and coming down in price but standard 7,200 rpm drives are still too cheap to pass up for a home NAS.

  9. Sam: I’m new to the NAS world, but ready to build. I truly appreciate your article, and follow-up comments and find it very helpful as I work to fine tune a build design. Have you considered any hardware designs that don’t require cooling fans to minimize noise and power consumption?

    I want to use my NAS for video (1080P) storage and playback, as well as storage of files and photos that can be accessed anywhere I have internet connection including iphones and ipads. Is your system capable of these features?

    And… have you considered a low power construction, or one that may utilize the 6-core Intel Atom processor versus the I-3 cpu? Is a fanless power supply possible? I don’t think the Atom requires a cooling fan. Your thoughts? Am I giving up too much performance i.e. data transfers, read/write speeds?

  10. Hi Sam,

    It has been a while since you posted this. Besides the great experince of building the NAS would you still build a new NAS yourself again ? Or would you rather buy one out of the box ? What would you recommend a beginng in the NAS world ?

    1. It’s been over two years since I built this NAS but it’s still holding up strong! I use it nearly every day , mostly for streaming content to my Roku via Plex.

      Building new systems is half the fun for me but for anyone not interested in doing the build I recommend the FreeNAS Mini made by iXsystems.
      http://www.amazon.com/FreeNAS-Mini-Network-Attached-Diskless/dp/B00EQJ1BTU

      It’s available in several different sizes, or diskless if you want to choose your own drives. It’s a very well designed systems that has received very good reviews.

      In general I still prefer using FreeNAS over any of the other NAS systems on the market. The feature set and reliability is hard to beat.

      If you have an old desktop system lying around you can always load it up with drives and install FreeNAS. That’s how I got started with all of this!

  11. Starting this project out and this site has been great! A question for Sam, do you have your HDMI (from your NAS server) connected a A/V receiver or directly to a TV? If A/V receiver (which my plan calls for), any issues with sound passing between the NAS server and A/V Receiver?

    1. No, I’m not directly connecting my NAS to my TV. Instead I installed the Plex Media Server plugin on FreeNAS. I have a Roku box connected directly to my TV which runs the Plex App to stream content from the NAS. This setup has worked great for me. It also allows me to have multiple clients all streaming content at the same time.

      As far as passing sound via HDMI it can be done as long as the video card supports it. Not all cards support audio over their HDMI ports so be sure to look carefully at the specs before you buy.

      If your going to connect the system directly to your receiver you might consider installing Plex Home Theater directly on the system instead of using FreeNAS.
      https://plex.tv/downloads

      Or just buy a Roku and hook it up to your A/V receiver and you won’t have to worry about any sound via HDMI difficulties. If you’re worried about quality you could connect the Roku to the same network switch as your NAS via ethernet. This will allow you to stream blu-ray quality without lag.

      http://www.amazon.com/Roku-Streaming-Media-Player-4400R/dp/B015YF5YIS

  12. Very good guide. I currently have a FreeNAS setup of my own. Currently in the process of building a new machine. Going for an intel C236 chipset 1151 socket which has ECC memory support, which I highly recommend if you want the most reliability if using ZFS filesystem. A basic v5 Xeon core (look for the one that has integrated GPU) , 16Gb Ram, with 4 NAS HD and no more than a 500W PSU (consider a high efficiency rating, ex. gold), Dual intel gigabit network adaptor, always go intel, there a no brainer in the IT world.

    Reason I chose the dual intel adaptor is for Link Aggregation, LACP. Now I can output up to theoretically 200MB/s on the server output. But just remember it doesn’t mean you will receive 200MB/s on a single transfer. Your capped to the 125MB/s, minus overheads etc, so 100MB/s approx. Just remember you are also capped on your end from your ethernet adaptor. This setup is only good when mutiple people jump on, its like having a V8, has a little more torque to handle the extra weight.
    You want to change the adaptors according to how many people you need to serve at one time. You might want to consider 10Gbe adaptors if you have a lot of users.

    For HD go seagate or western digital NAS branded. I will be choosing seagate as they have 5 year warranty.

    For those who could not be stuffed building their own, and want pre-built systems, try your local IT retail suppliers as they sometimes do good builds at a good price, and you also have great workstations from Lenovo, under the P series (P310, P700, P900 etc) and usually for a little more money, unless there having a special, you have Dell under the Precision tower series. They both give 3 year on site warranty. An actual tech will come to your door and replace any parts if needed at no cost to you.

  13. Oh and I forgot to mention something important, if your doing Link aggregation, you need a switch that can support it, I would recommend Cisco here, no brainer as well, something like the SG200 series or ebay is your friend here, or if your lucky like me, I got a free 24 port netgear L2 managed switch from a friend. Overkill, yes, but its for free, can’t complain lol. All up my setup is costing me $1100 not including HDD’s.

Leave a Reply

Your email address will not be published. Required fields are marked *