High Fan Speed Issue on Lenovo ThinkSystem Servers
-
@olivierlambert can you help us with providing the module for the xen kernel, which @Gheppy is talking about?
-
@LennertvdBerg The above message is indicating there is no driver written for IPMI BMC KCS for the LM_Sensors application, not that a kernel module is missing in XCPNG.
You can read more about this on the lm_sensors github issue https://github.com/lm-sensors/lm-sensors/issues/69
If you wish to view sensor data in XPCNG you can do so through IPMI still using ipmitool
ipmitool sensor
This will list the sensors in the server.
DIMM 1 | 0x0 | discrete | 0x0080| na | na | na | na | na | na DIMM 1 Temp | na | degrees C | na | na | na | na | 85.000 | 87.000 | 91.000 DIMM 2 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 2 Temp | 23.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 3 | 0x0 | discrete | 0x0080| na | na | na | na | na | na DIMM 3 Temp | na | degrees C | na | na | na | na | 85.000 | 87.000 | 91.000 DIMM 4 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 4 Temp | 25.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 5 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 5 Temp | 26.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 6 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 6 Temp | 26.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 7 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 7 Temp | 26.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 8 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 8 Temp | 26.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 9 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 9 Temp | 25.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000 DIMM 10 | 0x0 | discrete | 0x0080| na | na | na | na | na | na DIMM 10 Temp | na | degrees C | na | na | na | na | 85.000 | 87.000 | 91.000 DIMM 11 | 0x0 | discrete | 0x4080| na | na | na | na | na | na DIMM 11 Temp | 24.000 | degrees C | ok | na | na | na | 85.000 | 87.000 | 91.000
The issue is when upgrading the UEFI we start seeing the sensor data read NA for the RAM modules which spins up the fans on the server, I don't know how to determine what on the OS is causing that but it sounds like something is trying to read that information and is locking up the sensor.
-
@rmaclachlan Thanks. I'm also unsure how we can determine what in the OS is causing this issue. Are there other installations or modifications we could try to help isolate the problem, such as another Linux distribution with the same kernel, to see if it's a kernel-related issue? @gduperrey or @olivierlambert any suggestions how we can help the team with identifying this?
-
I have no idea, sorry. Hopefully someone could tell us what we need to add in XCP-ng to fix it.
-
@LennertvdBerg To verify that the IPMI drivers are not messing up with the firmware, you could try to blacklist the IPMI modules.
Create the file/etc/modprobe.d/blacklist-ipmi.conf
containing the following and rebootblacklist ipmi_si blacklist ipmi_devintf blacklist ipmi_msghandler
Actually add a line for whatever modules the command
lsmod | grep ipmi
gives you -
@ThierryEscande . When I do
lsmod | grep ipmi
I get the following resultsipmi_si 65536 0 ipmi_devintf 20480 0 ipmi_msghandler 61440 2 ipmi_devintf,ipmi_si
So, I created the file with
vi /etc/modprobe.d/blacklist-ipmi.conf
and added the following:blacklist ipmi_si blacklist ipmi_devintf blacklist ipmi_msghandler
I saved the file and rebooted the system using shutdown -r now. However, I still don't see the memory temperatures in Xclarity, and the server's fans are still running at over 13,000 RPM. The system is running XCP-NG 8.3 beta 2 with kernel 4.19.0+1.
-
We have a new
kernel-alt
release available for testing purpose. This is only for XCP-ng 8.2.1 for now. The package for XCP-ng 8.3 should land soon.THIS IS A TEMPORARY REPO FOR TESTING PURPOSE ONLY
To install this
kernel-alt
package:- Edit the
xcp-ng.repo
file
# vi /etc/yum.repos.d/xcp-ng.repo
- Add the following lines at the end of the file:
[xcp-ng-tescande] name=XCP-ng 8.2 tescande User Repository baseurl=https://koji.xcp-ng.org/repos/user/8/8.2/tescande1/x86_64/ enabled=0 gpgcheck=0 priority=1
- Install the
kernel-alt
package
# yum --enablerepo=xcp-ng-tescande install kernel-alt
- Reboot and select
XCP-ng kernel-alt 4.19.309
at the grub screen.
- Edit the
-
@ThierryEscande
I've upgraded to the kernel-alt 4.19.309 while still using the old UEFI (kae110k 1.41). Currently the IPMI modules are not blacklisted in the modprobe config.The fan speeds remain stuck at 9k RPMs, consistent with both the stable and previous alt kernel versions.
I also attempted to upgrade again to the newest UEFI (kae118m 4.11) but didn't notice any discernible difference in fan behavior - here it's still around 13k RPMs.
The ipmitool output also didn't change from the one @rmaclachlan provided.If there are any other suggestions for testing or specific logs you'd like me to provide, please let me know.
-
@RIX_IT Thanks for your feedback.
Can you please share the output of
dmesg
andxl dmesg
? -
Even if this will probably be same as with XCP-ng 8.2, the
kernel-alt
package is available for 8.3.Same steps as in my previous post, except for the repo URL in
xcp-ng.repo
:[xcp-ng-tescande] name=XCP-ng 8.3 tescande User Repository baseurl=https://koji.xcp-ng.org/repos/user/8/8.3/tescande2/x86_64/ enabled=0 gpgcheck=0 priority=1
-
And for those on XCP-ng 8.3, it might be worth giving a try to
Xen 4.17
. You'll find all the necessary information on how to upgrade in the thread Xen 4.17 on XCP-ng 8.3. -
@ThierryEscande I'm experiencing difficulties with installing the
kernel-alt
package on my system. Currently, I am using XCP-ng version 8.3.0-beta2. It appears that there might be a problem with updategrub.py. Any guidance on how to resolve this would be greatly appreciated.I've update
xcp-ng.repo
and this is my output ofyum --enablerepo=xcp-ng-tescande install kernel-alt
:[20:12 xcp-ng-test1 ~]# yum --enablerepo=xcp-ng-tescande install kernel-alt Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Excluding mirror: updates.xcp-ng.org * xcp-ng-base: mirrors.xcp-ng.org Excluding mirror: updates.xcp-ng.org * xcp-ng-updates: mirrors.xcp-ng.org Resolving Dependencies --> Running transaction check ---> Package kernel-alt.x86_64 0:4.19.309-1.0.lenovotest.2.xcpng8.3 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================================================================================================================== Installing: kernel-alt x86_64 4.19.309-1.0.lenovotest.2.xcpng8.3 xcp-ng-tescande 30 M Transaction Summary =========================================================================================================================================================================================================================================================================================== Install 1 Package Total download size: 30 M Installed size: 154 M Is this ok [y/d/N]: y Downloading packages: kernel-alt-4.19.309-1.0.lenovotest.2.xcpng8.3.x86_64.rpm | 30 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : kernel-alt-4.19.309-1.0.lenovotest.2.xcpng8.3.x86_64 1/1 /var/tmp/rpm-tmp.l9rbzO: line 9: /opt/xensource/bin/updategrub.py: No such file or directory warning: %post(kernel-alt-4.19.309-1.0.lenovotest.2.xcpng8.3.x86_64) scriptlet failed, exit status 127 Non-fatal POSTIN scriptlet failure in rpm package kernel-alt-4.19.309-1.0.lenovotest.2.xcpng8.3.x86_64 Verifying : kernel-alt-4.19.309-1.0.lenovotest.2.xcpng8.3.x86_64 1/1 Installed: kernel-alt.x86_64 0:4.19.309-1.0.lenovotest.2.xcpng8.3
-
@ThierryEscande I've updated to
Xen 4.17
and it seems the upgrade went fine:host : xcp-ng-test1 release : 4.19.0+1 version : #1 SMP Wed Jan 24 17:19:11 CET 2024 machine : x86_64 nr_cpus : 64 max_cpu_id : 63 nr_nodes : 1 cores_per_socket : 32 threads_per_core : 2 cpu_mhz : 3245.126 hw_caps : 178bf3ff:7efa320b:2e500800:244037ff:0000000f:f1bf97a9:00405fce:00000780 virt_caps : pv hvm hvm_directio pv_directio hap gnttab-v1 gnttab-v2 total_memory : 130850 free_memory : 121721 sharing_freed_memory : 0 sharing_used_memory : 0 outstanding_claims : 0 free_cpus : 0 xen_major : 4 xen_minor : 17 xen_extra : .3-3 xen_version : 4.17.3-3 xen_caps : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : $Format:%H$, pq ??? xen_commandline : dom0_mem=7568M,max:7568M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=256M,below=4G console=vga vga=mode-0x0311 cc_compiler : gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) cc_compile_by : mockbuild cc_compile_domain : [unknown] cc_compile_date : Wed Feb 28 10:12:19 CET 2024 build_id : 9a011a28e29a21a7643376b36aec959253587d42 xend_config_format : 4
However, the issues with the fan speeds and missing memory temperature readings still persist.
-
@ThierryEscande
Of course. See the attached files:What I also did notice was that networking isn't working at all with the 4.19.309 kernel. Settings were the same as before and I couldn't even ping the gateway. I tried an emergency reset and reconfiguring, but still no luck. Upon booting with the stable kernel, it worked again as expected. But that's an issue for another day, I guess.
-
I have recently purchased four SR635v3 servers with AMD EPYC 9354P cpu.
I managed to get some info from Lenovo about how to manually change the fan speeds.
How to get the existing fan speeds. If this fails, check IPMI settings in the BMC.
[09:10 xcp01 ~]# ipmitool sdr list | grep -i fan Fan Mismatch | 0x00 | ok Fan 1 Front Tach | 19072 RPM | ok Fan 2 Front Tach | 19072 RPM | ok Fan 3 Front Tach | 18944 RPM | ok Fan 4 Front Tach | 19072 RPM | ok Fan 5 Front Tach | 18944 RPM | ok Fan 6 Front Tach | 19072 RPM | ok Fan 7 Front Tach | 0 RPM | ok Fan 1 Rear Tach | 15768 RPM | ok Fan 2 Rear Tach | 15768 RPM | ok Fan 3 Rear Tach | 15876 RPM | ok Fan 4 Rear Tach | 15876 RPM | ok Fan 5 Rear Tach | 15768 RPM | ok Fan 6 Rear Tach | 15768 RPM | ok Fan 7 Rear Tach | 0 RPM | ok Sys Fan Pwr | 48 Watts | ok
To change the fans to a fixed percentage - note the decimal "35" this is the percentage of maximum fan speed to set to.
ipmitool raw 0x3a 0x07 0xff 35 0x01
After a short while for the fans to spin down.
Fan Mismatch | 0x00 | ok Fan 1 Front Tach | 12288 RPM | ok Fan 2 Front Tach | 12160 RPM | ok Fan 3 Front Tach | 12160 RPM | ok Fan 4 Front Tach | 12288 RPM | ok Fan 5 Front Tach | 12160 RPM | ok Fan 6 Front Tach | 12288 RPM | ok Fan 7 Front Tach | 0 RPM | ok Fan 1 Rear Tach | 10152 RPM | ok Fan 2 Rear Tach | 10152 RPM | ok Fan 3 Rear Tach | 10260 RPM | ok Fan 4 Rear Tach | 10152 RPM | ok Fan 5 Rear Tach | 10260 RPM | ok Fan 6 Rear Tach | 10152 RPM | ok Fan 7 Rear Tach | 0 RPM | ok Sys Fan Pwr | 15 Watts | ok
To revert to auto-fan control you either need to restart the BMC/XCC controller which isn't system impacting.
Please keep in mind this was stressed to me that its NOT SUPPORTED/RECOMMENDED - and could cause thermal damage to internal components!!
We only have the M.2 mirror kit with two small disks, no other raid cards or internal disks.
If you have RAID and internal disks you might want to fix your fans to a higher speed.Someone with scripting knowledge could also monitor a few temps and adjust the IPMI fan control accordingly.
This could even be managed externally via IPMI over LAN for multiple servers. -
Forgot to mention - I pointed Lenovo at this thread, but got the usual "OS isn't supported, find an alternative"
-
Well, it would be more productive if they could only tell which component and version is needed to correctly handle their own fansβ¦
-
@olivierlambert would there be a way after GRUB to walk step by step through the boot and see where it goes wrong?
-
I had some time to test today so I upgraded the FW on a server, disabled IPMI as suggested above in the kernel and the fans remained spun up.
I disabled ACPI in grub (acpi=off) and the fans didn't spin up but then dom0 failed to fully load so that isn't great lol
Is it just a matter of the ACPI kernel driver being outdated? I'm not sure how to check that
-
@rmaclachlan If it's an ACPI issue and since Lenovo doesn't seem to be very cooperative, one could try to downgrade the firmware to a working version (i.e. one that runs fans at normal speed) and dump the ACPI table. Then upgrade to the latest firmware, dump the ACPI tables again, and then compare them.
I don't know ACPI much but I can have a look if you can share them.
The ACPI tools should be already installed on any XCP-ng host.
- Dump the ACPI tables in binary format
Do so in an empty folder as this produces numerous files
# acpidump -b
- Decompile the
dsdt.dat
file
# iasl -e ssdt*.dat -d dsdt.dat
- Do the same operations for both firmwares and share the
dsdt.dsl
files.
The files are pretty big so don't hesitate to compress them before sharing.
- Dump the ACPI tables in binary format