配置
Device: Dell PowerEdge T630
CPU: Intel(R) Xeon(R) E5-2696 v4 x2
GPU 1: Matrox Electronics Systems Ltd. G200eR2
GPU 2: NVIDIA GeForce GTX 1060 3GB
OS: Proxmox VE bookworm 8.3.1 x86_64
iDRAC firmware: 2.86.86.86
BIOS: 2.19.0
PSU: 750W x1
注意
本文中提到的方案无论根据社区经验还是官方文档都不适用于本文使用的软件及硬件配置,但不知道因为什么原因它实际生效,故本文方案仅提供参考价值
无论使用哪种方案,请确保第三方 PCIe 设备能够获得足够的冷却,本文中使用 GTX 1060 显卡在禁用 默认冷却响应 后运行实际业务 1 小时后测得温度稳定在 48℃,若实际运行温度过高请尝试提高风扇转速或启用 默认冷却响应 来保证设备运行安全,或寻求调速以外的其他物理方案
为什么需要调速
Dell 服务器在添加了第三方 PCIe 设备后,会启用 默认冷却响应逻辑,以根据常见行业卡规范来提供气流。该策略目标为向 PCIe 区域提供最多 55℃ 的进气
基于 T630 风道设计,风扇组中 6 个风扇有 4 个用于 CPU 风道,只有剩余的 2 个风扇的部分风道用于 PCIe 区域散热,这就造成添加任何需要额外冷却的 PCIe 设备都会导致服务器风扇组处于 90% 以上的转速且不可控,这个声音非常吵且无任何必要性
本文中使用的配置不需要 PCIe 区域获得额外气流,并且由于新版本 iDRAC 中取消了手动配置风扇组转速的能力,所以需要借助 ipmitool
来手动控制冷却策略
手动控制
在社区方案中,提到了使用 ipmitool
写入指令的方式来手动调整风扇转速,该工具用于 IPMI 通信
在主机中安装 ipmitool
apt install ipmitool openipmi openipmi-tools
本文使用 -I open
选项,使用 OpenIPMI
驱动接口通过内核直接与 IPMI 交互
# 配置为手动控制
ipmitool -I open raw 0x30 0x30 0x01 0x00
# 调速固定为 30%
ipmitool -I open raw 0x30 0x30 0x02 0xff 0x1e
0x30 0x30 0x01
为手动模式/自动模式切换,手动模式值为 0x00
,自动模式 0x01
0x30 0x30 0x02
为转速控制,其值控制脚本如下
# Usage: ./fan_speed.sh 30
if [ "$1" != "" ]; then
fan=`printf "0x%x" $1`
else
fan=0x1e # 30%
fi
ipmitool -I open raw 0x30 0x30 0x02 0xff $fan
该方案根据社区反馈,在重启后需要重新配置
理论上新版本的 iDRAC 已经关闭了 IPMI 中制冷系统的手动模式控制接口,只有在非常老旧的版本中才允许使用手动控制,由于 iDRAC 降级必须保证连续版本降级,即 2.86.86.86
=> 2.85.85.85
=> 2.84.84.84
=> ...,实际操作降级可能会非常困难
在实际测试中,该方案仅调整了系统制冷系统中包含的风扇组,并不能控制 PSU 风扇转速
禁用第三方 PCIe 卡默认冷却响应
PowerEdge:如何在 PowerEdge 13G 服务器上禁用第三方 PCIe 卡默认冷却响应
Dell 官方知识库中,这篇文章提到了冷却策略的调整方式,虽然文档开头就注明了 本文不适用于 PowerEdge T630,但实际测试有效
# Enable
ipmitool -I open raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00
# Disable
ipmitool -I open raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00
0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00
用于控制冷却响应逻辑模式
0x30 0xce 0x01 0x16 0x05 0x00 0x00 0x00
用于获取冷却响应逻辑模式状态
0x05 0x00 0x00 0x00 0x00
启用 默认冷却响应逻辑
0x05 0x00 0x01 0x00 0x00
禁用 默认冷却响应逻辑
通过禁用 默认冷却响应逻辑 的方式来降低整机所有组件的制冷策略
理论上该方案仅适用于 Dell PowerEdge R 系列服务器