Полезное

Supermicro Update Manager (SUM): установка и работа с инструментом обновления

Вадим Заплетин 4 мин чтения
Supermicro Update Manager (SUM): установка и работа с инструментом обновления

Supermicro Update Manager (SUM) — утилита командной строки для управления прошивками серверов Supermicro. Инструмент обновляет BIOS, BMC, контроллеры RAID, сетевые адаптеры и другие компоненты без необходимости перезагрузки в DOS или EFI Shell. Подходит для массового развёртывания обновлений в дата-центрах и работы через удалённое управление.

SUM работает в двух режимах: локально (на том же сервере, где запущена утилита) и удалённо (через сеть по протоколу IPMI). Второй вариант позволяет обновлять десятки серверов с одного рабочего места без физического доступа к оборудованию. Это экономит время при обслуживании распределённых инфраструктур и снижает риск человеческой ошибки.

Системные требования и совместимость

SUM поддерживает операционные системы Windows, Linux, FreeBSD и VMware ESXi. Утилита работает как на x86, так и на ARM-архитектуре. Для запуска требуется:

  • Процессор: любой современный серверный CPU (Intel Xeon, AMD EPYC)
  • Оперативная память: минимум 512 МБ свободной RAM
  • Дисковое пространство: 200 МБ для дистрибутива и временных файлов
  • Сетевое подключение: для удалённого режима — доступ к BMC по IP

Утилита совместима со всеми серверами Supermicro, выпущенными после 2010 года. Для корректной работы прошивка BMC должна быть не старше версии 3.0. Проверить версию можно через веб-интерфейс IPMI или командой ipmitool mc info.

SUM не требует установки драйверов. В Windows работает через WMI и IPMI-интерфейс, в Linux — через OpenIPMI или напрямую через сокеты. Для массовых операций рекомендуется выделенная рабочая станция или виртуальная машина с сетевым доступом ко всем управляемым серверам.

Загрузка и установка Supermicro Update Manager

Скачайте актуальную версию SUM с официального сайта Supermicro в разделе Download → Management Software. Дистрибутив поставляется в виде ZIP-архива для каждой операционной системы отдельно. Распакуйте содержимое в рабочую директорию — установка не требуется, утилита запускается из распакованной папки.

Структура дистрибутива:

  • sum.exe (Windows) или sum (Linux) — основной исполняемый файл
  • sumrc.cfg — файл конфигурации для хранения параметров подключения
  • logs/ — директория для журналов выполнения операций
  • packages/ — папка для размещения файлов прошивок

В Linux перед первым запуском установите права на выполнение командой chmod +x sum. Для работы через IPMI убедитесь, что утилита ipmitool установлена в системе (пакеты ipmitool в RHEL/CentOS или ipmitool в Debian/Ubuntu).

Проверьте работоспособность командой:

sum -v

Утилита выведет версию и список доступных опций. Если вывод появился — установка завершена успешно.

Настройка подключения к серверу

Для удалённой работы SUM требуется IP-адрес BMC, логин и пароль администратора IPMI. Эти данные можно передать через параметры командной строки или сохранить в конфигурационном файле sumrc.cfg для многократного использования.

Подключение через параметры командной строки

Базовый синтаксис:

sum -i <IP_BMC> -u <user> -p <password> -c <command>

Пример проверки соединения:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckAssetInfo

Команда выведет модель сервера, серийный номер, версии BIOS и BMC. Если данные получены — подключение настроено корректно.

Использование конфигурационного файла

Для работы с несколькими серверами создайте файл sumrc.cfg в директории SUM. Пример содержимого:

[Server1]
IP=192.168.1.100
Username=ADMIN
Password=ADMIN

[Server2]
IP=192.168.1.101
Username=root
Password=SuperSecret123

Запуск команды для конкретного сервера:

sum -c CheckAssetInfo --file sumrc.cfg --section Server1

Такой подход защищает пароли от попадания в историю команд и упрощает автоматизацию через скрипты.

Получение информации о сервере

Перед обновлением прошивок соберите данные об установленных компонентах и текущих версиях. SUM предоставляет несколько команд для инвентаризации:

