Найти в Дзене

Supermicro — управляем вентиляторами

Оглавление

На новых серверах Supermicro вентиляторы работают в оптимальном режиме, но иногда режим требуется изменить. Кому-то нужно сделать потише, потому-что сервер стоит рядом, и весь день слушать этот вой нет никаких сил. Кому-то, наоборот, нужно врубить обороты на максимум, чтобы сервер не перегревался при максимально загруженных GPU.

Речь сейчас о материнских платах Supermicro X9/X10/X11 (для X8 можно в BIOS управлять). Вентиляторы данных материнок контролируют две зоны:

  • Зона 0 — вентиляторы на CPU или в корпусе, помечаются цифрами (FAN1, FAN2, и т.д.)
  • Зона 1 — вентиляторы периферии, помечаются буквами (FANA, FANB, и т.д.)

В BMC имеется 4 режима работы вентиляторов:

  • Standard
    Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 50%.
    Зона 1 — в зависимости от температуры PCH вентиляторы вращаются на 50%.
  • Optimal
    Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 30%.
    Зона 1 — вентиляторы вращаются на 30%.
  • Full
    Зона 0 — вентиляторы вращаются на 100%.
    Зона 1 — вентиляторы вращаются на 100%.
  • Heavy IO
    Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 30%.
    Зона 1 — вентиляторы вращаются на 75%.

Есть несколько способов изменить режим работы вентиляторов. К некоторым моделям подходят не все способы.

Через web интерфейс

Открываем web интерфейс IPMI и переходим в раздел Configuration > Fan mode.

-2

У моей модели сервера есть четыре варианта:

  • Set Fan to Full Speed
  • Set Fan to Optimal Speed
  • Set Fan to PUE2 (Power Utilization Effectiveness) Speed
  • Set Fan to HeavyIO Speed

Я так понимаю, что PUE2 у меня это вместо стандартного режима.

Через BIOS

Здесь пример для материнской платы X8. Advanced > Hardware Health Configuration. Fan Speed Control Modes.

-3

В более новых моделях материнских плат Supermicro я данных настроек не увидел.

Через ipmitool или IPMICFG

Установка ipmitool

В Ubuntu устанавливаем ipmitool:

apt-get update
apt-get install ipmitool

В RedHat или CentOS:

yum update
yum install OpenIPMI ipmitool
/sbin/chkconfig ipmi on
service ipmi start

Управление режимом работы вентиляторов

Считать текущий режим работы вентиляторов:

ipmitool -I lanplus -U <user name> -P <password> -H <hostname or IP> raw 0x30 0x45 0x00

Результат может быть:

  • 00 – Standard
  • 01 – Full
  • 02 – Optimal
  • 04 – Heavy IO

Установить режим работы вентиляторов:

#Standard
ipmitool -I lanplus -H хост -U логин -P пароль raw 0x30 0x45 0x01 0x00
#Full
ipmitool -I lanplus -H хост -U логин -P пароль raw 0x30 0x45 0x01 0x01
#Optimal
ipmitool -I lanplus -H хост -U логин -P пароль raw 0x30 0x45 0x01 0x02
#Heavy IO
ipmitool -I lanplus -H хост -U логин -P пароль raw 0x30 0x45 0x01 0x04

В IPMICFG синтаксис схож:

Ipmicfg -raw 0x30 0x45 0x00

Управление скоростью вентиляторов

Помимо режима работы можно устанавливать скорость.

Я сам не проверял! Все изменения вы вносите на свой страх и риск!

Перед началом нужно сменить режим на Full, иначе BMC переопределит ваши настройки.

#Full
ipmitool -I lanplus -H хост -U логин -P пароль raw 0x30 0x45 0x01 0x01
#zone 0
ipmitool -I lanplus -H хост -U логин -P пароль 0x30 0x70 0x66 0x01 0x0 0x<CYCLE>
#zone 1
ipmitool -I lanplus -H хост -U логин -P пароль 0x30 0x70 0x66 0x01 0x1 0x<CYCLE>

Где <CYCLE> — скорость от 00 до 64. 0x64 соответствует 100%, 0x32 — 50% и т.п.

Управление пороговыми значениями (thresholds)

Список сенсоров, выбираем всё похожее на вентиляторы:

ipmitool -I lanplus -H хост -U логин -P пароль sensor list | grep FAN

Хелп по изменению пороговых значений сенсора:

ipmitool -I lanplus -H хост -U логин -P пароль sensor thresh
sensor thresh <id> <threshold> <setting>
id : name of the sensor for which threshold is to be set
threshold : which threshold to set
unr = upper non-recoverable
ucr = upper critical
unc = upper non-critical
lnc = lower non-critical
lcr = lower critical
lnr = lower non-recoverable
setting : the value to set the threshold to

sensor thresh <id> lower <lnr> <lcr> <lnc>
Set all lower thresholds at the same time

sensor thresh <id> upper <unc> <ucr> <unr>
Set all upper thresholds at the same time

Меняем выбранному вентилятору нижние пороговые значения:

ipmitool -I lanplus -H хост -U логин -P пароль sensor thresh FAN2 lower 150 225 300

Меняем выбранному вентилятору верхние пороговые значения:

ipmitool -I lanplus -H хост -U логин -P пароль sensor thresh FAN2 upper 23000 24000 25000

Ссылки

https://www.supermicro.com/support/faqs/faq.cfm?faq=18025

https://www.supermicro.com/en/solutions/management-software/ipmi-utilities

Получение информации о сенсорах IPMI с помощью ipmitool

Примечание

Иногда операционная система начинает сама рулить вентиляторами сервера. При установке Ubuntu Desktop вентиляторы постоянно вращались под 22k оборотов. Установка Ubuntu Server решила проблему.

Источник:
https://internet-lab.ru/supermicro_fan_speed

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.