Перейти к основному содержанию
 

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

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.

fan

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

  • 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.

fan

В более новых моделях материнских плат 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 решила проблему.

Теги