[PC Hardware for Linux Developers] OfficerJimLahey:
Hi all,

Late last year I came into possession (dumpster dive find) of an HP ProLiant rackmount server. It started out with lackluster specs (single Xeon E5205, 2GB RAM, no storage, dead SmartArray/RAID battery), that I eventually upgraded the internals:

Dual Xeon X5270 (did not determine if the particular board supports quad-core/socket CPU's, played it safe with best-available dual-core CPU's instead)

32 GB fully-buffered DDR2 RAM (was my first upgrade via a subsequent dumpster dive)

250GB Mushkin SATA SSD

320GB Seagate 2.5" SATA HDD

Replacement SmartArray battery

With that I could complete an Oreo 8.0 build from clean in 55 minutes - my 3rd-gen i5 PC would do so in 40 - in spite of the Xeons calculating prime numbers faster then my i5, the server has twice the age in terms of I/O.

What I determined to be a significant barrier is the SATA-1 bus (that's right, the 1.5Gbps variety). SATA-1 has a theoretical maximum throughput of 187 MBps, but in real world, my SSD was still falling 50 MBps short in tests (and is not much faster than the HDD in this scenario for that matter):

joel@terminatrix ~> sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 15532 MB in 1.99 seconds = 7788.53 MB/sec
Timing buffered disk reads: 412 MB in 3.01 seconds = 137.06 MB/sec
joel@terminatrix ~> sudo hdparm -tT /dev/sdb

/dev/sdb:
Timing cached reads: 16086 MB in 1.99 seconds = 8066.75 MB/sec
Timing buffered disk reads: 322 MB in 3.00 seconds = 107.30 MB/sec
joel@terminatrix ~>

The SmartArray, however has and encourages SAS-1 (3 Gbps/375 MBps theoretical throughput). Since I decided I will be keeping the rack-mount for the long haul, I invested in a few SAS drives (4x 300GB, 10K RPM).

Question time.

While the SAS disks deliver, I wonder what RAID configuration would make the most sense. I was thinking RAID 10 all four (effectively oversaturating the SmartArray E200 at up to 440MBps unless there are two channels to split the load) for 600GB, or to RAID 5 three of the drives for 150-to-220 MBps throughput and have a spare - also making 600GB.

Then it was suggested to me to RAID 5 all four (if a drive fails, just means slower performance while running in that state and will be fine as long as a second does not fail - if I use the server at all in the meantime) for 225-to-330 MBps throughput and 900GB space.

Since the arrays' purpose is to provide a place for source code (lots of reads, including random ones, few writes during system load) as I will still use the SSD for ccache and out (a bit more about that later), which scheme would make the most sense? I am inclined to do the RAID 5 with all four drives now, even though I may need to do so with software (ZFS-on-Linux) since the E200 model can have the RAID 5 option turned off based on the cache size available (I should be fine though, luckily) or want to because the server is a WOL/on-demand machine so the cache battery protection is often drained/recharging for the first 50 minutes of boot anyway (I suppose the way around that for 90% of cases is to change the BIOS setting to power back on if power lost while operational if not already).

225-to-330 MBps throughput may be a reasonable enough improvement or hard to improve upon in the situation anyway, unless there is other important information in play. What do you think?

And if I ever get a hold of a spare SSD, I plan for a PCIe X4 SATA-3 riser to hook it up with. I would have got one by now, but it is doubtful they are bootable with this machine. All this and you may be wondering, why prop up a 10+ year old server? At the moment I have quotes prepared to replace my i5, and the current cost to do it the way I want is quite a bit more (ten-fold at least) than the $120 here, $50 there that I am doing with the server.

Many thanks.