How-To

Dell iDRAC 9: Lifecycle Controller, Firmware Updates, Virtual Console, and Automation

7 min read

The first three parts of this series took a PowerEdge server from first login through a fully hardened, monitored, and storage-configured state. Part 4 completes the setup phase with two critical remaining tasks: closing firmware CVEs on day one using the Lifecycle Controller, and validating virtual console access before the server goes into production. We also cover the automation layer — RACADM, Redfish, and Ansible — so everything configured manually in earlier parts can be scripted for additional nodes.

If you’re reading this during an incident and need fast CLI commands, the RACADM cheat sheet in the Appendix (Part 6) is your quickest reference. This part focuses on the setup workflows and automation patterns.

Step 9: Lifecycle Controller — Firmware, Inventory, and System Profiles

📋 Runbook Callout
Setting up? Run a firmware update pass immediately after initial configuration. Closing firmware CVEs on day one is non-negotiable.
Firefighting? If you’re seeing unexplained hardware behavior, check firmware versions against Dell’s advisory page — a surprising number of hardware bugs are firmware-related.

9a. Access the Lifecycle Controller

Press F10 during POST to enter the Lifecycle Controller directly. From the web UI: Configuration > Lifecycle Controller.

9b. Run Firmware Updates via Lifecycle Controller

The cleanest update path uses a Dell Repository Manager (DRM) catalog hosted on a local HTTP server — it ensures you get only firmware validated for your specific hardware configuration.

In the web UI: Maintenance > System Update > Update Settings. Set the catalog source to your local DRM HTTP share or to downloads.dell.com for direct internet updates.

# Check current firmware versions
racadm getversion

# Schedule a firmware update job using catalog (local HTTP server example)
racadm update -f http://10.10.0.70/catalog/Catalog.xml -e reboot

Monitor update progress:

racadm jobqueue view
iDRAC Job Queue page showing firmware update jobs with status column displaying Scheduled/Running/Completed/Failed states and percentage completion

9c. Export and Import System Configuration Profile (SCP)

SCP is the fastest way to clone a server configuration to additional nodes.

Export from a configured server:

racadm get -f /tmp/scp-svr01.xml -t xml -l ALL

Import to a new server:

racadm set -f /tmp/scp-svr01.xml -t xml -l ALL -s TIME_NOW

This clones all iDRAC settings — network config, user accounts, alerting, BIOS settings — in a single operation. Review the exported file and sanitize passwords before storing it as a template.

9d. Hardware Inventory Export

racadm hwinventory > /tmp/inventory-svr01.txt

Use this output for asset management records and as baseline documentation before opening a Dell support case.

9e. Factory Reset via Lifecycle Controller

Use only when recovering from a completely broken configuration or before decommissioning:

F10 at boot > System Setup > iDRAC Settings > Reset to Factory Defaults.

This wipes all iDRAC configuration including network settings, user accounts, and certificates. The server remains powered on; only iDRAC resets.

Step 10: Virtual Console and Virtual Media

📋 Runbook Callout
Setting up? Validate virtual console access from your management workstation before the server goes into production. Discovering it doesn’t work during an incident is the worst time.
Firefighting? Virtual console is your last resort for a server unreachable via OS. Use it to determine whether the issue is pre-OS (POST failure), OS boot failure, or application-layer.

Virtual console and virtual media require Enterprise or Datacenter license.

10a. Launch the HTML5 Virtual Console

In the web UI: Dashboard > Virtual Console Preview > Launch Virtual Console.

iDRAC Dashboard virtual console preview area showing server screen thumbnail and Launch Virtual Console button for HTML5 KVM access

The HTML5 console requires no plugins. It works in Chrome, Firefox, and Edge on both macOS and Linux. Safari has occasional rendering quirks — use Chrome or Firefox for console sessions.

10b. Mount a Virtual Media ISO

In the virtual console toolbar: Virtual Media > Connect Virtual Media > Map CD/DVD. Browse to your ISO file on the local workstation. The server sees it as a locally attached optical drive.

Boot order: In the virtual console, press F11 during POST to access the one-time boot menu. Select the virtual CD/DVD.

10c. Configure Session Limits and Timeouts

# Maximum concurrent virtual console sessions (default 6)
racadm set iDRAC.VirtualConsole.MaxSessions 2

