Getting the SMDC working on Sun X2100 servers with Windows tools

Or How I Learned to Stop Worrying and Love the LOM 

I've been working hard lately on Black Marble's infrastructure. To support the various software technologies we run and would like to run there are now three shiny Sun X2100 servers sitting in our rack. Sun hardware is great - it's robust, reliable and well built. It's also quick! I've used the 64-bit V20 and V40 servers in the past and one of the things I liked a great deal was the LOM functionality they had. I could SSH to a dedicated subsystem and probe the servers for information on their status, temperature, faults etc. I could also power-cyle them - really handy when a server has hung and it's a ten minute walk between buildings in the rain!

So, back to our three servers. The Sun web site tells me that there are two options for LOM - an IPMI 1.5 compliant version and an IPMI 2 compliant version. Taking the lid off the box, I can see a natty daughterboard mounted atop the DVD drive. It's labelled up as being a management board - great! Question is, how do I configure and query it?

If, like me, you looked in the paper manuals and found nothing, then looked on the 'supplemental' cdrom and found nothing then this post is for you. Here's how I got the SMDC daughterboard working, and managed to probe it from my workstation running Vista.

Problem Number 1: Documentation

As it turns out, this is actually the easy bit. Sun's website has reams of documentation on their products available for download. The X2100 documentation spans four guides and a set of release notes. The one you want is the Sun Fire X2100 Server User Guide (pdf), or go to the online version - you need to read Appendix C.

Problem Number 2: Configure the SMDC card

Aha! The supplemental CDROM is bootable - I never thought to try that. Nothing written on it tells me it's bootable and all it holds are drivers so why would I boot from it? If you do start your server with the CDROM in you'll find it boots a DOS environment with hardware diagnostics. You can also exit to a prompt which will allow you to flash the system BIOS, and if you delve deep enough, you'll find the SMDC configuration utility - enigmatically monikered util.exe.

The SMDC card uses the second network interface on the X2100. Connect it to your LAN and run through the configuration pages to give the SMDC an IP address, subnet mask and gateway. You'll also want to set passwords on the four accounts that can be used to access the SMDC.

Problem Number 3: Talking to the LOM

The V20 and V40 servers were great - you used SSH to connect to the embedded linux system and used IPMItool to query the LOM. The X2100 doesn't do that. You have to use IPMItool to query the SMDC directly across the LAN. That would be great, if there was a version of IPMItool for MS Windows. There _is_ a DOS utility on the Sun CD. If anybody can tell me how it works I'd be grateful - Sun support were as in the dark as I was - but IPMItool it isn't.

I search high and low for a windows IPMItool. The devs have since offered to compile a version for me, but nobody has found the time yet. It matters less now, because I found ipmiutil on Sourceforge. They come in a 32-bit Windows version and allow me to query the SMDC over the network. They're not perfect - I can only query a subset of the available information, but they give me enough for now. I can query the sensors to see fan speeds and temperatures and I can power the system on and off, and reset it. That last part matters less now that I'm ten feet from the servers, not ten minutes, but what the heck!

A note - I query the SMDC using the Admin account. In order for that to work you need to specify the -V switch on the utility you are running and set the admin level to 4. If you don't do this, it won't work.

For example, to get the sensor readings for a server, connecting as admin, you would run:

sensor.exe -N _x.x.x.x_ -U Admin -P _password_ -V 4

And the SMDC will sing you a song about fan speeds and core temps.

Where next?

My next step is to investigate how I get the SMDC card to send alerts and events to a management system. More reading and experimentation is needed for that, and I'll write another post if and when I make some progress.

In the meantime, if anyone has a Windows 32-bit version of IPMItool that they could point me to I'd be grateful. Building a Linux or Solaris VM just for IPMItool does seem a little bit like overkill!