03 Dec 2009 Setting up LOM on an Apple XServe from the command line
Apple’s XServe comes with a Lights Out Management (LOM) capability. For anyone dealing with co-located servers or clusters, this is an essential feature. Remote monitoring, power, and so on are lifesavers when something goes wrong.
Apple provides a GUI for setting up the IP address and authentication information on the LOM. The problem, for me, with using a GUI for something like this is that it’s nearly impossible to script and automate. When I’m setting up a cluster of even a dozen nodes, going through a remote desktop to a GUI becomes intolerable in a hurry.
The command line tool for changing settings on the LOM is a standard one called ‘ipmitool’. While the internal documentation is good, the usage can be a little obscure. Here, therefore, are the commands that I use to set up and enable channel 1 (ethernet port 1, or eth0):
I feel compelled to note that you will need to use different IP addresses for the various hosts you’re setting up. Also, you *really* don’t want to set the LOM Ip address to conflict with the IP address of the operating system. Really, you’re setting up a small, separate, out of band machine to manage the big expensive server. Think of it as a different machine, and you’ll be all set.
For most of the clusters I build, I address the compute nodes as 192.168.2.1 = node001, and so on. For clusters of less than 100 nodes, I set the LOM address to the node address plus 100. Thus, these settings would be appropriate for node015.
ipmitool lan set 1 ipaddr 192.168.2.115
ipmitool lan set 1 netmask 255.255.255.0
ipmitool lan set 1 defgw ipaddr 192.168.2.254
ipmitool lan set 1 access on
ipmitool lan set 1 arp respond on
At this point, the IP address of the LOM ought to respond to pings. All that’s left is to set up and enable a user account. Note that we’re now talking about user number two, rather than port number 1:
ipmitool user set name 2 admin
ipmitool user set password 2
** You get to type the password twice **
ipmitool user enable 2
FInally, I associate user number 2 with port number 1:
ipmitool user priv 2 4 1
I have yet to find a way around typing all those IP addresses into the Server Monitor tool.