解决 Dell PowerEdge T630 增加第三方 PCIe 设备后制冷系统异常

配置 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 O

配置

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 系列服务器

LICENSED UNDER CC BY-NC-SA 4.0
Comment