Operating iBMC from the Shell Console
2025.07.14 ADMIN
The Intelligent Baseboard Management Controller (iBMC) is an essential embedded subsystem on server motherboards, designed for out-of-band management. This means it operates independently of the server's main CPU, operating system, and power state, providing continuous access for monitoring, diagnostics, and control, even when the server is powered off or unresponsive. For Site Reliability Engineers (SREs), mastering iBMC's shell console is a crucial skill for efficient remote server management.
- Accessing the iBMC Shell
Direct interaction with the iBMC from a shell typically occurs via an SSH (Secure Shell) session. This provides a secure command-line interface (CLI) to the iBMC's internal functions.
- SSH Client: You will need an SSH client (e.g., PuTTY on Windows, or the native ssh command on Linux/macOS) to establish the connection.
- iBMC Network Configuration: The iBMC has its own dedicated management Gigabit Ethernet (GE) network port and IP address. This management port must be connected to your network.
- Authentication: You will need valid login credentials (username and password) to access the iBMC's SSH shell.
- Direct Prompt: On modern BMCs, upon successful SSH login, you may find yourself directly within the iBMC's command prompt (analogous to Dell's iDRAC racadm prompt).
- CLI Protocols and Tools (IPMI, SNMP, Redfish Context)
While direct SSH access provides a proprietary iBMC CLI, many operations leverage industry-standard protocols, which can also be interacted with using common command-line tools:
- IPMI (Intelligent Platform Management Interface):
- IPMI is a long-standing standard for out-of-band server management, focusing on hardware-level monitoring and control.
- The ipmitool utility is a widely used CLI tool for interacting with IPMI-compliant BMCs.
- Local Access: When ipmitool is run directly on the server's operating system, it requires root privileges.
- Example: modprobe ipmi_devintf ipmi_si followed by ipmitool <command>
- Network Access: You can use ipmitool from a remote system to manage an iBMC over the network.
- Example: ipmitool -I lanplus -H <iBMC-IP-Address> -U <username> -P <password> <command>. The -I lanplus interface is commonly used for network access.
- SNMP (Simple Network Management Protocol):
- iBMC supports SNMP for alarm reporting and general management.
- A Huawei iBMC fan control script demonstrates interaction with iBMC using snmpget and snmpset commands. This means you can read sensor data (like CPU temperature) and set parameters (like fan speed) via SNMP.
- Configuration Requirement: For SNMP access, you must enable SNMPv2 (or SNMPv3 for better security) on the iBMC via its web interface and configure a read/write community string (password).
- Tool Requirement: Commands like snmpget and snmpset need to be installed on the system from which you are running the script or commands.
- Redfish:
- Redfish is a modern alternative to IPMI, built on RESTful interfaces using HTTP/HTTPS protocols and JSON data.
- While Redfish is primarily designed for API-driven automation (e.g., using curl or Python scripts for JSON data exchange), the iBMC itself supports it.
- SREs often use higher-level management software like xFusion's FusionDirector, which connects to iBMC via its Redfish-compliant REST interface to perform unified server management. Accessing Redfish via a basic shell might involve curl commands to interact with the Redfish API endpoints, rather than proprietary iBMC CLI syntax.
- Core iBMC Operations via CLI
This section outlines essential iBMC operations from the shell, using ipmitool examples where applicable, and drawing on iBMC capabilities.
3.1 System Monitoring
Sensor Data Retrieval:
Compact Sensor List: ipmitool sdr list
Example Output: FAN1 | 5500 RPM | ok [...]
Detailed Sensor Information (with thresholds): ipmitool sensor
This provides granular data on temperature (CPU, DIMM, storage, PCIe, PSU, chassis, etc.), voltage (various system points), and fan speeds.
Example Output: FAN1 | 5500.00 | RPM | ok | 300.00 | 500.00 | 700.00 | 25300.00 | 25400.00 | 25500.00 [...]
System Event Log (SEL) Review:
List SEL Entries: ipmitool sel list
List SEL Entries with Sensor Numbers: ipmitool sel elist
iBMC generates detailed alarms and logs information with event codes, descriptions, alarm levels, and even serial numbers (SN) and BOM codes for precise component identification when faults are detected.
Chassis Status: ipmitool chassis status
Power Consumption (DCMI):
For systems with PM-Bus capable power supplies: ipmitool dcmi power reading
Example Output: Instantaneous power reading: 80 Watts
3.2 Remote Power Management
These commands allow an SRE to control the server's power state remotely, even if the OS is unresponsive.
Get Power Status: ipmitool power status
Power On Server: ipmitool power on
Hard Power Off Server: ipmitool power off
Graceful Shutdown (ACPI): ipmitool power soft
Note: This only works if the OS is responsive and supports ACPI shutdown.
Hard Reset Server: ipmitool power reset
Power Cycle Server (Off then On): ipmitool power cycle
3.3 Network Configuration (iBMC's Management Network)
These commands are crucial for initial setup or modifying the iBMC's network settings.
Display Current LAN Configuration: ipmitool lan print 1
Set IP Source to Static: ipmitool lan set 1 ipsrc static
Set iBMC IP Address: ipmitool lan set 1 ipaddr [IP]
Set Network Mask: ipmitool lan set 1 netmask [MASK]
Set Default Gateway IP Address: ipmitool lan set 1 defgw ipaddr [IP]
Enable Interface Access: ipmitool lan set 1 access on
3.4 Hardware Diagnostics and Information Retrieval
Field Replaceable Unit (FRU) Data: ipmitool fru print
This provides information about hot-swappable components like server nodes, hard disks, PSUs, and fan modules, which are common in modular systems like the Huawei X6800.
Identify LED Activation: ipmitool chassis identify
This command activates the server's identify LED, helping physically locate a specific server in a rack, especially useful in large data centers.
System Information (Analogy from Dell iDRAC):
An iBMC's internal CLI (like Dell's racadm) might offer a command similar to getsysinfo to display detailed iBMC information such as IP, service tag, and DNS name.
You can also query specific hardware attributes, such as whether CPU virtualization is enabled in BIOS, using fully qualified device descriptors (FQDDs).
3.5 System Recovery and Boot Management
iBMC Reset (without configuration loss):
Analogous to Dell's racadm racreset, this command reboots the iBMC itself without deleting any configuration.
Be aware that it can take a few minutes for the iBMC to reboot and become re-accessible.
Configure Next Boot Device:
Show Boot Options: ipmitool chassis bootdev
Available options include none (no change), pxe (PXE boot), disk (default HDD), cdrom (CD/DVD), bios (boot into BIOS setup), floppy, safe, diag.
Force Boot to BIOS on Next Start: ipmitool chassis bootdev bios
Chassis Power Policy (After Power Loss):
Display Current Policy: ipmitool chassis policy list
Always Power On after Power Loss: ipmitool chassis policy always-on
Restore Previous State after Power Loss: ipmitool chassis policy previous
Always Remain Off after Power Loss: ipmitool chassis policy always-off
3.6 Fan Control (Advanced Example via SNMP)
For specific servers like the Huawei RH2288Hv3, users have developed scripts to custom-control fan speeds, often for noise reduction. This is an example of an advanced use case leveraging SNMP on the iBMC.
Mechanism: The script reads CPU temperatures (e.g., via snmpget) and then adjusts fan speeds (e.g., via snmpset).
Minimum Fan Speed: Be aware that there might be a minimum fan speed limit enforced by the iBMC (e.g., 20%), even if you attempt to set it lower.
Deployment: Such a script must run on the server itself to read the CPU temperatures directly. It then communicates with the iBMC's IP address (e.g., 192.168.8.175 for the iBMC, while the server might be 192.168.8.113) via SNMP over
the network.
Prerequisites: Requires SNMP utilities (snmpget, snmpset) to be installed and the iBMC's SNMP service to be enabled with the correct community string.
3.7 Firmware Management
While iBMC enables and assists in firmware updates, direct CLI commands for initiating complex firmware updates on all server components are not explicitly detailed in generic iBMC shell environments. However, the iBMC is integral to the
process:
Unified Management Platforms: Advanced management software like xFusion's FusionDirector leverages iBMC to provide automated firmware upgrades across multiple components. An SRE would typically use such a platform for orchestrated up
dates.
Hardware Security Hardening: iBMC often plays a role in applying hardware security hardening measures, which can include firmware updates to critical components.
- Security Best Practices for iBMC Operations
As iBMC provides deep access to server hardware, its security is paramount.
Dedicated Management Network: Always use a separate management network for iBMC access that is isolated and not directly reachable from the internet. This prevents unauthorized access to critical server controls.
Strong Passwords: Implement and enforce policies for strong, unique passwords for all iBMC user accounts.
Disable Unused Services: Disable any iBMC services (e.g., older IPMI protocols if Redfish is preferred, or certain ports) that are not actively required.
Role-Based Access Control (RBAC): Utilize RBAC where available. Redfish explicitly supports RBAC, allowing you to grant users only the minimum necessary permissions.
Encryption (TLS/SSH): Always access iBMC using encrypted protocols like SSH and HTTPS. Redfish, for instance, uses TLS 1.2+ encryption by default.
Regular Firmware Updates: Keep the iBMC firmware updated to patch security vulnerabilities and improve functionality.
Awareness of High-Risk Commands: Be aware that some operations on the iBMC are classified as "High-Risk Operation Commands." Exercise extreme caution when executing such commands, as they can have significant impacts on server operat
ion.
- Advanced Capabilities Enabled by iBMC: Dynamic Energy Management Technology (DEMT)
The iBMC plays a crucial role in modern server energy efficiency through technologies like Huawei and xFusion's Dynamic Energy Management Technology (DEMT).
AI Data Collection: The iBMC contains a built-in AI data collection model that continuously gathers real-time device status, including power consumption, CPU load, memory load, and environmental data.
Local Storage and Redfish Access: This collected data is stored in the iBMC's local flash memory (typically 15-30 days of data) and is accessible via the Redfish interface.
Intelligent Power Optimization: External management platforms (like FusionDirector) retrieve this data from iBMC via Redfish. Their AI engines analyze power consumption trends and can dynamically adjust the power cap of individual se
rvers, leading to significant energy savings (e.g., 15-30%) while maintaining service levels.
This guide provides a foundational understanding and practical examples for an SRE to operate Huawei and xFusion iBMC systems effectively from the shell, enabling robust remote management and diagnostics crucial for modern data center op
erations..