For the very longest time I've been wanting to make a NAS server for home. I've been running on a 2x2TB eSATA external forever, and let's just say that I'm running out of space. So I decided to go all out and build the smallest NAS server I can that can fit into a 14x14x10 inch area. I live in a very small apartment so SFF systems are pretty much a requirement for me and I love the idea of stuffing as much as possible into as small a space as I can. I did a lot of research into FreeNAS. This is not a system that can be simply built using whatever used parts you have lying around. Server-grade equipment is recommended for FreeNAS, so since I mostly had none of that lying around, I bought from scratch.
This is my 7th build: Granite.
Most importantly was the case. It needed to be space-efficient and hold at least 4x 3.5 inch, hot-swappable HDD's. More was certainly welcome. After looking around and reading a bunch of forums and posts, I came to this little beauty:
Case: U-NAS NSC-800
Mini ITX, 8 Hot-swappable, 3.5 inch HDD bays, 12.5x10x7 inch dimensions, built like a tank. This thing is beautiful. It has a steel frame with an aluminum cover and a kind of soft-touch coated front panel. All 8 storage drives are accessible from the front and has space for at least 2 more 2.5" drives internally. It wasn't the most user-friendly case to build in, but then I don't think that was the point. Overall, I was very impressed with the build quality of this case and the amount of components you can put into it. There is also space for an expansion card if you happen to need a Host Bus Adapter or a RAID card, depending on your build.
Motherboard: ASRock C2550D4i
This board was very interesting to me. It is very low power and comes with the CPU already on the motherboard. It comes with a Intel Avaton C2550 Quad-core CPU (Atom-based), 2.4Ghz processor. This is a very low power CPU taking in a whopping 14W of electricity. Excellent for a built like this. It also has four 240-pin DDR3 DIMM slots, for a maximum of 64GB of RAM, two 1 Gigabit LAN ports and one for management, 2x USB 2.0 ports and a VGA and serial port. External connectivity is nothing impressive. This is server-grade equipment so you're not going to get much as far as bells and whistles. The impressive part about it is the internal connectivity. It comes with TWELVE SATA ports. Perfect. One thing i absolutely love about this board is that it has IPMI remote management. You can control your entire PC via web GUI, including going into the BIOS and changing settings. Just enter the IP address and you're in. No need to have a monitor or keyboard attached to it manage it. For those who know and work with servers, it's just like Cisco IMC or Dell iDRAC.
RAM: Crucial 32GB DDR3-1600 ECC Unbuffered
One thing I've learned about FreeNAS is that it is a RAM hungry monster. As I don't want any trouble with my important data later, I decided to get as much as I possibly can, so I got two 16GB RAM kits (2x8GB). I would have loved to max the motherboard at 64GB, but 16GB ECC Unbuffered DIMMs are hard to come by and are expensive as hell. I also decided to go with ECC RAM as it was unanimously recommended by members of the FreeNAS forums. Apparently FreeNAS lives or dies on ECC RAM. I'd rather it live, so I'm not going to take any chances. It wasn't all that much extra anyway.
OS Drive: A-DATA SP900 64GB SSD
I found this at a good price, so I'd rather install the OS on an internal drive, instead of a USB drive that can be more easily damaged or accidentally removed.
5x Hitachi Desktar NAS 4TB HDD I got 5 of these babies. I love Hitachi, and have used dozens of them for many years and not one has ever let me down. I expect these to be as reliable and trustworthy, but I still ran tests just to make sure. You can never be too careful.
3x Hitachi Ultrastar 7K400 4TB HDD
Western Digital Red 5400 4TB One of these drives I had in my gaming PC for a while and the other two I salvaged from a decommissioned server. These are enterprise-grade SATA drives and excellent quality drives, if a bit loud. Sound is not a major issue in a datacenter, but they were free so I won't complain. :D
Replaced the Hitachi drives with some WD Red 5400 RPM drives. Those Hitachis in a small case like that were all having heat issues. I've been running the Reds for months now and they've been great with performance and temp.
PSU: FSP Group FSP400-701US 400W
I needed a good quality PSU that can go 24/7 and not be too loud. Unfortunately the U-NAS case only takes 1U PSU's so choices are rather limited. There were other choices from the likes of Athena Power, which I wouldn't trust a damn thing to, so I chose this one instead, which I've known to be a respectable brand. I think I overdid it quite a lot with the wattage, but eh, que sera, sera.
OS: FreeNAS 9.10
This one was tricky. I had to do a lot of research to what would be needed to run this OS, and I'm glad I did. It is a very powerful OS and must be handled with care, but if treated right, it can be the best storage OS solution available. It uses the ZFS filesystem which allows you to "heal" your drives, in a way, and use block-level snapshots, which can be used as Shadow Copy restore points in Windows, among many other features.
After finally getting the whole thing built, I loaded the OS and began messing around. I'm still in the process of getting my data on there, but first I want to get as used to FreeNAS as possible so I reduce my chances of screwing something up later. Over all, with all 8 drives in RAIDZ2, which will give me a 2 drive parity, I will have about 21TB worth of space to work with. I'm not too sure about the Gelid fans that it came with, so I'll probably switch them with something else soon.
I plan to use this to store all my data and also my wife's data into a centralized network location. I can also finally start making backups of all our machines and start keeping things safe. I'll be getting bigger external storage though, so I can keep a backup of all our more important stuff.
So far it's been a very fun project and I'm learning quite a lot. This is something that I will eventually want to implement at work as a backup solution.