oldnetdog 发表于 2025-3-17 09:49

英业达OEM的双路EPYC服务器如何通过ipmitool控制风扇转速

本帖最后由 oldnetdog 于 2025-3-17 09:50 编辑

有大神知道英业达的双路EPYC服务器怎么通过ipmitool工具调整风扇转速么?
机房里面有一台英业达给阿里云OEM的机器,开机风扇全速运转,进入系统也一样,风扇高达17000转,CPU和Nvme盘温度是极低,但声音如同飞机起飞,实在太响。

我看这个机器的产品代码叫做inventec horsea,似乎很多EPYC双路服务器都是类似的设计,包括国鑫的SR201系列。

传感器情况
#ipmitool sensor |egrep -i 'FAN|CPU|nvme'

CPU0_Temp      | 35.000   | degrees C| ok    | na      | na      | na      | na      | 94.000    | na      
CPU1_Temp      | 32.000   | degrees C| ok    | na      | na      | na      | na      | 94.000    | na      
CPU0_VR_Temp   | 31.000   | degrees C| ok    | na      | na      | na      | na      | 125.000   | na      
CPU1_VR_Temp   | 31.000   | degrees C| ok    | na      | na      | na      | na      | 125.000   | na      
CPU0_VCORE       | 1.782      | Volts      | ok    | 1.440   | 1.476   | 1.512   | 1.899   | 1.935   | 1.971   
CPU1_VCORE       | 1.764      | Volts      | ok    | 1.440   | 1.476   | 1.512   | 1.899   | 1.935   | 1.971   
CPU0_DDR_VDD1    | 1.232      | Volts      | ok    | 1.022   | 1.050   | 1.071   | 1.309   | 1.330   | 1.358   
CPU1_DDR_VDD1    | 1.232      | Volts      | ok    | 1.022   | 1.050   | 1.071   | 1.309   | 1.330   | 1.358   
CPU0_DDR_VDD2    | 1.232      | Volts      | ok    | 1.022   | 1.050   | 1.071   | 1.309   | 1.330   | 1.358   
CPU1_DDR_VDD2    | 1.232      | Volts      | ok    | 1.022   | 1.050   | 1.071   | 1.309   | 1.330   | 1.358   
FAN0_F_RPM       | 18048.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN0_R_RPM       | 17568.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN1_F_RPM       | 18144.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN1_R_RPM       | 17184.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN2_F_RPM       | 18240.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN2_R_RPM       | 17472.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN3_F_RPM       | 18144.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN3_R_RPM       | 17376.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN4_F_RPM       | 18048.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN4_R_RPM       | 17184.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN5_F_RPM       | 18048.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
FAN5_R_RPM       | 17184.000| RPM      | ok    | na      | 2016.000| na      | na      | na      | na      
SYS_Fan0_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
SYS_Fan1_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
SYS_Fan2_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
SYS_Fan3_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
SYS_Fan4_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
SYS_Fan5_Present | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
PS0_Fan_Status   | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
PS1_Fan_Status   | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
CPU0_Status      | 0x80       | discrete   | 0x8080| na      | na      | na      | na      | na      | na      
CPU1_Status      | 0x80       | discrete   | 0x8080| na      | na      | na      | na      | na      | na      
CPU0_Prochot   | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
CPU1_Prochot   | 0x0      | discrete   | 0x0080| na      | na      | na      | na      | na      | na      
CPU_Tjmax      | 95.000   | degrees C| ok    | na      | na      | na      | na      | na      | na      
CPU_TControl   | 85.000   | degrees C| ok    | na      | na      | na      | na      | na      | na      
CPU_Total_Power| 123.000    | Watts      | ok    | na      | na      | na      | na      | na      | na      
Fan_Total_Power| 393.000    | Watts      | ok    | na      | na      | na      | na      | na      | na      
MOC_CPU_Temp   | na         | degrees C| na    | na      | na      | na      | na      | 103.000   | na      
MOC_NVME_Temp    | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME0_Temp       | 19.000   | degrees C| ok    | na      | na      | na      | na      | 70.000    | na      
NVME1_Temp       | 19.000   | degrees C| ok    | na      | na      | na      | na      | 70.000    | na      
NVME2_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME3_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME4_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME5_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME6_Temp       | 19.000   | degrees C| ok    | na      | na      | na      | na      | 70.000    | na      
NVME7_Temp       | 20.000   | degrees C| ok    | na      | na      | na      | na      | 70.000    | na      
NVME8_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME9_Temp       | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME10_Temp      | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      
NVME11_Temp      | na         | degrees C| na    | na      | na      | na      | na      | 83.000    | na      


问了下deepseek,给了以下操作建议,试了下也不行。

To control fan speeds on an Inventec Horsea server using ipmitool, follow these steps. Note: Exercise caution, as improper fan settings can lead to hardware damage. Always monitor temperatures closely.

1. Prerequisites
Ensure IPMI is enabled in the BIOS.

Install ipmitool on your system (Linux: sudo apt-get install ipmitool).

Have BMC credentials (defaults are often ADMIN/ADMIN; check Inventec docs).

2. Identify Fan Sensors
List all sensors to find fan IDs and current speeds:


ipmitool -I lanplus -H <BMC_IP> -U <USERNAME> -P <PASSWORD> sensor list | grep FAN
Replace <BMC_IP>, <USERNAME>, and <PASSWORD> with your BMC details.

3. Switch to Manual Fan Control
Inventec often uses OEM-specific raw commands. For many Inventec systems:

ipmitool -I lanplus -H <BMC_IP> -U <USER> -P <PASS> raw 0x3a 0x07 0x01
0x3a 0x07 0x01: Sets fan mode to manual.

4. Set Fan Speed
Use raw commands to adjust fan duty cycles (percentage). Example for 50% speed:

ipmitool -I lanplus -H <BMC_IP> -U <USER> -P <PASS> raw 0x3a 0x09 0x00 0x00 0x32
0x3a 0x09: OEM command for setting fan speed.

0x00: Fan ID (often 0x00 for all fans, 0x01 for specific zones).

0x32: Hex value for 50% (0x64 = 100%).

5. Revert to Automatic Control

ipmitool -I lanplus -H <BMC_IP> -U <USER> -P <PASS> raw 0x3a 0x07 0x00

Important Notes
Risk of Overheating: Manual control bypasses BMC safeguards. Monitor temps with ipmitool sensor.

Inventec-Specific Commands: The above raw commands (0x3a) are common for Inventec but may vary by model. Consult Inventec documentation if available.

Fan IDs: Experiment with 0x00, 0x01, etc., to target specific fans (test in a safe environment).


Troubleshooting
If commands fail, check BMC firmware version and update if necessary.

Community resources (e.g., GitHub, forums) may provide model-specific insights.

Always prioritize hardware safety and validate commands in a controlled setup.


执行ipmitool raw 0x3a 0x07 0x01
报错:
Unable to send RAW command (channel=0x0 netfn=0x3a lun=0x0 cmd=0x7 rsp=0xc1): Invalid command

请问有搞过这个服务器的大神么?
页: [1]
查看完整版本: 英业达OEM的双路EPYC服务器如何通过ipmitool控制风扇转速