Flashing H310/H710 RAID Controllers to LSI IT Mode 🌱

Background

I recently purchased a Dell Poweredge server with a H310 RAID controller. One of the purposes of the new server is to run TrueNAS Scale as a VM inside Proxmox. To get the best performance out of TrueNAS and ZFS, the H310 needs to be flashed to LSI IT mode so ZFS can have direct access to the drives. IT mode also improves the disk drive IOPS (Input/output operations per second) performance.

What is LSI IT Mode?

IT (Initiator Target) mode essentially disables the hardware RAID capabilities of the controller, allowing the operating system to see and interact with each disk drive directly.

Disclaimer

This process will overwrite the firmware on the RAID controller. If not done correctly, the process can damage and brick the RAID controller.

Things You Will Need

Before You Begin

  1. Remove the battery from the RAID controller
  2. Disable the following technologies in the BIOS
    • Virtualization
    • SR-IOV
    • IOMMU
  3. Set the Boot Mode to BIOS/Legacy (not UEFI)

Preparing the Flash Utilities

Huge thanks to fohdeesha.com for compiling the software and steps to complete the flashing process into an easy to follow procedure.

  1. Download the PERC flashing utilities Download
  2. Download the Ventoy installer Download
  3. Extract the downloaded perc-crossflash .zip file
  4. Extract the downloaded Ventoy .zip file
  5. Run Ventoy2Disk.exe
  6. Plug in a USB flash drive at least 4 GB in size
  7. Click the refresh icon
  8. Select the flash drive from the device dropdown
  9. Click the Install button
  10. After the installation completes, copy the Linux and FreeDOS .iso files from the extracted perc-crossflash folder to the Ventoy partition
  11. Safely remove the USB flash drive
  12. Plug the flash drive into the target server

Collecting RAID Controller Information

  1. Power on the server hardware > Boot to the flash drive
  2. Select the FreeDOS .iso from the Ventoy menu
  3. Once FreeDOS has booted, run the following command
    info
  4. Take a photo of and/or carefully write down the SAS address from the output
  5. Compare the output Product Name and ChipRevision (H310 Mini in this example) to the listing on https://fohdeesha.com/docs/perc.html#finding-your-card-revision; If there isn't an EXACT MATCH stop
  6. Shutdown or reboot the server

Flashing to IT Mode

The steps below are specific to the H310 Mini RAID controller in my device (https://fohdeesha.com/docs/H310.html). Make sure to follow the steps for your target RAID controller model.

  1. Power on the server hardware > Boot to the flash drive
  2. Select the Linux .iso from the Ventoy menu
  3. Log into Linux using the username user and password live
  4. If you plan to SSH into the device, run the following command to output the IP address and connect via SSH
    ipinfo
  5. Continue with the following commands in Linux on the target server device
    # elevate to root shell
    sudo su -
    # output the SAS address
    # take a photo of and/or carefully write down the SAS address from the output
    # it will be required after the flashing process
    sas-mega
    # flash the raid controller firmware
    H310-Mini
    # once the flash completes without errors, reboot the server
    reboot now
  6. Boot to the flash drive
  7. Select the Linux .iso from the Ventoy menu

    NOTE: If you see kernel panic errors during startup, shutdown the server hardware and power it back on and boot back into Linux from Ventoy

  8. Log back into Linux using the username user and password live
  9. Continue with the following commands
    # elevate to root shell
    sudo su -
    # set the sas address
    setsas <%sas address from output earlier%>
    # output info about the new state of the controller
    info
  10. If you'll be booting from drives attached to the RAID controller, continue with the following steps to flash the boot ROM images
    # flash bios/legacy boot rom
    flashboot /root/Bootloaders/mptsas2.rom
    # flash uefi boot rom
    flashboot /root/Bootloaders/x64sas2.rom
    # shutdown the system
    shutdown now
  11. Re-enable any BIOS settings that were changed prior to completing the flashing process

Source: https://fohdeesha.com/docs/perc.html