We recently bought two Dell SC1435 servers off eBay. They seemed cheap and quite well specced (dual 4 core CPUs, plenty of RAM for us) – perhaps ideal for redundant mail servers.
Anyway, they’re IPMI 2.0 compliant – meaning they should be controllable remotely (e.g serial console, forceful power cycling etc without the need for some sort of graphical KVM console or DRAC card.).
(A few years later, I bought a Dell t300 from Ebay; the below works for it too)
Here are some notes on setting up/configuring IPMI support and how it can be used – :
- Configure the BIOS correctly – enable IPMI over LAN and Remote Serial Support (com2) (see here for screenshot/settings in detail).
- Configure the BMC [Baseband Management Card – the thing that’s talking IPMI] correctly on bootup (press Ctrl+E) and enter in the IP address and other network settings you want the BMC card to be exposed on (it shares the first ethernet card with Linux). (There’s little point in assigning a username/password at this point – as it doesn’t seem to work – see the ipmitool commands later on).
- Install some sort of Linux (e.g. Debian Wheezy or Jessie)
- Install ipmitool (apt-get install ipmitool)
- Make the BMC card accessible on the local server – to Linux for use by ipmitool – this is only needed if you’re configuring the card; once it’s configured there’s no need to do this.
- depmod -a
- modprobe ipmi_si
- modprobe ipmi_devintf
- (You should now find /dev/ipmi0 exists; see also ‘dmesg‘ output)
- Setup the BMC card using ipmitool – enable user login and specify password etc)
- ipmitool lan print
- show configuration
- ipmitool lan set 1 auth ADMIN MD5,PASSWORD
- ipmitool lan set 1 arp respond on
- ipmitool lan set 1 access on
- ipmitool user list 1
- show users
- ipmitool user set name 2 root
- add (or change) user to have login of ‘root’
- ipmitool user set password 2
- specify password for user with ID 2
- ipmitool lan print
- (Skip this is you’re using Systemd) – Setup the TTY console – so that when you connect the server/Linux gives you a login prompt etc – so edit /etc/inittab adding/specifying :
- T1:23:respawn:/sbin/getty -L ttyS1 57600 vt220
- Run ‘init q‘ to make init reload it’s config.
- Note – the ‘speed’ (57600) and ‘type’ (vt220) need to match the settings you have in the BIOS.
- (Systemd only) – systemctl enable serial-getty@ttyS1.service
- Test it – Try and connect to the serial console (sol) from another computer on the LAN – replace 10.1.1.10 with whatever IP address your BMC card has –
- ipmitool -I lanplus -H 10.1.1.10 -U root sol activate
- If your BIOS<->ttyS1 configuration is not in sync, it’s likely that you’ll see garbage or just lots of question mark (?) symbols here. Make sure the BIOS configuration for serial console is correct.
- Configure Grub (grub 2) so it’s accessible over the ‘sol’ console, so you can fix grub/kernel related issues on bootup – so edit /etc/default/grub and add/edit/specify the following :
- GRUB_CMDLINE_LINUX=”text console=tty1 console=ttyS1,57600n8″
- GRUB_SERIAL_COMMAND=”serial –unit=0 –speed=57600 –word=8 –parity=no –stop=1″
- Run update-grub to regenerate grub; rebooting should now show it behaving as expected (Grub menu displaying, items selectable, and on boot the kernel output appearing over the sol console).
IPMI usage examples :
- ipmitool -I lanplus -H $IPADDRESS -U root sol activate
- Connect to the serial console on the BMC card with address $IPADDRESS over IPMI. You should see all BIOS output if connected during system post/bootup.
- ipmitool -I lanplus -H $IPADDRESS -U root power soft
- Soft powerdown (like pressing the power button and the system gracefully powering down)
- ipmitool -I lanplus -H $IPADDRESS -U root power off
- Force power-off
- ipmitool -I lanplus -H $IPADDRESS -U root power on
- Turn on
- ipmitool -I lanplus -H $IPADDRESS -U root sol activate
- Connect to serial console.
Make sure you’re running the latest firmware on the IPMI card or there’s a well known auth bypass there that will let anybody who can get packets to the machine remotely control it.
Setting up GRUB and BIOS passwords is always a good idea on a machine with remote serial enabled, too
See for example http://en.community.dell.com/support-forums/servers/f/177/t/19518745.aspx
Interesting to know – thank you 🙂