When I was looking at getting an always-on home server, my requirements were low cost, low power consumption, and the ability to be tucked away and left to do its thing in the corner.
Its main use was going to be a file server. But it has also ended up doing downloads, running an Asterisk server, doing a bit of web serving, acting as a gateway for remote backups and running DLNA and MPD servers. Low cost and low power aimed me at basing the server on Intel's Atom CPU.
A lot of the information I found during the build warned that an Atom would not be quick enough for my needs, and that I should be looking along the lines of a desktop processor.
After using it for 6 months, with both Windows and Linux clients on a Gigabit network, I have found that NFS clients get approximately 75 - 80 MB/s for both read and write. Samba writes, on the other hand, are approximately 70 MB/s, but the reads are only around 20 MB/s, which is something I am looking into.
Both tests were being written to the same drive in my Linux desktop, so the limiting factor could be the drive, and the read speed problem under Samba could also be due to the client configuration on my desktop.
The only thing that I have found my Atom-based server struggles with is DLNA transcoding. But that's to be expected given the Atom's processing power.
In use, I have not found the file transfer speed to be a problem, as the only machine that accesses it on the Gigabit network on a regular basis is my desktop, which is using NFS. All other clients are connecting wirelessly, which limits speeds to under the equivalent of a 100 Mbps Ethernet connection anyway.
The hardware list is shown in the table below. (Prices are New Zealand dollars converted to U.S.) The different drives are due to them being bought when required, and the case and power supply were secondhand from trademe (New Zealand's equivalent to eBay). The SATA card is not currently being used, but is for future storage expansion.
|Motherboard||Intel D510MO DDR2-800/667 GMA 3150 Mini-ITX Motherboard (SY54506)||$87|
|RAM||A-RAM 2GB PC-5300 (667MHz) 240-pin DDR2||$36|
|Hard Drive 1||Western Digital WD15EARS (1.5TB)||$95|
|Hard Drive 2||Samsung HD103UJ (1TB)||$95|
|SATA Card||Silicon Image controller (from eBay )||$16|
|Case and power supply||Unknown Brand||$40|
|Quieter Fans (2)||Unknown Brand||$16|
It is not the quietest server around, running two 80mm fans. But it's a lot quiter than when it had the stock case fans. The current, quieter fans keep the CPU core temperatures between about 30 and 35 degrees C and the hard drives between 25 and 35 degrees C.
The most inefficient item in the system is the power supply. It's a standard ATX power supply, which will at some point be upgraded. I haven’t yet determined how much power the system uses, but it didn’t have a noticeable effect on our power bill, which is always a good sign. You can see from the photo below that I could have used a smaller case instead of the one I had lying around.
The biggest limitation with this system is its upgradeability, due to having only one PCI slot, one mini PCIe x1 slot and two SATA ports. However, using a mini PCIe sata card (such as StarTech's 2 port mini PCIe SATA II controller, you can get another two SATA ports, and leave the PCI slot for a network card. Or you could add more Gigabit Ethernet ports using something like the Commell MPX-574D2.
If I were to do this again, I would use a better-featured motherboard (with dual Ethernet, and 4+ SATA ports), but still go down the dual core Atom route. A motherboard such as Jetway's JNF99 or NC9C-550-LF would have provided a lot more options for upgrading.
One important thing to note about Atom motherboards, is that you want to get one with the Intel NM10 chipset, which is a lot more power efficient than the earlier Intel 945 chipset.
Software wise, the server is running Debian stable, with no GUI and Webmin installed only for the purposes of setting it up. Very little customization has been done at this point, apart from backup cron scripts and a bit of tweaking to NFS and Samba configs.
The server is currently not doing any routing and will most likely stay that way for the foreseeable future. As noted earlier, it is running Samba for file sharing to Windows machines, and NFS for sharing to Linux machines, and I haven't seen a performance hit running both. For music playback, I use MPD, and have clients for it on my desktop, laptop, and phone.
If you need a low power server, putting together your own Atom-based system can be very affordable and has enough power for most needs. But to get the most out of it, I would recommend using a Linux-based operating system that is designed for server use.
A DIY server can involve more research to begin with. But when done right, will leave you with a stable, very capable machine. If you want more from your server than simple file sharing and light weight serving duties, it might be worth looking at something with a bit more power. But for most people, a dual core Atom server will be more than adequate.