Команда Описание
CheckAssetInfo Общая информация: модель, S/N, BIOS, BMC
GetCurrentBiosCfg Текущие настройки BIOS (экспорт в XML)
GetDmiInfo DMI-таблица: память, CPU, слоты расширения
GetSensorInfo Показания датчиков: температура, напряжение, обороты вентиляторов
GetEventLog Журнал событий SEL (System Event Log)

Пример получения полной конфигурации сервера:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c GetDmiInfo --file dmi_output.xml

Команда сохранит результат в XML-файл. Это удобно для аудита серверных платформ перед изменением конфигурации или для сравнения состояния «до и после» обновления.

Для быстрой проверки версий прошивок используйте:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckAssetInfo | grep -E "BIOS|BMC"

В Windows замените grep на findstr.

Обновление BIOS через SUM

Процесс обновления BIOS состоит из трёх этапов: загрузка образа прошивки, заливка в память сервера, активация после перезагрузки. SUM выполняет первые два автоматически, перезагрузку можно запланировать или выполнить вручную.

Пошаговая инструкция

  1. Скачайте актуальный BIOS для вашей модели сервера с сайта Supermicro (раздел Support → Downloads). Файл поставляется в формате .bin или упакован в ZIP-архив.
  2. Поместите файл прошивки в директорию packages/ внутри папки SUM или укажите полный путь в команде.
  3. Запустите обновление командой:
    sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS_X11DPH-I_3.4.bin
    
  4. SUM загрузит прошивку на сервер, проверит контрольную сумму и запишет в BIOS-чип. Процесс занимает 3-5 минут. Не прерывайте операцию — обрыв соединения может повредить прошивку.
  5. После завершения записи перезагрузите сервер командой:
    sum -i 192.168.1.100 -u ADMIN -p ADMIN -c PowerCycle
    
  6. Проверьте версию BIOS после загрузки:
    sum -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckAssetInfo | grep BIOS
    

Для массового обновления создайте скрипт, который последовательно обрабатывает список IP-адресов из файла. Пример для Linux:

#!/bin/bash
while IFS= read -r ip; do
  echo "Updating $ip..."
  sum -i "$ip" -u ADMIN -p ADMIN -c UpdateBios --file BIOS_latest.bin
  sum -i "$ip" -u ADMIN -p ADMIN -c PowerCycle
done < servers.txt

Такой подход позволяет обновить весь парк серверов в нерабочее время без ручного вмешательства.

Обновление прошивки BMC

BMC (Baseboard Management Controller) — микроконтроллер для удалённого управления сервером. Обновление его прошивки добавляет новые функции IPMI, исправляет уязвимости безопасности и улучшает стабильность работы.

Команда обновления BMC аналогична BIOS:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBmc --file BMC_X11_01.73.17.bin

Отличия от обновления BIOS:

  • BMC перезагружается автоматически после записи прошивки (сервер остаётся включённым)
  • Процесс занимает 7-10 минут — BMC недоступен в это время
  • После обновления веб-интерфейс IPMI может потребовать сброса кэша браузера

Проверьте версию BMC после обновления:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckAssetInfo | grep BMC

Если версия не изменилась — дождитесь завершения перезагрузки BMC (индикатор: доступность веб-интерфейса IPMI). В редких случаях требуется cold reset сервера через физическое отключение питания на 30 секунд.

Обновление прошивок дополнительных компонентов

SUM умеет обновлять прошивки RAID-контроллеров, сетевых адаптеров, HBA и других PCIe-устройств. Это полезно для поддержания единой версии firmware во всей инфраструктуре и устранения известных багов.

RAID-контроллеры

Broadcom (LSI) MegaRAID и Adaptec поддерживаются через команду UpdateFirmware. Укажите тип устройства и файл прошивки:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateFirmware --component RAID --file MR_SAS_9361.fw

После обновления серверных контроллеров требуется перезагрузка операционной системы. SUM не перезагружает сервер автоматически — сделайте это вручную или запланируйте через PowerCycle с задержкой.

Сетевые адаптеры

Обновление прошивок Intel X710, Broadcom BCM5720 и других NIC:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateFirmware --component NIC --file Intel_X710_8.50.fw

Для сетевых карт и адаптеров перезагрузка необязательна — новая версия прошивки активируется при следующем включении порта или cold boot сервера.

Проверка совместимости прошивок

