Course contentsShow
← Linux
Lesson 771 of 1,8197. Storage Management and Logical VolumesFree lesson

Storage controller firmware updates

Manage firmware lifecycles for controllers without compromising array metadata.

In this lesson, you will learn how to update the firmware on your storage controllers while ensuring the safety of your array metadata.

When you manage storage controllers—such as RAID cards or Host Bus Adapters (HBAs)—updating their firmware is essential for stability and performance. However, because the controller acts as the bridge between your operating system and the physical disks, an improperly handled update can corrupt the configuration data (metadata) that describes how your arrays, stripes, or mirrors are mapped.

The Metadata Safety Principle

Your RAID controller stores metadata on the disks themselves (or in non-volatile controller memory) to identify which drives belong to which logical volume. If an update resets the controller to factory defaults, it might fail to recognize existing arrays, leading the system to believe the disks are "foreign" or "new."

To update firmware without losing data, always follow this workflow:

  1. Quiesce I/O: Ensure no applications are reading or writing to the volumes. If you are using Linux software RAID or logical volumes, umount the filesystems to prevent metadata inconsistencies.
  2. Verify Controller State: Before starting, use controller-specific utilities (like storcli for LSI/Broadcom controllers) to verify the status of your arrays.
    # Example: Checking existing virtual drive configurations
    /opt/MegaRAID/storcli/storcli64 /c0/v0 show
    
  3. Backup the Configuration: Most modern controllers allow you to export the configuration metadata to a file. Do this before applying any firmware patch.
    # Exporting the current RAID configuration
    /opt/MegaRAID/storcli/storcli64 /c0 show config file=backup_raid_config.txt
    
  4. Perform the Update: Apply the firmware image. If the controller supports "in-band" updates via the kernel, the driver handles the transition. If not, you may need to enter the controller's BIOS/UEFI shell.

By backing up your configuration metadata, you create a recovery path. If the controller wipes its internal mapping after the update, you can import the saved configuration file, forcing the controller to re-import the disks and their existing logical volume structures without triggering a re-initialization or rebuild, which could be destructive.

Key Takeaway: Always export and backup your controller’s array metadata before a firmware update to ensure that logical volume configurations can be restored if the controller reset wipes its internal mapping.