How to do SOL (Serial Over LAN aka Console Redirection) on Dell Servers
Attention Dell Poweredge 1955 blade administrators! (or any other 9th generation server with a BMC). Learn out how to perform console redirection using a BMC controller with the IPMI 2.0 protocol. This life lesson will allow you to remotely view your text-based console from anywhere allowing you to install an OS, run utilities, or perform any other task (as long as it doesn't require a GUI), not to mention eliminating trips to the datacenter.
Many people love the features of DRACs (Dell Remote Access Controllers). Probably the most popular is the ability to do an out of band remote console from any location. Many Dell servers do not have a DRAC console redirection however, and have only IPMI (always the case for Dell PowerEdge 1955 Blades). Luckily, in Dell's new 9th generation servers, IPMI 2.0 is supported, which also support the ability to route a text-based console anywhere.
Unfortunately, there aren't many simple utilities available for Windows users to do SOL on a box without an OS. Ipmiutil -- which Deployment Solution for Dell Server's uses -- has utilities to control a BMC and send it commands, but not to do console redirection. Ipmitool has been able to do this for some time, but unfortunately this is only for Unix-like operating systems. The answer? Cygwin. Using Cygwin, we can compile ipmitool to the Windows platform and use its SOL capabilities. I'll show you how.
Note: Cygwin is a Linux-like environment for Windows. It doesn't allow you to run linux programs, but it gives you the tools (gcc, make, etc) and allows you to build Linux programs from source as if they were Windows executables. The catch is that the executables will depend on a few DLLs. If you don't want to compile from source, I have included the binaries and necessary DLLs in this zip file.
If you want to compile (perhaps to get the latest version), follow these instructions. Otherwise, skip forward to Step 4.
Step 1: Install Cygwin
This setup program allows you to select which packages you need, downloads them, and then installs them automatically. Select the development packages (gcc, make etc), and install them. This will probably take a long time if you have a slow Internet connection. When you are done, a Cygwin icon should be on your desktop.
Note: If you are uncomfortable installing software on your system just to compile this program, you may install it in an SVS layer. This will allow you to remove this program leaving no traces of its existence. SVS is free for personal use, go to www.download.com to get it.
Step 2: Download and Extract Source
Go to ipmitool's website (http://ipmitool.sourceforge.net/) and download ipmitool-1.8.8.tar.gz (the source).
Place this file in your C:\ directory and open Cygwin. The reason you should put it here and not on the desktop, is I have noticed the build process doesn't work well when there are spaces anywhere in the path to the files. If you put it on your desktop, it will end up in C:\Documents and Settings\....
Navigate to the C:\ directory:
and then extract the source
tar -xzf ipmitool-1.8.8.tar.gz
This will uncompress the source into your C:\ipmitool-1.8.8 folder. Now navigate to that directory.
Now we need to run "configure", this looks at your environment and adjusts the build parameters accordingly.
You'll see a lot of text go by. As long as you don't see any errors you should be fine.
Note: If you do see errors, chances are you are missing packages from your cygwin installation and need to add more.
Now we need to compile. So run "make".
Again, if everything is installed correctly, you should see a lot of text go by, but no errors. Once it compilation has completed, go into the "src" directory and you should find a file called "ipmitool.exe". If not, something went wrong with the build process. Scroll up in your text window and try to find any errors that you may have missed.
You can now exit cygwin.
Step 3: Gather the Executable and DLLs
Cygwin executables need a few DLLs in order to run correctly. Since I am assuming you are going to be using ipmitool just for its SOL capabilities, we won't be installing it, but merely using the ipmitool.exe executable. Start by creating a folder on your desktop called "ipmitool"
Navigate to "C:\ipmitool-1.8.8\src" and copy "ipmitool.exe" into that folder on your desktop. Now go into "C:\cygwin\bin" and copy out "cygwin1.dll" and "cygcrypto-0.9.8.dll" to your ipmitool directory on your desktop. You now have all the files you need to do SOL.
Note: If you'd like you can now uninstall cygwin from your system or delete the SVS layer you installed it into.
Step 4: Setting up SOL (Serial Over LAN) on the Client (PowerEdge Server)
Since you now have the SOL utility, we just need to enable SOL on the client (the server you intend to work with). I will be using a Dell PowerEdge 1955 Blade server in this example, but your settings and screen should be similar. Remember to make sure that your Base management controller has IPMI 2.0 functionality (most 9th generation servers).
First, make sure that "IPMI Over LAN" is enabled. To do this boot the machine, and then press Ctrl+E to go into the Remote Access Configuration Utility.
Once that has been enabled, we need to enable console redirection. To do that boot the machine and go into the BIOS (press F2)
Go to Serial Communication.
And then modify the field labeled "Serial Communication" to be "On with Console Redirection via COM2". This will pipe all the console traffic to COM2, which is connected to the BMC. The baud rate may be set to whatever you'd like. I use "115200" myself). Also, make sure that "Remote Terminal Type" is set to "VT100/VT220", and that "Redirection After Boot" is "Enabled".
Note: Instead of using "VT100/VT220" as your terminal type, you may select "ANSI", the output will not be as pretty though, since ANSI doesn't support some of the characters represented in the console.
Once your settings are configured press "Enter", then "Escape". Save the changes to the BIOS and Reboot.
Step 4: Using ipmitool.exe to Connect to the Base Management Controller
Now comes the fun part, actually connection to the Base Management Controller. On the server open a command prompt and navigate to the directory that contains those three files (ipmitool.exe, cygwin1.dll and cygcrypto-0.9.8.dll). Type in the following:
ipmitool.exe -I lanplus -U root -P calvin -H 192.168.2.62 sol activate
Obviously you need to have "root" be your username, "calvin" be your password, and "192.168.2.62" be the address that your Base Management Controller is operating on.
What this will do is open up a console, and you can now see and type just as if you were sitting at the machine. To exit the console type "~."
Note: Sometimes you'll find that when you exit the console, the BMC will still believe that the session is connected, and so when you try to connect again, it will say console redirection is already open. To fix this, type "sol deactivate" instead of "sol activate". This will disconnect the previously connected session and you'll be free to issue your command again (sol activate), and you should be able to connect without any problem.
Note for Linux Users:
As you have probably guessed, you can do a normal compilation in your native Linux environment of the ipmitool and the syntax is the same for opening console redirection. If Linux is your thing, more power to you.
Use with other Utilites:
Deployment Solution for Dell Servers comes with ipmiutil, a set of native utilities that can be used to control the power state of your machine. These utilities can be used concurrently with ipmitool. In your DS console, you may right click your machine and go to Power Control > Dell - Reset. This will reset your machine, and you'll be able to watch it boot through your Serial Over LAN redirected console.
Adding Console Redirection to a Job:
It is possible have a server side script launch a console redirection session directly from DS. This has a few hoops to jump over however, the first being that server side scripts are run from a service that doesn't have permission to interact with the desktop. To fix this, you'll need to stop the "Altiris eXpress Server" service, go into it's properties, and select "Log on as: Local System Account". This will allow you to check the box "Allow service to interact with desktop". Start the service again, and you'll now be able to compose your server side script. Here is a suggestion (assuming you place the ipmitool directory within Dell\atools).
%ALTIRIS_SHARE%\Dell\atools\ipmitool\ipmitool.exe -I lanplus -U root -P calvin -H 192.168.2.62
Simply dragging this job the given machine will open the console. You may also optionally take advantage of the Dell power control table to get the IP address instead of hard coding it in the script. See my other article about embedding IPMI commands in the script for tips on how to do this.
By clicking the download link below, you agree to the terms and conditions in the BSD License
|Support:||User-contributed tools on the Juice are not supported by Altiris Technical Support. If you have questions about a tool, please communicate directly with the author by visiting their profile page and clicking the 'contact' tab.|