Step 5. Setting it all up
I started by building the PC with a boot drive installed. I left the data drives out until I was ready for them.
Ubuntu Server 12.10 is fairly easy to install, most of the defaults are fine for the initial setup. I had to put a video card and keyboard on the machine so I could do the setup. They only thing you really need to do is assign the server an IP address on your network (dhcp is the default out of the box).
After setting up the server, I updated all of the packages, and installed webmin Webmin gives you an easy way to remotely administer your server through a browser. You should also install a tool like Putty on your client pc, so you can use ssh to get a terminal window on the server.
Step 6. ZFS
To protect against a drive failing, most NAS boxes use some form of RAID. Raid-5 allows your system to keep running if a single drive fails. There are other levels of raid that provide varying levels of performance and redundancy. While my motherboard supported INTEL Rapid Storage at the Bios level, after a lot of research I decided to use ZFS on linux and RaidZ. ZFS offers excellent data integrity features, and some great features like compression, de-duping and snapshots. I wound up not using the de-duping or compression features, since my files were not going to compress well, and de-duping is a great feature for a business scenario where different users may have duplicate copies of documents in their network folders, it can drastically increase memory usage. Snapshots are a great feature that can help restore files that have been deleted or changed.
Plex – The ultimate in media sharing
Plex is a free media server available on multiple platforms. The slick web interface has improved with each recent release. There are clients for iOS, OS X, Windows and Android (including Google TV). You can even share media across the internet with friends and family. We have an old iPad, a Vizio Co-Star Google TV box, Macbook Air, Windows PC’s and multiple Android phones and tablets. Plex has been running great in all cases. The Android app in particular has improved immensely in the last few months. The main issues to be aware of with Plex related to video. If the device you are trying to stream video to does not support the format the video is encoded with, Plex can attempt to re-encode it on the fly. This will require some decent horsepower on your server (see here). In my case, the older Quad Core Intel CPU in my server has worked very for my setup where only one stream is being encoded at a time. If you are a huge fan of iTunes, you should also be aware that because of the way Plex deals with the Apple software, only Windows or Mac servers can support iTunes as a client.
To Sum Up
The combination of Ubuntu Server, ZFS and Plex offer an amazing platform for Network Storage and home Media serving. The only cost involved is your own time and the hardware. The key is to decide what you want to do before you start building. If you just want to share files on a network, a low power PC, some good hard drives and a fast network (gigabit ethernet on the server, router, and main clients) is the way to go. If you are just sharing music and videos (with out the need to re-encode them on the fly), a used laptop, or Mac Mini with a large external hard drive can be a low cost option. Building your own server, installing and configuring some form of Linux and setting up a Raid file system is not for everyone. If you do decide to take the plunge, take your time and do the research. If you do take the plunge, it can be a great learning experience and a way to bring out your inner geek 🙂
The Last Word
Regardless of where your files live, having a backup strategy is not optional. I personally keep one hard drive in my house with a recent full backup, and another at my office. Raid based file systems are not a backup strategy. They are designed to keep your files available if a drive fails (depending on the Raid level). Raid will not help you if a voltage spike fries all of the drives in the server, or a fire destroys them. If you value your “digital life” make sure you do real backups… and do them often.