Найти в Дзене
WIT Company

Адаптация старой серверной платформы к новому модулю памяти: танцы с бубном вокруг обновления BIOS

История одного сервера

Вот бывает иногда, что от обсуждения спецификации серверного оборудования до сделки проходит пара-тройка лет. Меняются поколения стандартов памяти, процессоров, чуть ли не кратно растет емкость дисков, но однажды забитая в спецификацию конфигурация остается неизменной, а ситуация в какой-то момент доходит до стадии «Ой, а что, мы этого до сих пор не купили???»

Так было и с этим сервером, на стареньких E5-2600. С той поры вышли 4-е поколения серверных процессоров – вплоть до Intel Xeon Scalable 4th (Saphire Rapids) и AMD 7004 (Genoa, первые в архитектуре ZEN4), память DDR4 уже и в серверном сегменте сменяется стандартом DDR5, дважды, до 5-й, обновилась версия шины PCI Express…

Первым квестом был заказ в Китае самих процессоров, поскольку тут их уже не найти (клиент забил в спецификацию достаточно редкие E5-2637v4). Никогда не знаешь, что приедет тебе при таком заказе – описания порой грешат совершенно непонятными приписками вроде «ресурс 90%». Что бы это значило? Что из 8 ядер/потоков работает только 7?? Это же не HDD диски с битыми секторами, в конце концов! С другой стороны, по опыту мы знаем, что процессора - продукт крайне надежный, особенно серверный сегмент, если, конечно, они не перемаркированы. И за 20 с лишним лет работы из прошедших через наши руки многих тысяч кристаллов нерабочими оказалась от силы несколько штук.

Процики оказались вполне себе новыми, даже без следов пасты от прежних инсталляций.

Платформа, слава Богу, лежала на складе последние N лет и терпеливо ждала своего часа. Но основная засада была как раз с ее стороны.

Старт – и сразу надпись «DIMM Failure», и на самой ранней стадии POST система наглухо виснет. Следуя методу Шерлока Холмса, нужно было бы одну за одной исключать невозможные ситуации, и тогда оставшийся вариант, как сказано у классика, и будет верным ответом, каким бы невероятным он ни казался. Но исходя из трех неизвестных – нерабочая платформа? битая память? левые процессора? не было решительно никакой возможности поиграть этими параметрами, поскольку платформа древняя и такая на складе – одна, процессора этого поколения тоже нужно поискать, вот разве что память…

Кстати, насчет памяти. На сайте Kingston, по недосмотру пока не закрытому для российских пользователей, есть прекрасный инструмент для определения совместимой памяти. Достаточно вбить название материнской платы или серверной платформы – и он выдаст все варианты подходящих модулей – разной емкости, ранковости и рабочих частот. Так что по крайней мере в памяти мы были уверены, так как брали ее в аккурат из этого списка. Впрочем, случаи, когда произвольная память не заведется в современном сервере, очень редки. Поскольку память тактируется извне, то ее новейшие модули на частоту 3200 практически всегда заводятся с процессорами, рассчитанными на работу со стандартом 2933, 2666, 2400, а порой даже и 2133. Причина неработосопсобности может быть только в одном случае – когда используются какие-нибудь суперновые чипы памяти большой емкости, которых на DIMM-модуле будет всего 4 штуки плюс чип ЕСС.

Сравните

-2

и

-3

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

Отвлечемся немного и поговорим о том,

Как управляться с серверами

Не забуду вопрос одного клиента «А почему этот коммутатор называется неуправляемым? С ним что, вообще никто управиться не может?». Может, может, и не с такими управлялись. В крайнем случае – обратитесь к специалистам.

Для удаленного управления серверами служит IPMI. Чудное изобретение, эдакий «компьютер в компьютере», который включается сразу же после подключения сетевого шнура даже при неработающем сервере. И который есть как шикарное вспомогательное средство для сисадминов, так и источник проблем с безопасностью. Этому «компьютеру внутри» напрямую доступны видеоадаптер, BIOS и BMC, есть своя область постоянной и оперативной памяти, а также один из сетевых адаптеров с полным стеком софта поверх него. На младших моделях серверов один из Ethernet-портов обычно одновременно является и портом удаленного менеджмента, но хорошая практика все же иметь его выделенным только под задачи управления и помещать в отдельный изолированный сегмент локальной сети, наряду с такими же портами коммутаторов, маршрутизаторов и межсетевых экранов. Чужие тут не ходят (не должны, во всяком случае).

Итак, задача. Обновить BIOS удаленно через IPMI

Рассмотрим инструмент удаленного подключения дисков для передачи нового образа BIOS и других задач. Консоль управления позволяет подмонтировать через сеть находящийся на внешнем ресурсе ISO файл и даже … имидж флоппи-диска (расширение *.fda) на 1.44MB (Шта??? На флоп образ BIOS не влезет ни разу, разве что там предусмотрен механизм разбиения на тома и сообщение «вставьте следующую дискету»))). Монтирование не идет гладко. Если использовать для размещения образа прошивки Windows Server, то стандартная сетевая шара со всеми правами на нее в упор не хотела видеться.

-4

Оказалось, надо соблюсти два момента:

- для доступа используется устаревшая версия протокола SMB 1.0, которая давно признана небезопасной и по умолчанию отключена не только в Windows Server, но даже и в Windows Home/ Pro. Включается тут, требует перезагрузки системы:

-5

- и даже после этого заданная напрямую шара монтироваться не хочет

Но! если запустить консоль удаленного управления на основе Java, то таким путем почему-то срабатывает.

-6

Соответственно, потребовалась установка Java-машины (попутно – бить по рукам Windows-инсталлятор, который пытается в этот момент просунуть никому не нужный браузер Edge. Это, товарищи, уже край!) и ассоциация исполняемого файла javaws с расширением *.jnlp

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

-7

Интересно, что SuperMicro для прямого обновления BIOS сервера через веб-морду удаленной консоли требует покупки отдельного ключика!

-8

При этом BMC можно обновить бесплатно:

-9

Честному человеку нечего делать под катом

Существует хакерский метод получения ключа для удаленного обновления Supermicro BIOS. Ссылок приводить не буду, они легко гуглятся. Оказывается, ключ этот есть не более чем хэш от MAC-адреса порта менеджмента (BMC-контроллера). Но я вам этого не говорил. Схема настолько бесхитростна, что нужна даже не какая-то специальная генерилка ключей, прости Господи, для взлома, а всего лишь онлайн-инструмент получения хэша из заданной строки. Спасибо, что хотя бы теперь SuperMicro для доступа к удаленной консоли использует по умолчанию не единую для всех пару ADMIN/ADMIN, а уникальный для каждой материнской платы пароль, наклеенный на ней самой. Иногда эта крошечная наклейка дублируется на пластмассовой крышечке, закрывающей процессорный сокет, но почему-то не всегда, и мы обычно клеим на корпус свою, покрупнее. В последних версиях серверов ее, наконец-то, стали помещать на специальный выдвижной ярлычок спереди.

Итого: немного возни, и сервер – как новенький!

-10

Ну не красота ли?