# Console inactivity timeout in seconds (default 1800 = 30 minutes)
racadm set iDRAC.VirtualConsole.Timeout 900

10d. WAN Performance Notes

The HTML5 console streams over HTTPS (port 443). Over WAN links with more than 100ms latency, reduce the color depth in the console toolbar from High Color to 256 Colors — this roughly halves the bandwidth requirement. Video playback and rapid screen updates will still be sluggish; for OS installation over WAN, use kickstart/preseed automation rather than interactive console where possible.

Step 11: RACADM and Redfish API

📋 Runbook Callout
Setting up? Establish RACADM and Redfish access patterns early so configuration can be scripted for additional servers.
Firefighting? RACADM is faster than the web UI during an incident. Key commands are in the Appendix.

11a. RACADM Modes

ModeHow to invokeUse case
Localracadm <command> (run on host OS)In-band access, no credentials needed
Remoteracadm -r <IP> -u root -p <pass> <command>Out-of-band from admin workstation
Firmwaressh root@<iDRAC-IP> then racadm <command>Direct iDRAC shell access

11b. Essential RACADM Commands

# System information summary
racadm getsysinfo

# NIC configuration
racadm getniccfg -n idrac

# Server power actions
racadm serveraction powerdown
racadm serveraction powerup
racadm serveraction powercycle
racadm serveraction graceshutdown

# Soft-reset iDRAC (does not affect running OS)
racadm racreset

# View job queue
racadm jobqueue view

# Clear all pending jobs (use with caution during maintenance)
racadm jobqueue delete --all

11c. Redfish API Basics

The Redfish API root is at https://<iDRAC-IP>/redfish/v1. Authentication uses HTTP Basic Auth or session tokens.

Query system inventory:

curl -sk -u root:YOUR_PASSWORD \
  https://<iDRAC-IP>/redfish/v1/Systems/System.Embedded.1

Check RAID virtual disk status:

curl -sk -u root:YOUR_PASSWORD \
  "https://<iDRAC-IP>/redfish/v1/Systems/System.Embedded.1/Storage/RAID.Integrated.1-1/Volumes"

Trigger a firmware update (point to a local firmware image URL):

Save the update payload to firmware-update.json (sets the firmware URL, transfer protocol, and target manager path):

{
  "ImageURI": "http://YOUR_FIRMWARE_HOST/path/to/firmware-image",
  "TransferProtocol": "HTTP",
  "Targets": ["/redfish/v1/Managers/iDRAC.Embedded.1"]
}

Then POST it to the Redfish UpdateService:

curl -sk -u root:YOUR_PASSWORD -X POST -H "Content-Type: application/json" -d @firmware-update.json https://<iDRAC-IP>/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate

Dell’s iDRAC Redfish Scripting GitHub repository contains a comprehensive library of Python examples for common operations — use it as your reference for automation tasks.

11d. Ansible Integration

Install the Dell OpenManage Ansible collection:

ansible-galaxy collection install dellemc.openmanage

Example playbook — query iDRAC system info:

---
- name: Query iDRAC system inventory
  hosts: localhost
  gather_facts: false
  collections:
    - dellemc.openmanage
  tasks:
    - name: Get system inventory
      dellemc.openmanage.idrac_system_info:
        idrac_ip: "{{ idrac_ip }}"
        idrac_user: "{{ idrac_user }}"
        idrac_password: "{{ idrac_password }}"
        validate_certs: false
      register: system_info

    - name: Print system model
      debug:
        msg: "{{ system_info.system_info.System[0].Model }}"

The collection covers firmware updates, BIOS configuration, RAID management, and SCP import/export. See the Dell OpenManage Ansible modules repository for the full module reference.

With firmware current, a System Configuration Profile exported, and automation patterns established, the setup phase of this runbook is complete. Part 5 shifts entirely to troubleshooting: structured runbooks for RAID failures, hardware faults (DIMM, PSU, thermal), access and connectivity problems, and reading the Lifecycle Controller log to build a fault timeline before touching hardware or escalating to Dell support.

Continue to Part 5: Dell iDRAC 9 Troubleshooting: RAID Failures, Hardware Faults, Connectivity, and Log Analysis