How do setup IPMI via bios on a new server

Ansible Configuration

When you first boot the server, IPMI has to be enabled and assigned an IP address.

We use a non-routable IP address so the only way to connect to IPMI is via a machine in the colo itself.

To pick an IP for the new server, grep the host_vars directory in our inventory for ipmi_address to see the currently assigned address and pick the next incrementally from the output.

Create a console stanza in the new server’s host_vars yaml file and push to the console server so a server-console user is created.

Bios Setup

Below are the screen shots of the bios and their settings. Be sure to use the IP address you picked in the step above. not the one in the screen shot below.

If there are two ports, only enable the SOL one. If there are two ports, only enable the SOL one.

IPMI Configuration

Now, you can access the IPMI web configuration. But, you have to access it from a non-routable IP address in the cabinet.

Our console server is setup to provide that access. You can use ssh and port forwarding to set that up: ssh CONSOLE-SERVER -L 8443:IPMI-IP-ADDRESS:443.

For example, if you server’s name is jose, and the IP is 192.168.56.12, then you would run on your own laptop:

ssh jose-console@console.mayfirst.org -L 8443:192.168.56.12:443

Then, you would enter on your laptop’s browser: https://localhost:8443

You will have to click through the security exceptions.

The default user pass is: ADMIN/ADMIN - case sensitive! Or, on newer computers, it has a unique password that is printed on a sticker or service tag on the side of the machine.

Here are some important changes:

  • Configuration -> Users
  • Change password for ADMIN user. NOTE make password 16 characters or less and keep out weird characters. It is possible to lock yourself out with this step.
  • Configuration -> Port
  • Only check off Web port (80), Web port (443), Virtual Machine port (623) and Ikvm server port (5900)

Now, you can access the “monitor” by clicking Remove Control -> iKVM/HTML5

Accessing via serial over lan (sol)

If you configure everything via ansible, a shell script called sol will be created which you can execute to access the server. The script should have something along these lines in it:

ipmiutil sol -V 4 -a -N 192.168.56.3 -U ADMIN -Y

Grub

ansible should properly handle grub setup on the new physical host, but… this is what should be there.

After installing linux, edit /etc/default/grub and change GRUB_CMDLINE_LINUX to:

GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,115200n8"

NOTE! This is different from the norm - we want ttyS1 not ttyS0 like we typically put in there.

And add:

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit0 --word=8 --parity=no --stop=1"