Как стать автором
Обновить

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

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

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

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

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

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

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

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

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

Отвлечемся немного от обозначенной проблемы и поговорим о том,

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

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

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

Итак, вернемся к нашей задаче: обновить BIOS удаленно через IPMI

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

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

Включается тут, требует перезагрузки системы:

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

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

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

Интересно, что SuperMicro для прямого обновления BIOS сервера через веб-морду удаленной консоли (без всех этих сложных действий) требует покупки отдельного ключика! При этом BMC можно обновить бесплатно.

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

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

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

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.