After two hard drives in my Home Theater PC failed this summer, almost resulting in some significant data loss, I decided to move toward a better local backup solution. My previous backup strategy involved syncing hard drives on my HTPC. Although this was a simple and effective solution, it wasn’t the most efficient use of my hard drive space and it doesn’t provide much redundancy. After looking at my options I decided that a FreeNAS Server was the way to go.
- Case – Fractal Design Define Mini
- Power Supply – Antec Earthwatts 380W
- Motherboard – ASRock B75 Pro3-M
- Processor –
Intel Pentium G630T (2.3GHz, Dual-Core, 35W),Intel Core i5 3470S (2.9GHz, Quad-Core, 65W)
- RAM –
8GB(24GB) GSkill DDR3
- Hard Drives –
(4)(6) 3TB Western Digital Red
- OS Flash Drive –
4GB Sandisk Cruzer Fit, 120GB Samsung SSD
For my server build I not only wanted to keep the cost down, I also wanted it to be as quiet and power efficient as possible. I chose the case because of its noise reduction features in addition to its build quality and 6 hard drive bays. The motherboard offers 8 SATA ports and 4 RAM slots for future expansion. I was planning on using an Intel Celeron processor, but the Pentium G630T is more efficient, generates less heat, and doesn’t cost much more. I considered reusing some of my 2TB Western Digital Green drives from my HTPC, but in the end I decided to get 3TB Red Drives instead. Besides their larger capacity, they are specifically designed for this application as well as offering a better warranty and support from the manufacturer.
FreeNAS has a lot of useful documentation, but I found Engadget’s tutorial to be a better starting point for basic setup. This got me started with basic CIFS sharing that I can access with both my Windows & Linux PCs. I set up my 4 hard drives as a RAID Z2 array which should be able to survive one hard drive failure without affecting performance and two hard drive failures without data loss. After creating the array, I ended up with about 5.5TB of space available for storage. This should be more than enough for the forseeable future, but I can aways get two more hard drives and recreate the array to increase my storage capacity. Another key part of this setup is the recognition that my server will be used for backups only, never as the sole repository of data.
I ran into some issues, however, when I tried to RSYNC from my HTPC to the FreeNAS box. Using a scheduled RSYNC every night is how I plan to backup my media files and is critical to my local backup strategy. After a lot of Googling and experimenting I discovered how to properly setup the permissions on both the FreeNAS server and my HTPC in order to be able to RSYNC properly.
For my purposes I only have a Guest account on the FreeNAS server. This account does not require a password and has full access to all of the files in the share. On the HTPC side I setup Ubuntu to mount the remote share every time it boots by modifying the “/etc/fstab” file with the following line:
//192.168.10.200/Archive /mnt/Server cifs guest,uid=joe,gid=joe 0 0
In this application 192.168.10.200 is the IP Address of the server as perminently assigned by my router. “Archive” is the name of the CIFS share I created on the FreeNAS server. The directory “/mnt/Server” is the local directory on my HTPC that I created to mount the server’s share to. CIFS (Common Internet File System) is the file sharing standard. The next three additions are key to getting the permissions correct: “guest” is the user ID on the FreeNAS server, “uid=joe” designates my user ID on my HTPC, and “gid=joe” designates my group ID on my HTPC. When the server’s share is properly mounted I then had to make sure that the files I planned to share gave full read/write access to both my user and group.
With these set properly I can now RSYNC my media files from my HTPC to the server with the following command:
rsync -avru –delete –progress /local_directory/ /mnt/Server/remote_directory
Now that I have my permissions and RSYNC issues resolved, I am very pleased with my FreeNAS server. With the fan speeds set low it is very quiet and over a week of use it had an average power usage of 48 Watts. File transfer speeds are also pretty good over my newly installed Gigabit network. FreeNAS is a versatile platform and I look forward to learning more about it in the future.
Update – More Hard Drives & RAM (June 2013)
I took advantage of a price drop and bought two additional 3TB WD Red drives and two more sticks of 8GB RAM. This brings my total storage capacity to almost 11TB. In this current configuration the server uses 54 Watts on average.
Update – No More RSYNC
I decided to stop syncing between external drives and the server. It has enough redundancy & reliability that I now use it as the default storage location for all my media files, as well as for backups from my main workstation.
Update – CPU Upgrade, SSD Boot Drive (November 2018)
After playing around with the Plex plugin I decided to upgrade my CPU to help with media transcoding. The old Pentium would choke on some of the higher quality files I have. I also wanted to upgrade while older processors that are compatible with my motherboard are still available. The Core i5 definitely improved the transcoding and doesn’t use much more power than the Pentium.
I also swapped in a spare 120GB SSD I had laying around to replace the USB sticks I had been using for the boot drive. The sticks seem to go bad every couple years and the SSD is much faster, so it made sense to upgrade.