Saturday, March 30, 2019

Running a Blade Server Without an Enclosure

I remember when the commercials for IBM Blades aired on TV. I thought the concept was pretty interesting, although at the time I didn't fully understand what was going on. After working with a few HP blades for a while, I get why they're so important. You can put a lot of compute power in a very small amount of space. But in order for many of them to be useful they have to be linked to a midplane in the blade enclosure. Or do they?

My friend is setting up a bunch of HP blades into three HP C7000 enclosures. Some of these blades do not work however. They all have varying degrees of 'not working', for example some of them won't post. Some of them simply didn't have processors. Some of them won't work over the midplane network. Those are the ones I'm interested in, because they have no use in the enclosure. So that begs the question, can these things be run outside of an enclosure?



Here's the one I'm going to be playing with. It's a BL465c Gen 7 blade. It's sporting 32GB of DDR3 ECC RAM and dual Socket G34 processors. It would not connect correctly on the C7000 midplane, making it theoretically useless. But can we start the blade without it and, perhaps more importantly... is it useful out of an enclosure? How much effort will it take?

As always, it's important to have goals with this sort of thing. So let's define what they should be.

  • The blade should post and boot into an operating system whether installed or live.
  • The blade should, in some way, manage its own cooling system.
  • The blade should be powered by a single plug.
  • The blade should be able to connect to the internet.
With these in mind, we can start figuring out how we want to do this.

The first one is a crapshoot, we'll get to it after we solve the next two. The cooling system will be managed by the fan controller I built recently. This is what that was for. It may be a touch glitchy, but if the temperature sensor doesn't report actual numbers, then the controller will turn the fans all the way on. Honestly, the fans could always be on, but that'd be so loud all the time. But, if that's what I have to resort to to make this work, I'm willing to do so.



The single plug idea is easy enough. Server power supplies are incredibly useful and very plentiful in scrap piles. This one also came from my friend. I found a relatively accurate pinout of the power supply so I can turn it on and off with a switch. I found just shorting the relevant pads produced an appropriate voltage.

This power supply will deliver more than enough 12V current, so running the fans and server off of both of them - even at full load - should be okay for this supply to handle. The server can be powered off of straight 12V power, so that's not an issue. I have to use two of these extension cords for the system to work under full load because I've heard that it draws 30A max.

So now that we can power it on, does it work?


Well, it does this, which is exciting. Before it gets anywhere meaningful, it overheats, so let's put the fans on here to make it not do that.

From another blade chassis, we were able to cut an extension to attach to the end of the blade to house the fans. The fitting was pretty decent - two fans on one side of the midplane connector, and one on the other.


I layered the fan control board over the midplane connector (not pictured because some of my soldering is downright embarrassing) and hooked it to 12V. I very obviously need to recalibrate the temperature to fan speed curve because even though the fans respond to temperature changes, they respond very slightly and their baseline is very high and loud.

So now we have two of the four objectives completed. How do we make this thing boot into an operating system? The short answer is to set the maintenance switches on the board in the following configuration. The long answer is that this disables iLO security, enables the configuration lock (which is important for some reason), and some third thing that page 59 of this manual does not specify.


Okay, finally, with that, can we get an operating system to boot and install? Yes, yes we can. I wanted to toy around with it a bit before I put a real server operating system on it, so I decided to install regular ol' consumer Windows 10. Why? I don't know. I actually hated the install process because it took about four hours to complete. I blame the hard drives. But, it finally installed.


This blade had two AMD Opteron 6344s. They're alright processors, but I my friend also gave me some 6276s to try out. This page has the in depth comparison of the two, but in general the gist is that the 6344 is newer with a faster base clock but has a lower core count. So they're fairly evenly matched, but you should prefer the 6276 when you need more threads. To show this (kind of), I ran Cinebench r20 on each of the processors to compare them. The difference isn't as startling as I expected, but the 6276 did perform slightly better.

The 6276 scored 2725 cb.
The 6344 scored 2532 cb.
I did not have the patience to test the single core score, but my guess is that the 6344 would perform better.

Despite the fact that I poured in many loud, obnoxious hours into this Windows 10 install, I want to put a real server operating system on it. I also want to put a USB to Ethernet adapter and snake it out the back where the midplane connector is. There's an internal USB port that it can go to so the only thing "external" is the power supply. Theoretically I can also replace the internal microSD card with another USB port because it uses an AU6336 SD card to USB adapter IC. But my soldering on this project is already messy enough. I think we can do without.

But, with that addition, that's it. We've finished the project. The server currently runs Ubuntu Server 18.04 and has 10/100 base-T networking (it's only USB 2, I'm sorry). Obviously, it's missing a lot of features like expandability (mezzanine to PCIe doesn't exist for this generation as far as I can tell) and fast connectivity (which is generally facilitated across the midplane, but overall, I'm happy with the success of this project. You do not need an enclosure to run a blade server. You just need moving air.


2 comments:

  1. Done similar myself - UBl0g.blogspot.com - not this is not just a spam URL, I've really worked on a Blade myself. Come read

    ReplyDelete