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.
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.