Ключи Supermicro, SSM, VMWare и лекарство от жадности

c766deba927f136e509441d47021fdbf.png

Ни для кого не секрет, что крупные производители серверного оборудования любят продавать самые вкусные фишки своего оборудования за отдельную плату. Supermicro ничем не лучше: начиная с X9 (Romley), появилась возможность обновлять BIOS материнской платы из-под веб-интерфейса IPMI, но, как говорится, есть нюанс. Для разблокировки этой возможности необходимо приобрести отдельную лицензию OOB.

58f45087fe949bce98476c09323f86d7.png

Для разных случаев у Supermicro есть несколько лицензий:

152f96a9cdd7e9c63a5e4b2374c37de8.png

Получается, чтобы обновить BIOS на лету, достаточно базовой ООВ лицензии, но если нужно централизованное управление группой серверов через «Supermicro Server Manager», нужна уже SFT-DCMS-SINGLE. Также в программе IPMIView заблокирована возможность запускать «KVM Console» через HTML5, можно только через тормозную Java.

bd84e1651af621f7098f736056b37ce6.png

Также попался мне как-то на глаза плагин VMWare VCSA для управления серверами Supermicro, называется «Supermicro Management Plug-in for VMware vCenter» (на сайте Supermicro, рядом с ним лежат плагины для Nagios и Microsoft SCOM). Штука показалась интересной. Но после установки оказалось, что и тут без лицензии никуда…

a2020a0072fbe353b04c5f64f20885a9.png

Казалось, делать нечего… продолжаем работать как раньше. Но однажды на Авито мне попалось объявление: человек за 700 деревянных продавал лицензии OOB для серверов Supermicro, и для этого нужно было только отправить MAC адрес BMC.

«Это жжж… неспроста!» — подумал я и полез узнавать, что по этому поводу думает Гугл. И как выяснилось, мир не без добрых людей, и все уже придумано до нас. На GitHub есть несколько проектов по этому поводу, самым интересным мне показался «Supermicro Product Key Utility»:

https://github.com/zsrv/supermicro-product-key? tab=readme-ov-file

Оказалось, все, что нужно, уже есть — бери да пользуйся.

Ну , а теперь к делу!

В этой статье я ничего своего не придумал, просто опробовал и описал.

Все эксперименты я делал на уже довольно старой плате Supermicro X10SRW-F, но должно работать и на X11 (в 12 поколении они перешли на JSON-ключи и способ работает только с некоторыми моделями).

3ab0d805afb4180cd4e3b8db1571b18a.png

Статья разбита на следующие разделы:

  1. Ключи OOB и SFT-DCMS-SINGLE: как получить, установить и удалить

  2. Установка и настройка «Supermicro Management Plug-in for VMware vCenter»

  3. Пробуем на вкус «Supermicro Server Manager»

Ключи OOB и SFT-DCMS-SINGLE: как получить, установить и удалить

Первым делом нужно скачать архив с GitHub (ссылка была выше), там под всевозможные платформы, начиная от FreeBSD до Windows. Лично я решил не заморачиваться и взял самый простой Windows. Программа имеет много разных ключей, про которые можно почитать в документации, я же опишу только то, что пригодилось мне. Сервера X12 у меня нет, поэтому с ключами JSON я не разбирался.

Следующим пунктом нужно выяснить MAC адрес BMC сетевой платы. Тут проблем быть не должно, смотрим в веб-морде IPMI

e92edf855cf2421815962731063abfe0.png

В нашем случае MAC-адрес: ac1f6bb72223

Дальше делаем по инструкции, которая в архиве с приложением:

Генерируем на основе мака OOB ключ:

a52d5670e60fd2b685abf6e92a7967d4.png

Для проверки делаем обратное, на основе ключа получаем MAС

3e7141d58208430146b7d6705a7e4a44.png

Теперь идем в админку IPMI и пытаемся обновить BIOS, где нам говорят, что без лицензии эта штука не работает:

c157be5e2dbfa4fb23e2309ed25ba32e.png

Но у нас уже есть ключ!!! Его и вводим: 6660-A1A1–0611-AEBB-2E95-B74E

c5183e943dbc224ee10735281631973c.png

Ура, ООВ активирован! Можно обновлять BIOS, но это не самый простой ключ, а хочется большего.

Теперь займемся ключом SFT-DCMS-SINGLE, который даст нам гораздо большие возможности.

Для генерации этого ключа вводим команду:

supermicro-product-key.exe nonjson encode --sku SFT-DCMS-SINGLE ac1f6bb72223

9db2b61898c9004bdcbcc102050fda8f.png

Вот он наш ключ! Но куда его вводить?

Для этого шага нам понадобится консольная утилита Supermicro Update Manager (или просто SUM). Качаем прямо с сайта производителя. Вместе с утилитой идет очень большая инструкция, из которой следует, что для установки ключа на удаленную систему нужно выполнить команду:

66aade9adec4b06a1d4d363ed4fbd67c.png

Вот и все. Ключ активирован!

Посмотрим, какие ключи установлены на хосте:

