Controlling Server Fan Speed With ipmitool
I recently inherited an IBM 3650 M3 for my home lab – 2 x Intel Xeon E5645, 128GB RAM, 4 x 1.2TB 10K SAS – which is going to make a nice base for a new nested ESXi lab.
One thing that had to be sorted out straight away, on pain of constant nagging, was the noise.
I’m keeping this server in a small hallway closet, but unfortunately with such a light door, it was very audible around the apartment (and with it being an apartment, probably audible to my neighbours too!)
Even running the server in Acoustic mode from the BIOS wasn’t much help. Thankfully I came across ipmitool to help out.
ipmitool (https://github.com/ipmitool/ipmitool) is an open source command line tool for controlling the Intelligent Platform Management Interface, v2.0 of which is a part of the IBM 3650’s Integrated Management Module.
Once installed (sudo apt get ipmitool), and with your IMM available on the network, it’s simply a case of running the below command to configure the fan speeds:
ipmitool -H HOST_IP -U IMM_USERNAME -P IMM_PASSWORD raw 0x3a 0x07 0x01 0x50 0x01
The 3rd hex value is the fan number (three fans, 0x01, 0x02 and 0x03), and the 4th hex value is the speed (0-255, or 0x00 to 0xFF).
I selected a speed of 0x50 for each fan, which is still audible but much more tolerable, and I can spin the fans up and down as need be. Unfortunately the fan speed will reset after a server reboot/shutdown, so might be worth scripting the above into a start-up script.
For Windows users, you can download the Insyde ipmitool from https://support.advantech-bb.com/download/sr/1-1LDVAOC