Back in late 2009 the decision makers in my group at work read the freely released plans for the BackBlaze Storage Pod. Less than $8000 could get you 67TB of raw storage (45 1.5TB disks). As noted in the blog post, this price point is far, far less than the average enterprise product of similar capacity. The part list needed to make one of these machines was laid out entirely, down to the nylon motherboard stand-offs. The authors of the blog post stressed that they had done lots of experimentation and that the given list of components worked really well together.
The aforementioned decision makers I work under decided we needed one of these pods, but that we could afford more than $8000. Instead of the tested and recommended 1.5TB drives, we’d order some 2TB ones, but we’ll get the ‘Green’ models because they’ll generate less heat (even though the original design handled the head of non-green drives just fine) plus we’ll get all that extra storage! It also sounded like the kind of project that should be given to a student because staff member time was far too valuable for such a project, a project with the goal of being (sort of) cheap. The ordering of parts started in November, 2009.
Fast forward 9 months. We still don’t have a working storage Pod. The plan was to build two Pods. One for run of the mill storage and one for… testing? Or science, or something. In fact I think the second one was going to be used in a high-performance storage project, which is an inappropriate use for the design, as performance isn’t even a real consideration.
Initially the top two most expensive staff members spent a day assembling one of the pods when the hardware first arrived. Half way through the day 2 other staff members joined in when the first hurdle was encounter: The thing wouldn’t even POST. A top of the line ASUS mother board was ordered, one of the SuperComputer models. A really great board for a lot of reasons, but the student that had been given this project ordered incompatible RAM. The plan was to max out the machine with 32GB, but it only supports 24GB via 4GB sticks and everything we’d bought was 6GB.
Fast forward to a working computer with five 20-count cases of Seagate Barracuda LP 2TB drives unpacked and ready to go. The original BackBlaze design calls for software RAID, which we were going to stick with. Personally, I find that Linux software RAID is somewhere between witchcraft and back-ally dice games. The disks we picked out didn’t help with this perception. About the time we’d get a RAID set up configured just the way we liked it, drives would begin to disappear. At first we thought it was the weird expander boards that make this project possible. Then we suspected the cables, then the SATA cards, then the power to the expander boards, then the disappearing drives them selves. After all, with 100 of anything one or two of them are going to be bad, right?
Fast forward even further, a hardware RAID card has been ordered for evaluation and a new server enclosure is on order. There’s a new problem, our fancy hardware RAID controller doesn’t even detect the Green drives. After much Googling I find a suggestion of adding a jumper to the drive to force it in to 1.5Gbps mode. This actually works and the fancy RAID controller sees the drives, now where do I find 89 other jumpers? After scrounging up a dozen or so, we start to conduct some tests. An 8 drive RAID5 should be a good place to start. Within a minuet of defining the array and watching it start to initialize the (un)expected happens: a drive disappears. Just gone, without warning or explanation. The RAID card is beeping, quite loudly, over this.
The drives suck, apparently. More googling brings me to the support forums. Plenty of people had a similar idea to our own: use cheap, huge drives in a RAID. Most weren’t at the scale we were wanting to operate at, but even in a 4 drive configuration people were having troubles. It turns out the drives really hate vibration and Seagate doesn’t recommend using more than 2 of these disks at any one time. There is however a new firmware, and a CD that can be burned and booted from to update the drives.
I burn the CD and boot from it. One problem: the firmware flashing software can’t see the drives through the fancy RAID controller. No problem, I’ll just use some of the originally specified controllers. Problem, the original controllers are sort of but not entirely compatible with the software used to update the drives. The motherboard itself has SATA connectors but they’re inaccessible due to fan placement and I had no desire in fully dismantling the machine to get at them.
A desktop with a sole SATA connector was found and the firmware updater worked! It took over a minuet to boot from the CD and flash the firmware. 1 down, 104 (before we ordered the full 100 we got 5 to evaluate) to go. I flashed a dozen more and then went and built a test RAID6 setup with the fancy new RAID card. I hammered the volume with a bunch of tests and none of them failed. I’m letting it initialize all weekend but we’ve already set uptime records without having a drive disappear at this point. With such promising results I went looking for a computer with more SATA ports, eventually finding one with 4. I became a well oiiled machine for the next few hours and in total I flashed 103 of the 105 green disks we’ve bought on this endeavor. 1 of the 103 had already suffered a click-of-death death and the two I didn’t flash were in use elsewhere or hard to get to. I’m actually fairly confident now that we’ll get a storage pod working come Monday. But this sorta brings me back to the original blog post. 67TB for $8000 compared to enterprise hardware at hundreds of percent more in cost for the same price. Even if we were building our pods at twice that in parts alone, what’s been spent in people-time has far out weighed any benefit for going this route. Then again, last year I spent the better part of a day with another staff member and a field tech trying to get one of these expensive arrays to work, and they had worked on it for the week prior to that. But maybe even that is a small price to pay though compared to this project. Perhaps also, we should have just stuck with the precise formula BackBlaze developed, and maybe we could have had working storage within a week of getting the parts, instead of a better part of a year later.