2009 OCAU Server Upgrade
Sun Fire X4150 Info
Remember I said I bought a "more powerful test server" from someone in the forums? That machine is now called "sun" and takes over from our previous server "beer". As mentioned earlier, this role has expanded over the last couple of generations of our servers and now includes not only the main site's webserver load, but also some database load and forum webserver load. Also, as per our stated requirements on the previous page, each of our two new servers should be able to handle the entire website including the forums, by itself. So there isn't really the clear "web server" and "database server" distinction any more in this generation of our hosting. But more on the final setup later. For now, why is this first server called "sun"? Well, because it's made by Sun Microsystems - it's one of their Sun Fire X4150 1RU servers:
In case you're not familiar with this thin "pizza-box" form factor, this is a standard 1RU or "1 Rack Unit" case, designed to be used in datacentre racks. Racks are generally 48 RU high, with 1 RU being 1.75 inches in height and usually 19 inches wide. The depth varies depending on the type of equipment and rack being used. Remember that datacentres charge by, among other things, how much rack space you take up. So a 1RU case, while more expensive up front, will save you money off your monthly hosting bill.
Anyway, as I mentioned, I bought this server secondhand on OCAU's forums. This continues a long tradition of me cobbling together servers from my desktop machine, or bits bought in the forums or on eBay. OCAU's first dedicated server, Odin, was thrown together from my dual Celeron (ABIT BP6 represent!) desktop machine when we needed to relocate in a hurry. However, this Sun machine came mostly complete - power supplies and motherboard etc are all provided with the chassis of course, and this one has two quad-core CPUs and 32GB of RAM, but no hard drives, raid controller or optical drive. Even without any storage it's a perfect starting point for us, but of course a few extra goodies will be needed. The CPUs are Intel Xeon L5335, which are basically Core 2 Quad (65nm) CPUs at 2GHz with 8MB of cache. In terms of single tasks these are not particularly fast CPUs - but when you factor in the 8 cores, there's a lot of multi-user CPU grunt available. We'll be running gzip compression on all content before sending it out, so we do need a bit more power than before. We know from experience that the dual single-core 3GHz Xeon machine "beer" did not cope with the gzip compression load, but "sun" obviously blows that machine out of the water.
If we open the fan bay door then slide the top cover off you can see the general internal layout of the machine:
From left to right you can see the PCI-E slots and long thin redundant PSUs, the fully-populated memory slots (16 sticks of 2GB each), the bright copper heatsinks for the CPUs and the two rows of fan modules (yes, that missing one is meant to be missing!). To the right of that is the drive cage and you can see the stock thin blue cabling which connects the 8 drive bays to the onboard SATA controller.
The PSUs are dual redundant hot-swappable 658W units. The fan modules are quite neat, also hot-swappable and easily popped in and out via the fan bay door without removing the main cover of the machine. Behind the CPU heatsinks you can see a clear plastic shroud which seems to deflect air towards the RAM banks. Indeed during testing it seems the RAM is the hottest part of this machine.
Finally you can see the onboard SATA connectors for the drive cages and the risers for the three PCI-E slots. An interesting feature is the inclusion of an internal USB header, presumably for devices that use USB for diagnostics or authentication dongles etc, but also a very handy way to add some non-critical backup space via a large USB flash memory stick. Even if the entire storage subsystem of the machine fails, you can get to the data on the USB stick by putting it into another machine.
Onto the storage side of things. We know from experience that RAID10 is the way to go for heavy database load. Historically we haven't been able to run a separate RAID10 array just for the databases because you need at least four drives for such an array. Ideally you keep the operating system and logfiles etc on a separate array. Well, as mentioned earlier this machine actually has eight drive bays, which gives us a lot of flexibility. Out of the box the X4150 only supports SATA drives, and the drive bays are all 2.5" instead of the more common desktop SATA size of 3.5". Enterprise-class hardware has for a while now been moving to 2.5" SAS drives which may look superficially like notebook drives but are much better performing. One particularly irritating quirk is that it seems if you don't buy the machine direct from Sun with hard drives installed, then you don't get hard drive caddies. You get useless drive bay fillers or blanks:
L: blank drive filler - R: Sun drive caddy
Naturally if you want to buy caddies from Sun, they only come with hard drives. With the previous servers I've built for OCAU, and others I've played around with, when you buy the server, you get a full set of empty caddies so you can fill the machine with drives later in its life or according to your own standards. A good example is that we don't need much storage space for the databases, but we do need it to be as fast as possible. So four small 15k-rpm SAS drives in RAID10 is the obvious choice. The smallest Sun offered was 73GB, and they were not priced suitably for our budget. When I was setting up the machine SSD's weren't even an option from Sun, although they are now, but again you would have been restricted in what you could get if you stuck with new components from Sun. I know, they'll say it's for warranty and compatability reasons, but really, when you're building a server on a budget, it sucks to be forced to buy much higher spec and higher cost components than you need. Warranty is not really my concern given this machine is a mish-mash of largely secondhand parts anyway. Having said all that, the new Dell machine has annoying blank non-caddies too, so I can't really single out Sun here.
Anyway, I bought 8 drive caddies and a bunch of drives on ebay and OCAU. Even though the caddies were fairly ludicrously priced for what they are (not even metal sides!) there's some very cheap 36GB Seagate Savvio 15k.1 drives to be had which makes it worthwhile overall. Four by 36GB in RAID10 gives us 72GB of very fast storage, and much more space than we need given OCAU's databases total about 10GB. I actually bought 9 of those 36GB Savvios over time and from different sources, trying to get some different batches for reliability reasons, but they all ended up being the same batch. I guess someone out there had a shipping container full of them they were offloading through various channels. Oh well - we have 8 in use and 1 cold spare, so we should be OK.
The second server is a Dell which I bought with four 73GB 15k SAS drives included - Dell branded but obviously rebadged Seagate Savvio 15k.2 drives, the only difference from our other drives being the capacity. After pondering the total number of drives I had available and the best layout for our needs, I moved two of the Dell's drives over into the Sun to hold the O/S, applications and logs etc. So both machines have a system volume consisting of 2x 73GB 15k SAS drives in RAID1 (mirrored), and a database volume consisting of 4x 36GB 15k SAS drives in RAID10 (striped mirrors). I had another two older 72GB 10k drives lying around from earlier testing so they went into the extra two bays on the Sun box as another RAID1 array. It's always useful having a bit of extra storage space for backups etc and this way they won't impact the performance of the main arrays.
Drives are one thing, but you need a RAID controller card to connect them to - not the least because the Sun Fire X4150 does not support SAS drives (even in non-RAID) out of the box. I've been very happy with Adaptec cards in the past, having used them on all previous generations of our servers, and a quick look at the Sun StorageTek adapter recommended for this machine reveals it looking suspiciously like a rebadged previous version of Adaptec's 5805. That card fits the bill nicely, supporting 8 internal drives via two 8087 SAS connectors.
It's quite an impressive bit of kit actually, with a dual-core processor and 512MB of cache RAM onboard. I remember when my entire PC wasn't that powerful! Connecting the Sun's drive cages to the Adaptec are some hefty SAS 8087 to 8087 cables. There's a story involving dodgy and possibly fake cables which I will reserve for another time given this article is already brain-meltingly long, but suffice to say once I had it all up and running I threw eight of the 15k 36GB drives into a very silly RAID0 array just to see what kind of numbers the machine would spit out:
Which is fairly impressive, although a RAID0 array of eight drives is incredibly impractical and a certain recipe for data loss - if one drive dies, you've lost the lot. By the way, if you have an Adaptec 5805, it's definitely worth upgrading the firmware - I found it made quite a difference to performance.
All original content copyright James Rolfe.
All rights reserved. No reproduction allowed without written permission.
Interested in advertising on OCAU? Contact us for info.