На новых серверах 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%.
Есть несколько способов изменить режим работы вентиляторов. К некоторым моделям подходят не все способы.
В последнее время появились другие режимы, типа PUE (Power Usage Effectiveness) для меньшего энергопотребления. Политика партии немного меняется.
- Optimal
- Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 50%.
- Зона 1 — в зависимости от температуры PCH вентиляторы вращаются на 50%.
- PUE2
- Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 30%.
- Зона 1 — вентиляторы вращаются на 30%.
- Full
- Зона 0 — вентиляторы вращаются на 100%.
- Зона 1 — вентиляторы вращаются на 100%.
- Heavy IO
- Зона 0 — в зависимости от температуры CPU вентиляторы вращаются на 50%.
- Зона 1 — вентиляторы вращаются на 75%.
В зависимости он версии BIOS и IPMI проценты могут меняться.
Через web интерфейс
Открываем web интерфейс IPMI и переходим в раздел Configuration > Fan mode.
У моей модели сервера есть четыре варианта:
- 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.
В более новых моделях материнских плат 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 решила проблему.