5ccfba60aa31ac0650ccfbb9edb15c32.png

Теперь немного о непонятном. Вдруг нас загрызет совесть, и мы захотим удалить не совсем честно полученные ключи. А как это сделать? У нас есть команды добавления и просмотра (ActivateProductKey и QueryProductKey), но нет команды удаления. А ведь раньше была!

На момент написания статьи последняя версия SUM это 2.13. А в версии 2.0 была еще команда ClearProductKey, которая и позволяла удалять установленные ключи. Так что если нужно очиститься от ключей, ищите старую версию.

Убедимся, что мы можем теперь пользоваться HTML5 KVM Console в IPMIView:

944e5a45a9b6ae97382626755d460d37.png

Напоследок замечу, что сервера Х9 не поддерживают ключи SFT-DCMS-SINGLE, и поэтому управлять ими через HTML5 IPMIView не даст, хотя через веб-морду они именно так и управляются. Зато они тоже понимают ключи OOB и могут через веб обновлять BIOS.

Установка и настройка «Supermicro Management Plug-in for VMware vCenter»

Данный плагин скачивается, как и остальные приложения удаленного управления, с сайта Supermicro:

https://www.supermicro.com/de/support/resources/downloadcenter/smsdownload

Последняя версия плагина была 2.3, и, как это ни странно, она у меня отказалась запускаться (вообще ничего не происходит). Немного поискав, нашел у себя версию 2.2.1, которая прекрасно запустилась. Что не так с 2.3, я так и не понял… может, в новой версии поправят. Из документации следует, что главное нововведение в 2.3 — это поддержка vCenter 8.

У меня vCenter 7,   так что версия 2.2.1 подойдет.

Установка плагина подробно расписана в инструкции, которая лежит в архиве с программой. Там все просто:

6e664c7c83a1dd56de8679ec781684fc.png

Вводим учетные данные от vCenter и ждем окончания установки, после чего нас попросит зайти на vSphere Client.

32a2af5fa16fb9f62ecb77e48d3c1f37.png

Если не залогиниться,  то установка окончится неудачей,  и придется начинать все сначала

b9be8b0d7a00d642f356173bfdc28f4a.png

Проверяем: в vCenter выбираем нужный хост и идем на вкладку Monitor. Там в самом низу должен появиться Supermicro Plug-in:

d8dbc1de5e505ba3670375a943ffa5d3.png

Вводим логин и пароль от IPMI и видим, что ничего не работает!

b1a9add51e253626a65c51a81696e528.png

А для того чтоб заработало, нужно было внимательней читать инструкцию, в которой написано, что нужно запустить службу «CIM Server»

de8e2831bb2c05dd9977dd9337cdae53.png

После этого в консоли хоста выполнить команду:

#esxcli system wbem set -e true

3790bc1bef65b2dbd307cdb70cf9f74d.png

После этого все должно заработать!

634c0af07ccfc5b27a243b00dc2516de.png

Теперь попробуем удалить этот плагин.  Для этого нужно положить на vCenter файл unregister-redfish.jar (идет вместе с плагином) и залогиниться по SSH, после чего выполнить команду:

 java -jar unregister-redfish.jar

42bd8f7573196fb1a36d0d35fe1fc6ce.png

У меня возникла небольшая проблема с переносом файла на vCenter с помощью программы WinSCP

75d9b1f6bae100a9d15f6086d94a725c.png

Чтобы этого избежать, нужно через SSH на VCSA выполнить команду:

chsh -s /bin/bash root

После того как файл будет загружен, вернем все как было командой:

chsh -s /bin/appliancesh root

Пробуем на вкус «Supermicro Server Manager»

Ну и напоследок попробуем добавить сервер в Supermicro Server Manager.

Скачиваем последнюю версию SSM сайта и устанавливаем. В самой установке нет ничего интересного или непонятного, нужно только указать пользователя и пароль, с которым мы будем заходить в SSM и почту админа, на которую будут приходить сообщения в случае обнаружения проблем.

2a398a9ba01f9b84b31f9db8e8ed3201.png4bdd83543da240ae8fd1c456a36fad91.png

Попробуем добавить наш сервер, для этого запускаем Host Discovery Wizard

0fc9b2987dae3063739b41c121a5c97b.png

Искать будем IPMI, все пункты я описывать не буду, ничего сложного там нет, нужно указать учетные данные и диапазон адресов, среди которых нужно искать.

Если бы мы до этого не ввели лицензию SFT-DCMS-SINGLE, то он бы ничего  не дал добавить (на скрине хосты 21, 22 и 23 это X9 сервера):

1b14061f135fbb55b3c56a7ed45835ca.png

А если лицензия введена, то совсем другое дело:

c074d035a88ae0bebf90cbd8d67a49ef.png

После добавления видно, какие у хоста есть лицензии

460fccbb70c79781b916fb062c1023e3.png

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

На этом все, надеюсь, кому-нибудь данный материал покажется интересным.

20ea37e26da76b54488f506723a1c3e4.png

© Habrahabr.ru