iDRAC 8 Settings and Tricks
Got a Dell R730 the other day and found out some things. Putting them down here so I won't forget about them.

Information might change with time. Categories based on left column in iDRAC GUI.

Server

System Hostname & Operating System

Normally these two values are provided by the Dell EMC iSM (iDRAC Service Module). Check to see if you can install iSM to update these values in realtime.

However iSM might not support the system you’re using. Those times it is helpful to manually set them. You can either use racadm or ipmitool.

racadm

To use racadm, either ssh into iDRAC, or use the mobile app Dell OpenManage,or use the racadm utility on your device. The racadm utility does not support any of my current operating systems in use, so I will use the first two methods.

Use the following commands -

racadm set System.ServerOS.HostName hostname.example.com
racadm set System.ServerOS.OSName "OSName"

ipmitool

Install ipmitool on your system. Most Linux repositories have this utility ready.

To use this, you first need to ensure that IPMI over lan is enabled. Go to iDRAC Settings -> Network -> scroll down to IPMI settings and check Enable IPMI Over LAN. Click apply in the bottom right corner.

Usage -

ipmitool -I lanplus -H $IP -U $USER -P $PASS raw $COMMANDS

Note that lanplus is constant. To set hostname, the following IPMI raw command can be used.

raw 0x06 0x58 0x02 0x00 0x05 0x04 0x4c 0x4d 0x4e 0x4f

Byte 0 : 0x06 Network Function
Byte 1 : 0x58 Command
Byte 2 : 0x02 Parameter Selector (distinguish between set Firmware Version, OS Name, System Name etc.)
Byte 3 : 0x00 Set Selector (this equals 0 implies that the user is setting the parameter)
Byte 4 : 0x05 Check String data
Byte 5 : 0x04  --> data length
Byte 6…n : data bytes

Usage:
For example, to set the hostname to "DELL":

raw 0x06 0x58 0x02 0x00 0x05 --This part is common
0x04 -- hostname string length- four characters(DELL) in our example
0x44 0x45 0x4c 0x4c -- ASCII equivalent for DELL

It is advised to use a ASCII to Hex convertor with the prefix 0x to easily translate the characters.

Virtual Console

Though HTML5 is the shiny new thing, I actually prefer to use Java here because of poor HTML5 performance on iDRAC8 and because how it always gets blocked for unsafe certificates.

Alerts

This is important!

Alerts

Firstly enable Alerts in the top.

For Alert Filters, I would uncheck Info because it’s often not that important. Then check what alerts you wish in the table down below. Note that you need to do this for every page. With Info unchecked, that will be 13 pages.

Alerts Page Example

SNMP and Email Settings

Here you will need to set destination addresses for SNMP and email alerts. Down below you will find SMTP server settings. There are two things to take note here -

  1. Regarding authentication, because of how old iDRAC8 is, it does not support newer versions of TLS and newer cipher suites, so you will need to change your mail server settings accordingly.
  2. Regarding the username, this is only the username for authentication, not the mail envelope-from address. This might trigger safeguard mechanisms within your mail server, as this could be used for forging from addresses. You will need to allow this authentication address to send mail as the envelope-from address. I will mention this again down below.

What’s a envelope-from address? Just like real-life mail, there is a envelope and the letter itself. The envelope is used by mail servers (post offices) to send the mail to the recipient, however the recipient will most likely get who the mail is from and for using information from the headers (the actual letter inside the envelope). In fact, a lot of email clients does not bother to show the envelope-from and envelope-to address, leading to higher risks. Thus it is normally not allowed to authenticate with one address and use another address for envelope-from, however a whitelist function is also normally in place. Consolidate documentations for this setting.

Read more here and here.

Setup

Here you can choose where the server boots to, as well as does this setting persist or not. This could be useful if you’re trying to boot into BIOS but wants to go to the loo real bad.

iDRAC Settings

Network Settings

Network

DNS iDRAC name and static DNS domain name

This are the two components that actually make up the envelope-from address, as mentioned here. The address will be DNS-iDRAC-Name@Static-DNS-Domain-Name. For example,

If
DNS iDRAC name = iDRAC-1234
and
Static DNS domain name = example.com

Then the envelope-from address will be
[email protected]

By default the DNS iDRAC Name value will be IDRAC-<Dell Service Tag #>. Source: Dell

IPMI Settings

Enable IPMI Over LAN - mentioned previously here.

User Authentication

Here you can change user passwords as well as upload ssh key files.

Update and Rollback

This is not apparent, but the function to automatically search for firmware updates for your currently installed hardware does exist. For file location choose HTTPS, and for HTTPS address use downloads.dell.com. Wait for it to load, and then you can forget about finding all the update files one by one.

Hardware

Fan

The default fan profile is definitely quieter than older models, such that I can actually sleep with it. However, it can be even quieter.

Context: Testing is done with 2 * E5-2680 V4 CPUs at around 25 degrees celsius ambient.

Basic static fan speeds

ipmitool is used here. How to use? Check here

# print temps and fans rpms
ipmitool -I lanplus -H <iDRAC-IP> -U <iDRAC-USER> -P <iDRAC-PASSWORD> sensor reading "Temp" 

# print fan info
ipmitool -I lanplus -H <iDRAC-IP> -U <iDRAC-USER> -P <iDRAC-PASSWORD> sdr get "FAN1"

# enable manual/static fan control
ipmitool -I lanplus -H <iDRAC-IP> -U <iDRAC-USER> -P <iDRAC-PASSWORD> raw 0x30 0x30 0x01 0x00

# disable manual/static fan control
ipmitool -I lanplus -H <iDRAC-IP> -U <iDRAC-USER> -P <iDRAC-PASSWORD> raw 0x30 0x30 0x01 0x01

# set fan speed to percentage
ipmitool -I lanplus -H <iDRAC-IP> -U <iDRAC-USER> -P <iDRAC-PASSWORD> raw 0x30 0x30 0x02 0xff 0xXX
# 0xXX as speed percentage in hexdecimal. 0% would be 0x00, 100% would be 0x64, and so on.

Read more detailed usages here.

Fan speed curve

The idea is to check CPU temps every other few minutes using cron, and set fan speeds according the CPU temperature at the time. For example, there is one solution here on reddit.

However there is one problem with this approach as that in extreme circumstances CPU temperatures may rise too fast for cron to respond. Thus a response time of a few seconds is much more resonable.

Static speed + automatic curve

There is this wonderful docker image on Github tigerblue77/Dell_iDRAC_fan_controller_Docker that not only has a second-level response time, but also allows the bios curve to kick in if things get out of hand for the quiet low speed settings.

However, in my own testing, even with a fan speed of just 5%, my two E5-2680 V4s never exceeded 70 degress with max load. But do not take my word for it. Do your own testing for your hardware’s safety.

Turns out I have made a mistake, and the previous test method did not put enough stress on the CPUs.

Faster responses

In the end I have decided to write a little script myself to regulate the fan speeds based on temperature thresholds. Find more about it in the post Fancontrol Script for Dell iDRAC.

Storage

The only thing that needs to be mentioned here is the integrated RAID controller. More can be read in this post.

References & Sources


最后修改于 2023-09-20