Building my new business environment started with repurposing an old Dell R620 as a Proxmox host. I quickly noticed, however, that the information that showed up in the system’s iDRAC interface was… wrong.
Unlike VMware, Proxmox doesn’t inform it of things, and I’m not going back to VMware.
I tend to be a bit of a perfectionist at times, and having an old hostname listed in iDRAC was annoying, so… down the rabbit hole I went. Here’s how to install the iDRAC tools and set the hostname and such on an EL9 host:
1. Download The Package
Dell offers a nice tarball for you. You can get it at this web page; it’s the second one on the list (at the time of this writing). The first one is apparently just the GNUPG signatures.
Grab that tarball, and inside you’ll find:
iDRACTools/
├── gpl.txt
├── ipmitool
│ ├── RHEL7_x86_64
│ │ └── ipmitool-1.8.18-99.dell.3732.15734.el7.x86_64.rpm
│ ├── RHEL8_x86_64
│ │ └── ipmitool-1.8.18-99.dell.3732.15734.el8.x86_64.rpm
│ └── SLES15_x86_64
│ └── ipmitool-1.8.18-99.dell.3732.15734.sles15.x86_64.rpm
├── license.txt
├── racadm
│ ├── install_racadm.sh
│ ├── RHEL7
│ │ └── x86_64
│ │ ├── srvadmin-argtable2-9.4.0-3732.15734.el7.x86_64.rpm
│ │ ├── srvadmin-hapi-9.4.0-3732.15734.el7.x86_64.rpm
│ │ └── srvadmin-idracadm7-9.4.0-3732.15734.el7.x86_64.rpm
│ ├── RHEL8
│ │ └── x86_64
│ │ ├── srvadmin-argtable2-9.4.0-3732.15734.el8.x86_64.rpm
│ │ ├── srvadmin-hapi-9.4.0-3732.15734.el8.x86_64.rpm
│ │ └── srvadmin-idracadm7-9.4.0-3732.15734.el8.x86_64.rpm
│ ├── SLES15
│ │ └── x86_64
│ │ ├── srvadmin-argtable2-9.4.0-3732.15734.sles15.x86_64.rpm
│ │ ├── srvadmin-hapi-9.4.0-3732.15734.sles15.x86_64.rpm
│ │ └── srvadmin-idracadm7-9.4.0-3732.15734.sles15.x86_64.rpm
│ └── uninstall_racadm.sh
└── readme.txt
2. Install the RPMs (and their dependencies!)
The RPMs you want are, fairly obviously, in the
iDRACTools/racadm/RHEL8/x86_64
directory. Grab all of them (or just
cd into the directory if you’re on the target system).
Then you’ll want to install them with dnf:
$ sudo dnf install *.rpm openssl-devel dmidecode
Note that you must specify openssl-devel and dmidecode. Their packaging is broken, and does not require them by default. Why they linked against the openssl-devel libs is a mystery, but whatever.
And yes, the EL8 packages seem to work just fine on EL9.
3. Do your thing!
The command gets installed into /opt/dell/srvadmin/bin
as
idracadm7
. Note that you’ll need a valid iDRAC username and
password. You can start (for example) by doing something like this to
see what’s what:
[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i getsysinfo
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root
Password:
RAC Information:
RAC Date/Time = Fri Jun 14 00:52:56 2024
Firmware Version = 2.65.65.65
Firmware Build = 15
Last Firmware Update = 10/21/2021 11:30:11
Hardware Version = 0.01
MAC Address = F8:BC:12:88:3F:42
Common settings:
Register DNS RAC Name = 0
DNS RAC Name = horde-03
[...snip...]
Note that there is also a “help” command which gives you more information on what all this thing is capable of, which appears to be pretty extensive. In any event, I just want to set the hostname:
[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i set System.ServerOS.HostName throng-01.aus.insomniverse.net
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root
Password:
[Key=System.Embedded.1#ServerOS.1]
Object value modified successfully
And now:
[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i getsysinfo | grep Host
root
Host Name = throng-01.aus.insomniverse.net
Perfect! I can also set the Server OS Name, just for fun:
[steve@dev-01 ~]$ /opt/dell/srvadmin/bin/idracadm7 -r 10.32.9.12 -i set System.ServerOS.OSName "Proxmox VE 8.2.2"
Security Alert: Certificate is invalid - self-signed certificate
Continuing execution. Use -S option for racadm to stop execution on certificate-related errors.
UserName: root
Password:
[Key=System.Embedded.1#ServerOS.1]
Object value modified successfully
Oddly, I can’t seem to set the OS version separately; I tried, and it told me no. Strange, that.
Future Directions
At some point I’d like to create a systemd service that does this automatically from the Proxmox host itself, but I’m too lazy at the moment. There is apparently an RHEL package that can do this for at least some versions. I should probably see about porting it, but…
…I have more valuable things to do with my time than tinker with automatically setting strings that I’m never going to look at anyway! I’ve already lost enough time to this as it is…
Off to do more work…