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
- A USB flash drive, at least 4 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9
- One of the following hardware RAID controllers
- H310 Mini Mono (⇦ used in this tutorial)
- H310 Full Size
- H710 Mini Mono
- H710P Mini Mono
- H710 Full Size
- H710P Full Size
- H810 Full Size
Before You Begin
- Remove the battery from the RAID controller
- Disable the following technologies in the BIOS
- Virtualization
- SR-IOV
- IOMMU
- 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.
- Download the PERC flashing utilities Download
- Download the Ventoy installer Download
- Extract the downloaded perc-crossflash .zip file
- Extract the downloaded Ventoy .zip file
- Run Ventoy2Disk.exe
- Plug in a USB flash drive at least 4 GB in size
- Click the refresh icon
- Select the flash drive from the device dropdown
- Click the Install button
- After the installation completes, copy the Linux and FreeDOS .iso files from the extracted perc-crossflash folder to the Ventoy partition
- Safely remove the USB flash drive
- Plug the flash drive into the target server
Collecting RAID Controller Information
- Power on the server hardware > Boot to the flash drive
- Select the FreeDOS .iso from the Ventoy menu
- Once FreeDOS has booted, run the following command
info
- Take a photo of and/or carefully write down the SAS address from the output
- 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
- 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.
- Power on the server hardware > Boot to the flash drive
- Select the Linux .iso from the Ventoy menu
- Log into Linux using the username user and password live
- If you plan to SSH into the device, run the following command to output the IP address and connect via SSH
ipinfo
- 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 - Boot to the flash drive
- 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
- Log back into Linux using the username user and password live
- 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 - 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 - Re-enable any BIOS settings that were changed prior to completing the flashing process