Building a Network File Server
HighDefForum so I thought I would share my solution to a NAS device. While there are several NAS devices available I don’t find them to be nearly as flexible as building your own using a older PC and external USB drives. I have both a LaCie network drive and a home built network file server PC. I find the PC solution to be a better solution.
Benefits Using a PC
The benefits if using a PC over a NAS device for me was a combination of cost, flexability and function. I use my file server to connect several USB external hard drives (over 7TB as of this writing) to my home network. On the drives I have my video, photo and music collections. At the time of this writing I have over 400 high definition movies. By using a PC I am able to move files, defragment and peform other tasks using the server PC in the background not tying up my other home theater PCs (HTPCs) while these tasks are being done. Also even though I keep a database of my movies with the locations, every now and then I will lose a file. With the PC as the server, I can set it to serching all of the drives for the file title. That can take several hours with that much storage space, so having it run on a separate PC is very helpful.
I didn’t want to spend a lot of money on this project, so I went to eBay for the PC to be used as the server. I had previously used a Compaq EVO horizontal case desktop PC to build my first HTPC (see: MyHTPC) and I liked the relatively small size. The EVO also comes with a LAN port, 4 USB 2.0 ports for connecting the drives, VGA video and CD drive, so it was ready to be used as a network file server right out of the box. Additionally these PCs are very quiet, as quiet as any HTPC I’ve seen, or more accurately heard. I was able to get a couple of these (one for spare) for very little money. One was $28 and the other was $81 delivered! Both came with XP COA attached although the $81 had Windows 7 installed with no W7 COA. I used the XP PC because for a file server I find it much easier to set up the network sharing, The W7 goes in my closet for future use.
Now attached to the server PC is a USB expansion hub. This allows me to attach more than 4 external hard drives. Currently I use 4 port expansion hubs, so I can get up to 16 external drives attached. At 1TB each that would be 16TB of storage. I’m at a bit over 7TB right now.
I thought about using a tower with multiple internal drives, but decided to go with a PC and external USB drives instead. I find having external USB drives to be a better solution than internal drives because I can take them to another location like my son or daughter’s house. At Christmas I grabbed my USB drive that has all of my Christmas music videos and took it to my daughter’s house where we were having our family Christmas. Much easier than copying the videos to another drive or memory stick. Both my daughter and I have the ASUS O!Play media players and one of my sons has a WD HD player so I can just take a drive and attach it to them. I have a spare WD HD player that I can take along as well for locations that would need it. Great for Karaoke parties.
I bought several USB cases and installed the drives in them. I run all of the drives, USB hubs and server PC on a 550 VA UPS to keep all of it running during brief power outages.
To setup the file server PC I hooked up the PC to my monitor. I installed UltraVNC server and included it in the startup. That way once I didn’t have a monitor attached (when put into service as a server) I could get into the server PC via my other computers to make any changes or service necessary, including updates, which are mostly unnecessary when used as a server PC. By using UltraVNC viewer I have remote desktop capabilities as well as file transfer capabilities. The UltraVNC software is free for private use and is available here: UltraVNC Download.
You install the UltraVNC server software on the server and the UltraVNC viewer software on your other PC where you want to access the file server PC’s desktop. Really the only thing required for setup is to supply a password in the server software, although there are additional functions if you wish to make use of them.