Перед обновлением проверьте матрицу совместимости на сайте Supermicro. Некоторые версии прошивок контроллеров несовместимы с определёнными версиями BIOS или BMC. Установка несовместимой версии может привести к отказу загрузки или потере доступа к RAID-массивам.

Типовые сценарии использования SUM

Сценарий Команда Комментарий
Инвентаризация сервера CheckAssetInfo Модель, S/N, версии прошивок
Обновление BIOS UpdateBios --file BIOS.bin Требует перезагрузку сервера
Обновление BMC UpdateBmc --file BMC.bin BMC перезагружается автоматически
Экспорт настроек BIOS GetCurrentBiosCfg --file cfg.xml Сохранение конфигурации перед изменениями
Импорт настроек BIOS LoadDefaultBiosCfg --file cfg.xml Применение единой конфигурации на несколько серверов
Очистка журнала событий ClearEventLog Удаление старых записей SEL
Удалённая перезагрузка PowerCycle Cold reboot через IPMI

Для развёртывания одинаковой конфигурации BIOS на десятки серверов используйте связку GetCurrentBiosCfg + LoadDefaultBiosCfg. Настройте BIOS на эталонном сервере, экспортируйте конфигурацию в XML, затем примените её на остальные машины одной командой. Это исключает ошибки ручной настройки и ускоряет развёртывание новых готовых сборок серверов.

Автоматизация обновлений через скрипты

SUM возвращает коды завершения (exit codes), что позволяет встраивать утилиту в CI/CD-пайплайны и системы оркестрации (Ansible, Terraform, PowerShell DSC). Код 0 означает успешное выполнение, отличный от нуля — ошибку.

Пример обработки ошибок в Bash:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin
if [ $? -eq 0 ]; then
  echo "BIOS updated successfully"
  sum -i 192.168.1.100 -u ADMIN -p ADMIN -c PowerCycle
else
  echo "BIOS update failed, check logs"
  exit 1
fi

Для Windows PowerShell используйте переменную $LASTEXITCODE:

.\sum.exe -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin
if ($LASTEXITCODE -eq 0) {
  Write-Host "Success"
} else {
  Write-Host "Failed"
  exit 1
}

Логи операций сохраняются в директорию logs/ с меткой времени. Для отладки используйте флаг --log-level debug для получения подробного вывода.

Частые ошибки и способы их устранения

Ошибка: Connection timeout

Причина: BMC недоступен по указанному IP-адресу.

Решение: Проверьте сетевую связность командой ping IP_BMC. Убедитесь, что порт IPMI (UDP 623) не блокируется файрволом. Проверьте, включён ли IPMI Over LAN в настройках BMC через веб-интерфейс.

Ошибка: Authentication failed

Причина: Неверный логин или пароль IPMI.

Решение: Сбросьте пароль IPMI через BIOS Setup (вкладка IPMI → BMC Network Configuration) или физически подключившись к серверу. Стандартные учётные данные по умолчанию: ADMIN/ADMIN.

Ошибка: Firmware update failed: verify error

Причина: Файл прошивки повреждён или несовместим с моделью сервера.

Решение: Скачайте прошивку заново с официального сайта Supermicro. Проверьте MD5-хеш файла. Убедитесь, что версия прошивки предназначена именно для вашей модели материнской платы (указано в названии файла).

Ошибка: BMC not responding после обновления

Причина: BMC завис во время перезагрузки после обновления прошивки.

Решение: Выполните cold reset сервера: отключите питание на 30 секунд, затем включите обратно. BMC перезагрузится полностью. Если проблема сохраняется — откатитесь на предыдущую версию прошивки BMC через локальное обновление (загрузка с USB-флешки в EFI Shell).

Ошибка: Insufficient permissions

Причина: Учётная запись IPMI не имеет прав администратора.

Решение: Войдите в веб-интерфейс BMC с учётной записью ADMIN, перейдите в Configuration → Users, назначьте уровень привилегий Administrator для используемого пользователя.

Мониторинг процесса обновления

Для отслеживания прогресса обновления прошивок в реальном времени используйте флаг --verbose:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin --verbose

SUM выводит процентное соотношение выполненной работы и текущий этап (загрузка, проверка, запись, верификация). Это помогает оценить оставшееся время и убедиться, что процесс не завис.

