Supermicro IPMI Power On Server via SSH

Running two Supermicro SYS-5028D-TN4T servers for my home lab has required me to learn a new IPMI (Intelligent Platform Management Interface) web interface and command language.

In this case I’m going to share how to power on a Supermicro server. While it is of course possible to connect via a web browser to the IPMI interface I also wanted to know how to power on the servers from a command line session, e.g over SSH. I’m familiar with the Hewlett-Packard Enterprise iLO (integrated Lights Out) and Dell iDRAC (integrated Dell Remote Access Controller ) consoles and their command line syntax so figured it was time I learn to do the same in Supermicro systems.

 


 

First off I’ve grabbed a diagram from the Supermicro documentation which helps to visualise the IPMI syntax structure.

image

 

As you can see we have a root level directory which branches out via the ‘system1’ child item to the various components of the IPMI system. Once connected over SSH I can run a show command to get the output below –

-> show
/

  Targets :
         system1

  Properties :
         None

  Verbs :
         cd
         show
         help
         version
         exit

->

 

This shows we are at the / level and our available targets are ‘system1’. Let us now change directory into system1 using the cd (change directory) command. I’ve also executed the show command again to demonstrate the new directory child items visible.

-> cd system1
/system1

-> show
/system1

  Targets :
         logs1
         pwrmgtsvc1
         sensors1
         sol1

  Properties :
         None

  Verbs :
         cd
         show
         help
         version
         exit

->

 

Again let us migrate to the power management child item (pwrmgtsvc1) and then execute the show command to see what becomes available.

-> cd pwrmgtsvc1
/system1/pwrmgtsvc1

-> show
/system1/pwrmgtsvc1

  Targets :
         none

  Properties :
     Name=IPMI Power Service
     CreationClassName=IPMI_PowerManagementService
     ElementName=Server Power Management Service
     EnabledState=5
     RequestedState=12
     EnabledDefault=2
     TransitioningToState=12
     PowerState=6

  Verbs :
         cd
         show
         help
         version
         exit
         start
         stop
         reset

->

 

Excellent – we have some properties of interest along with some additional command verbs to play with – start, stop and reset. As one might guess to start the server we leverage the start verb.

-> start
/system1/pwrmgtsvc1
start done...

->

 

Finally if I run the show command again I can see that the PowerState property has changed from a value of 6 to 1.

-> show
/system1/pwrmgtsvc1

  Targets :
         none

  Properties :
     Name=IPMI Power Service
     CreationClassName=IPMI_PowerManagementService
     ElementName=Server Power Management Service
     EnabledState=5
     RequestedState=12
     EnabledDefault=2
     TransitioningToState=12
     PowerState=1

->

 

Note – you can navigate the directory structure like any other command language by providing a complete path, e.g

-> cd system1/pwrmgtsvc1
/system1/pwrmgtsvc1

->

 


Nice and simple – one could also leverage a script to power on multiple servers at the same time.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.