Friday, May 22, 2015

Enabling / Configuring iDRAC from within ESX

I had an issue the other day - I needed to configure the iDRAC on several Dell servers that were running ESXi, but I couldn't reboot the systems to get into the BIOS. There are plenty of tools and documents on how to configure the iDRAC on a server running Windows, or even Linux, but ESXi is somewhat of an outlier.

After lots of googling, I finally came across http://blog.rchapman.org/post/17480234232/configuring-bmc-drac-from-esxi-or-linux by Ryan Chapman. Here, he shows how to use a tool, IPMITOOL, to configure the iDRAC. My steps were a little different than his, so I decided to document it here in case anyone needs it in the future.
BTW - This process requires a Linux machine to compile the tool. I am using Ubuntu 14.04 - Trusty Tahr


First - Install the necessary build components
This installs not only the build tools, but the multilib package allows a system (64bit in my case) create packages for other platforms (32 bit)
sudo apt-get install build-essential gcc-multilib


Second - Download the tool source
There are newer versions of this tool available, but this is the version that Ryan used, so I followed suit
wget http://softlayer-dal.dl.sourceforge.net/project/ipmitool/ipmitool/1.8.11/ipmitool-1.8.11.tar.gz
tar zxvf ipmitool-1.8.11.tar.gz
cd ipmitool-1.8.11/


Third - Prepare the code/compiler
./configure CFLAGS=-m32 LDFLAGS=-static

Fourth - Compile
make all

Assuming everything completed without error, there should now be a file src/ipmitool. We need to copy this to our ESXi host to execute.
First - You need to enable the SSH service and firewall ports on the ESXi host

Second - Copy the file
scp src/ipmitool root@10.23.0.101:/scratch/

Third - SSH to the ESXi host
ssh root@10.23.0.101

Fourth - Configure the iDRAC
This was different for me than from the example. When I tried to execute ./ipmitool shell, I received an error. Instead, I found that I could configure each option from the command line.
root@C2100:~ # cd /scratch/
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool shell
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 ipaddr 10.1.1.151
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 netmask 255.255.255.0
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 defgw ipaddr 10.1.1.1
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 auth ADMIN MD5,PASSWORD
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp respond on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp generate on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp interval 5
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 access on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user set name 2 root
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user set password 2 BuggyP@ssw0rd
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool channel setaccess 1 2 callin=on link=on privilege=4
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user enable 2
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan print 1
Set in Progress         : Set Complete
Auth Type Support       : NONE MD2 MD5 PASSWORD
Auth Type Enable        : Callback : MD2 MD5
                        : User     : MD2 MD5
                        : Operator : MD2 MD5
                        : Admin    : MD5 PASSWORD
                        : OEM      :
IP Address Source       : Static Address
IP Address              : 10.1.1.151
Subnet Mask             : 255.255.255.0
MAC Address             : 00:22:19:27:53:10
SNMP Community String   : public
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
Default Gateway IP      : 0.0.0.0
Default Gateway MAC     : 00:00:00:00:00:00
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Cipher Suite Priv Max   : aaaaaaaaaaaaaaa
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM




No comments: