Home server build, part one – specifications
So between my laptop and herself’s, we have a fair amount of valuable (to us) data – MSc essays and coursework, book manuscripts, half a gigabyte of open source projects, Phd programming work, wedding photos and video, and about 19 gigabytes of other photos and video, eight gigabytes of target shooting documents and images, half a gigabyte of academic papers… well, you get the idea. So when my laptop hard drive started to hiccup and its SMART report started complaining of bad blocks and imminent failure within 24 hours… well, it prompted some concern 🙂 Most of the important data was backed up on my server (which is not just off-site, but out of the country) using rsnapshot, but there’s nothing like an incipient disaster to make you review your disaster recovery protocols 😀
Besides, I had been planning for some time to offload the bulk data storage (video files and so forth) to a NAS, and while buying an off-the-shelf NAS box is certainly an option:
- building your own can give you more capability for less outlay;
- building your own allows you more functionality than just NAS storage – in this case, I had a few other tasks in mind for this box;
- building your own is something every sysadmin should do for CPD if nothing else. 🙂
So, what’s the specification? The list of tasks is fairly straightforward to start with:
- NAS storage
- Central print server (and scanner at some point)
- Backups of both laptops and off-site storage of those backups
- Central downloading server for bittorrents and so on
- Media server
None of these need much in the way of CPU oomph, though we would need multiple cores as the storage will be some form of software RAID array (and having multiple cores would give more performance than a faster single-core, at least for a given amount of outlay). Not a huge amount of RAM is needed either. But we do need a number of disk interfaces, gigabyte ethernet (and the central router for the network has since been upgraded from the standard ISP’s Zyxel to a gigabyte ethernet Netgear router), and if this is all on the motherboard, so much the better.
And obviously, outlay’s an issue as well. Buying an off-the-shelf NAS box (a Synology DS411+) and stocking it with disks (4x Hitachi 2Tb Deskstar drives) would cost approximately €960 (priced on scan.co.uk) so the goal was to get in below that threshold.
First off, the CPU. I’m going with the AMD Athlon II X4 645. It’s a quad core processor but quite cheap. It’s a socket AM3 processor, which leads us to the selection of the motherboard, and I’ve chosen a Gigabyte GA-880GA-UD3H, which is the cheapest Gigabyte AM3 board which had six SATA ports and Gigabyte ethernet ports. Add in a fairly cheap 4Gb of RAM (and pause to remember the time back in ’97 just after graduation when we watched with some degree of awe when the TCD sysadmins showed off a whole gigabyte of RAM, which cost about three months disposable income…) and a fairly standard Artic Cooling Freezer 7 for the CPU and that’s the guts of the thing.
Now for storage. The idea here is a degree of future-proofing, and a lot of I-never-want-to-lose-any-data-or-have-much-downtime 😀 So, the OS is going on two 320Gb Seagate Barracuda hard drives in a RAID 1 array. The main data storage will go on four 2TB Hitachi CoolSpin 5K3000 drives, which were chosen after this particularly excellent article from Backblaze about their 135Tb storage pods. And to try to keep stable power lines, an 850W Coolermaster modular PSU. And since this rig will have to last for a while and I hate slicing my hands open on cheap cases, a Lian Li PC-8NB case to mount all of this in, together with an Icy Box IB554SK SATA RAID frame because when the hard drives fail (and all drives will), I don’t want to have to disassemble the entire box to fix the problem (though, yes, if the OS drives I might have to, but you could always add another Icy Box or similar frame – I was watching the outlay myself). And then just to top it off, a DVD RW drive to make installation a bit easier.
[stextbox id=”info”]For those who’ve been asking on Hacker News, yes, the PSU here is over-specified. That’s a deliberate choice, because I’d rather come nowhere near the limits (or even the 50% mark if possible) of the PSU for two reasons – stability of voltage lines and cooling. And yes, the CPU could be an Atom, but I’ve chosen instead to go with something a bit more conventional and old and unfashionable and debugged because this is an infrastructure box and I’m willing to pay a few euros more upfront to avoid spending a week of my time trying to fix it in a years time, or having to buy more new hardware because it turned out we needed it to do something more than it can do right now and an Atom couldn’t cut it. And yes, 320Gb hard drives. Actually, I changed my mind and went with the 500Gb ones after writing this post; they turned out to be 6 pence cheaper than the 320GB model, which I had thought was the cheapest available hard drive not made by McFlakey Inc. They’re not an example of overspecification, they’re an example of consumer electronics pricing…[/stextbox]
So the full list:
So that’s under the target price, so the order went in on Scan this weekend and is due for delivery in a day or so…
(continued in part two)
That’s the same mobo and CPU I use in my desktop PC
I built my server for less than £250! brief specs – 4GB Ram, 1TB HD, AMD AM3 chip+motherboard+case+silent power supply 450W+ some extra fans. You spend too much for sure!
You don’t need a dvd drive in a server – only for installing the OS from a disc.
1Tb HDD in a server? Why bother? I can spend €200 and have an external 1Tb drive (In fact, I have, it’s sitting here on the table). And then, when (not if) it fails, you’re back to square one.
The point of this box was to be more than that. 4x2Tb drives in a RAID 10 array won’t give you 8Tb of raw storage, only half that – but when one of the drives goes, you don’t lose the server immediately, and as it’s running its own backups over the net (which takes longer than to a tape drive, so it’s handier to stage the backups on this server rather than doing them directly), you get the data security and don’t have to lose your work box for very long on the backups.
What OS are you going for?
my suggestion would be Solaris 11, and ZFS to handle the hard drives…
Interesting idea, but I’m going for a vanilla Debian install because it’s what I’m most familiar with, and ext4 running on top of the RAID array.
What sort of network performance are you looking for? That motherboard has a realtek ethernet chipset on it, which are notoriously bad for network performance, plus they use the CPU for almost everything. If you ever plan on streaming video from your server, I strongly suggest either a different board, or purchase an Intel gigabit ethernet card, preferably PCIe.