Automate your Dell rack server BIOS settings

Mike R
2 min readMay 23, 2023

I manage a fleet of Dell Poweredge rack servers and part of the work is maintaing firmware updates but also specific BIOS configuration settings on each rack server

for example, one of the requirements for a market data trading server is that we disable Hyper Threading, which can lower server performance and induce market data latency

The usual way to update these settings is either to reboot the server, go into System Setup during boot up and manually set these options, or to use racadm and configure them from command line.

I dont like these methods because

  1. I cant automate this and scale this out to a fleet of serves
  2. I cant configure this in a config management system

The following script does both of these.

Its a simple bash script that takes your desired BIOS settings for your servers, and uses racadm to enforce compliance

To use this script, simply update the PATH to where your racadm binary is located on your server

Then, configure each rule that you want to check, adding the desired state value

for example, to make sure that DCU Streamer Prefetcher setting is Disabled, add “Disabled” after the check_state function call

val=$(echo $proc | awk -F 'DcuStreamerPrefetcher=' '{print $2}' | awk '{print $1}')
[[ -n $val ]] && check_state "Disabled" ${val} "DCU Streamer Prefetcher" "${section}.DcuStreamerPrefetcher"

the script will run through each rule, check the expected vs actual value and report its findings.

— -

to enforce the desired values, simply run the script,

./dellbios.sh configure

this will set the desired values, create an IDRAC configuration job and notify you that a reboot should be done to finish the config job (The reboot is not done by the script, this should be done manually by the sysadmin)

--

--