You might ask, "Why would someone want a server in their home?" I’d ask you, "how many computers/other network enabled devices do you have in your home?" If you answered 2 or less I’d probably say unless you’re a tech geek, you probably wouldn’t want a server. If you answered 3 or more then there’s a great reason to have one. Centralization!
Wouldn’t it be great to go to any computer or network enabled entertainment device in your house and be able to access all of your media files without a copy of them being physically located on that device? Wouldn’t it be great to have just one place that was always available to backup all your files to automatically? If you answered yes to one or both of these, then a home server may just be for you.
I’ve had a home server for several years now; well before the average person would even consider it a plausible thing to have. I used it for game servers, Teamspeak servers, web servers, backup servers and to an extent as a file sharing/media server. It’s pretty old now and for reasons mentioned in my previous post isn’t really up to playing the part of a modern home server. This is especially true in the areas of game and media servers as modern game servers require a faster processor and more RAM while modern media requires more hard drive space. The old boy just isn’t cutting it anymore. I have since retired this server and am ready to build a new one.
Home Server Hardware
It was time to pick out new parts for my server but, what kind? For me, my server would need a processor capable of handling dedicated servers for the latest games. It would need a motherboard with several SATA-II ports to support all the hard drives it would need for storage/backup. As my plan is to eventually keep just one copy of my media on the server and the server alone, the board also had to have RAID for data redundancy to ensure my media was safe. It had to have gigabit networking for fast transfer of files and it must have enough RAM to support running several server applications at once. Overall its specs needed to be fast enough to handle the next 5 years, give or take, worth of applications that would run on it. The server would also needed to be cheap as I didn’t want/have a lot of money to blow on it. Finally, it needed to consume as little power as possible to keep the electric bills down. My target power usage was for somewhere around 50 watts at idle. Considering your average desktop draws between 90-150 Watts at idle and that the server would be built out of desktop components to keep construction costs down, this seemed like it might be a slightly ambitious goal. I was pretty confident however that I could still make it happen.
With the constraints of being fast enough, low power and low cost the choice of what kind of processor to go with was obvious. AMD makes several low power consumption processors that are certainly fast enough and they sell for much less than anything Intel has to offer. Because of this I decided to go with the AMD Athlon X2 4850e 2.5 GHz Dual-Core processor. A single core at this speed would be fast enough for the latest game servers but, with multiple apps being run at once on this system a dual core is just a much better choice. Also, with a power rating of 45 Watts max I figure this processor would be my best bet for maintaining that desired max power draw while still getting an acceptable performance level.
For the motherboard I chose an MSI K9N2GM-FD. It’s a fairly cheap board but, offers gigabit lan, onboard audio (not that I need audio in a server), RAID, 6 SATA-II ports and most importantly, integrated graphics. Integrated graphics chipsets tend to be pretty weak thus they don’t draw a lot of power. Also, since it was already on the board it would mean I didn’t need to by an add-on card.
For RAM I picked up 4 GB of G.Skill DDR2 800 SDRAM. 2 GB would have done, but 4 GB should guarantee I don’t run into any slow downs due to lack of memory. At least for now. I can always upgrade to 8GB later if it’s really necessary.
For hard drives I just used a 320 GB and 640 GB drive I had lying around. I plan to put larger drives setup in a RAID array later but, for now these will do. I’m just waiting for the 1TB drives to drop down to the $100 or less range, then I’ll probably pick up a pair of them.
In trying to keep the power consumption down I knew it’d be best not to use just any old power supply I had lying around so I picked up a SeaSonic SS-300ES 300 watt 80 plus certified power supply. Typical power supplies are around 60-65% efficient. This one is certified to be 80% efficient or better. Now 300 watts is not a very large supply, but at how little power I hope to have this thing drawing, a bigger supply would just be total overkill.
For a case I picked up a 4U ATX rack mountable case. It was cheap, looked nice, and had plenty of room inside to work with. It’s essentially a mid-tower case put on its side with the 5 1/4" bays re-oriented. If you don’t have a rack to put your server in then you’ll probably want to stick with a tower case but, if you do have a rack of some sort, you gotta go rack mountable to give it that professional look.
For an optical drive I just used an extra DVD-ROM drive I had lying around. I didn’t bother to put in a floppy as I had no use for one (Wasn’t planning on putting the system partition on RAID anyway). For a keyboard, mouse and monitor I just used spares lying around. Actually for the most part I don’t even have any of these interface accessories hooked up since I just remote desktop the server most of the time.
In summary the server and approximate costs looks like this:
- AMD Athlon X2 4850e 2.5 GHz Socket AM2 45W Dual-Core Processor – $66.66
- G.Skill 4GB (2x2GB) 240-Pin DDR2 800 SDRAM (PC2 6400) – $66.99
- MSI K9N2GM-FD AM2+/AM2 NVIDIA GeForce 8200 Micro ATX Motherboard – $74.99
- ARK 4U-500-CA Black 4U Rackmount Case 3 External 5.25" Drive Bays – $64.99
- SeaSonic SS-300ES 300W ATX12V Ver. 2.2 80 Plus Certified Active PFC Power Supply – $35.99
- Western Digital 640 GB HDD – $79.99
- Lite-On DVD-ROM Drive – $17.99
Home Server Software
I assembled all the parts, hooked up the keyboard, mouse and monitor, plugged in the AC cord and pressed the power button. The thing fired up without a hitch; it was time to load the operating system.
When it comes to PCs there’s really only two choices for operating systems, Linux or Windows. Linux definitely makes a great server OS for standard server applications and even for game servers as most games have a Linux option for their dedicated server. Also, it’s free, so from a cost perspective it’s awesome! It does have a few setbacks however. For one there tends to not be any GUI’s for installing and configuring services thus the whole process tends to be A LOT more involved. Second, its ability to share media over windows media connect is limited thus making its use with media extenders limited as well. Third, Windows tends to offer more in terms of server applications a home user would want to use as well as more frequent updates. Finally, it much easier to setup and run remote configuration/desktop on a windows machine which is a must as this server would get tucked away in the basement after the initial setup. Overall what it basically boils down to is convenience. Windows is much more convenient to work with and so, for these reasons I decided to go with Windows.
Of course after choosing Windows I now needed to pick an edition. For a less savvy user I might recommend the new Windows Home Server(WHS) operating system. It was designed with media sharing and backup specifically in mind and makes setting up these services easy. If you don’t know a whole lot about computers and/or you just want to get setup and running as quickly as possible, WHS would be a good choice for you. If you are a bit more experienced user then you may want to try Windows XP Pro or once that’s no longer available Windows Vista Business or Ultimate. These will require a bit more work from you to get setup and running all the services you want (for example a backup services is not included thus you’ll need to install 3rd party software) but, it offers a lot more flexibility in what you can do with the server. Finally, if you are an advanced user and you either have some money or have access to some sort of discount (MSDN/MSDNAA subscription), you might want to go with a real server operating system and get Windows Server 2003 or 2008. These operating systems were obviously built for servers as the name implies. They feature the most robust server applications and all the extra junk and clutter that comes with the desktop versions of Windows has been stripped out to offer the best performance. My server would definitely be running one of these.
My old server ran Windows Server 2003 Standard which worked great and would still work fine for this server. However, for this server I decided to go with the latest and greatest and put on Windows Server 2008 Standard x64. I decided to go with 2008 for a couple of reasons. For starters Server 2003 is on its way out. Microsoft wants 2008 to take its place and thus the latest server apps and focus for security patches are being geared for Server 2008. Another reason I went with 2008 is some of the nice new interface features borrowed from Vista like the built in search options and the cleaner more modern look. Finally, and probably the biggest reason, is I always like to play with the latest and greatest features new software has to offer. Things like IIS 7 and the new management console may not intrigue the average computer user but are fun for me!
The One Problem with a Real Server Operating System in a Home Server…
is that the operating system is business oriented rather than home oriented. For the most part it’s no big deal as the business applications are just more robust versions of the home equivalent. The real problem comes when you talk about one specific application, namely media sharing with Windows Media Connect. Windows Server 2003/2008 simply doesn’t have it! Vista has it built in and XP has it through Windows Media Player 11 but, the server operating systems (not including Windows Home Sever) do not. Even if you install Windows Media Player 11 on these operating systems (which in the case of Server 2003 actually has to be done by hacking the installer) it does not install the Media Connect service. That means all the media files you just put on your server… well you aren’t getting at them very easily with your PS3/XBox. Fortunately though I found a remedy to this problem; a little program called TVersity.
TVersity is freeware software that creates an enhanced Windows Media Connect server. What I mean by enhanced is that is designed to do more than just share media file streams with other computers running Windows Media Player. It’s designed to share it with all media extender devices and will even convert the video to a compatible format for the device if the original format is not suitable! Not only that but it isn’t limited to sharing files located locally on the server/network. It will also share web video and audio, again converting it to a suitable format for your playback device. Want to watch todays highest rated YouTube videos on your PSP? TVersity lets you do that!
When I initially found TVersity, I tested it out on my old server running Server 2003 and it worked great! Unfortunately I can’t say I’ve had the same experience with it on Server 2008. While it does work, it doesn’t seem to work nearly as well. The main problem I have is that I often find that the media server will "go missing" from my extenders for no apparent reason at all. I can’t figure out the root cause, but it seems like the TVersity service will hang a lot on Server 2008 and thus does not advertise itself when extenders go looking for servers. I guess problems with it on 2008 shouldn’t be a surprise as TVersity wasn’t designed for use on 2008 but, it is unfortunate because when it does work, it works great! I am hoping to see an update to it making it officially support 2008 but, until then I’ll have to live with the problems. I can think of one solution though that should work alright. My thought is to use Hyper-V to install a virtual Server 2003 machine on my server and run TVersity on that. Certainly it’s not ideal in maximizing my servers performance but, it should make TVersity run more consistently. If not that though, there are a few other media server programs out there for to explore.
Other than the media sharing issues I have no other gripes about Windows Server. It just works! My home server is setup and running 24/7 and doing everything I could ask from it with no problems (except TVersity of course). I even made my power budget with a 52 Watt power draw at idle so overall I’m pretty happy. If you have a fairly "connected" home and a lot of digital content to distribute I’d recommend a home server for you. It’s nice being able to access any media file in your library from any computer in the house without having to put a copy on every computer. It’s great being able to power on the PS3 and watch a movie or play music without having to put a disc in or plug a jump drive in. If you have a network, use it! It’s what it’s there for.