Для массовых операций логируйте вывод в файл:

sum -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin > update_log.txt 2>&1

Анализируйте логи через grep или текстовый редактор для поиска ошибок и предупреждений.

Интеграция SUM с системами мониторинга

SUM можно встроить в Zabbix, Nagios или Prometheus для автоматической проверки версий прошивок и отправки алертов при обнаружении устаревших версий. Создайте скрипт, который опрашивает серверы через CheckAssetInfo, парсит JSON/XML-вывод и сравнивает версии с эталонными значениями.

Пример для Zabbix UserParameter:

UserParameter=supermicro.bios.version[*],sum -i $1 -u ADMIN -p ADMIN -c CheckAssetInfo | grep "BIOS Version" | awk '{print $3}'

Настройте триггер, который срабатывает при несовпадении версии BIOS с целевой. Это позволит оперативно выявлять серверы, требующие обновления, без ручного аудита.

Часто задаваемые вопросы

Можно ли откатить BIOS на предыдущую версию через SUM?

Да, SUM позволяет установить любую версию BIOS — как более новую, так и старую. Используйте команду UpdateBios с файлом прошивки нужной версии. Обратите внимание: некоторые производители блокируют даунгрейд BIOS на аппаратном уровне (например, при включённом Secure Boot). В этом случае потребуется предварительно отключить Secure Boot через BIOS Setup.

Как обновить несколько серверов одновременно?

Создайте скрипт, который запускает SUM параллельно для каждого IP-адреса. В Linux используйте GNU Parallel или фоновые задачи (&). Пример: for ip in $(cat servers.txt); do sum -i $ip -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin & done; wait. Ограничьте количество одновременных подключений (например, 10) чтобы не перегружать сеть.

Поддерживает ли SUM обновление прошивок дисков и блоков питания?

SUM не обновляет прошивки жёстких дисков, SSD и блоков питания напрямую. Для дисков используйте утилиты производителей (Samsung Magician, Intel MAS, Western Digital Dashboard). Прошивки блоков питания обновляются редко и обычно только через техподдержку Supermicro. SUM работает только с компонентами, управляемыми через BMC: BIOS, BMC, RAID-контроллеры, NIC, HBA.

Безопасность и резервное копирование

Перед обновлением критически важных серверов создайте резервные копии текущих конфигураций:

  • Экспортируйте настройки BIOS: GetCurrentBiosCfg --file backup_bios.xml
  • Сохраните конфигурацию RAID-контроллера через его утилиту (StorCLI, MegaCLI)
  • Сделайте снапшот виртуальных машин, если сервер используется как гипервизор
  • Запишите текущие версии всех прошивок для возможности отката

Храните файлы прошивок в изолированной сетевой папке с контролем версий. Это защитит от случайной установки тестовой или неподходящей версии firmware.

При работе с серверами в продакшене планируйте обновления на окна обслуживания. Несмотря на то что обновление BMC не требует перезагрузки сервера, потеря связи с BMC на 5-10 минут может помешать автоматизированным системам мониторинга и оркестрации.

Выводы

Supermicro Update Manager упрощает обслуживание серверов Supermicro за счёт централизованного управления прошивками через единый интерфейс командной строки. Утилита работает удалённо через IPMI, поддерживает массовые операции и легко интегрируется в существующие процессы DevOps.

Ключевые преимущества SUM:

  • Обновление BIOS, BMC и контроллеров без физического доступа к серверу
  • Поддержка всех операционных систем (Windows, Linux, ESXi, FreeBSD)
  • Возможность автоматизации через скрипты и системы оркестрации
  • Экспорт и импорт настроек BIOS для стандартизации конфигураций
  • Подробное логирование для аудита и отладки

Для организации процессов обновления в крупных дата-центрах рекомендуем создать центральный репозиторий прошивок, автоматизировать проверку версий через системы мониторинга и внедрить регламент тестирования новых версий BIOS/BMC на изолированных серверах перед массовым развёртыванием.

Если вам требуется консультация по выбору серверной платформы Supermicro или помощь в настройке инфраструктуры обновлений — свяжитесь со специалистами Server360. Мы поможем спроектировать решение под ваши задачи и объёмы оборудования.