IPMI BMC

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску


Это просто копия нескольких заметок про то как работать со старыми серверами
Решил оставить у себя так-как во времена блокировок может быть что и не получится подсмотреть


BMC на некросервачках

BMC на некросервачках
Есть у меня некоторое количество некросервачков типа IBM System X 3550 M2. Самая засада — это попасть к ним в графическую консоль на BMC-шку (она же IMM, она же XClarify). В основном потому, что они (так же как и Dell-ы) используют у себя внтури готовые Avocent-овские KVM-ы с тухлым говнокодом внутри. И разумеется, по причине End-of-Life никаких обновлений ждать не приходится. Поэтому приходится извращаться. А именно.


Установить восьмую (да-да, именно восьмую) Java. В более свежих не будет работать клавиатура по причине
"Exception in thread "AWT-EventQueue-1" java.lang.NoSuchMethodError: 'java.awt.peer.ComponentPeer java.awt.Window.getPeer()'"
Ну да. Конструкции "getPeer" выпилили из современных версий. В актуальных дистрибутивах Linux восьмой жавы уже не водится, поэтому проще всего поставить Adopt-овскую.

Поставить пакетик "icedtea-netx", чтобы иметь возможность запускать JNLP-шки.

Если он будет ругаться на неподписанный код, то в конфиге "java.security" из строчки "jdk.jar.disabledAlgorithms=бла-бла-бла" убрать "MD5".

Правильнее всего в подобной ситуации, конечно, активировать Serial over LAN и пользовать его. Но с нахрапу на этих IBMовских сервачках сделать это у нас не получилось.

Но вообще, конечно, забавно. Какой-то там несчастный ASUS умудряется делать BMCшки, пригодные для работы даже в самых свежих Java-х спустя десятилетие после выпуска матплаты. С SuperMicro-й тоже никогда подобных проблем не было. А IBM, что, не осилит что ли?

OpenWebStart

Вот тут я уже писал про трудности работы с BMCшками на всяких некросервачках. В основном они заключаются в том, что писались те апплеты еще под 6-ую Java, которые не хотят запускаться на современных Java в виду ужесточений требований безопасности, запрета старых криптоалгоритмов, отказом от NPAPI / JNLP и так далее.

Сегодня "вспомнил молодость" и ткнулся в один сервак с ASUS-овской BMCшкой. Как и все, она заточена под Java Web Start. Которая из современных браузеров давным-давно выпилена. Да, можно скачать JNLP и запустить локально, но тут вылезает вторая подстава.

Собственно само KVM-приложение (KVM здесь означает Keyboard-Video-Mouse) состоит из нескольких разных JARников, которые подгружаются JNLP-шкой "по ходу пьесы". Причем разные, в зависимости от того под какой операционкой ты запустил клиента. И тут косяк. Сама она скачать их не в состоянии, а браузерного окружения тоже нет, так как она запущена в "standalone". Ну и отбивается с ошибками типа

You are trying to get resource https://блаблабла/Java/release/JViewer.jar but it is not in cache and could not be downloaded. Attempting to continue, but you may expect failure
You are trying to get resource https://блаблабла/Java/release/Linux_x86_64.jar but it is not in cache and could not be downloaded. Attempting to continue, but you may expect failure
JAR https://блаблабла/Java/release/JViewer.jar not found. Continuing.
JAR https://блаблабла/Java/release/Linux_x86_64.jar not found. Continuing.
Fatal: Initialization Error: Unknown Main-Class. Could not determine the main class for this application.
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Unknown Main-Class.

А на сервачок-то "из консоли" попасть хочется.

Так что сегодня я узнал про проект под названием "OpenWebStart".

С одной стороны, мне не очень понравилось, что он самостоятельно и без спросу выкачал мне полностью Adopt-овскую 11-ую жаву в "~/.cache". С другой стороны, при его помощи таки удалось попасть в BMC-интерфейс. Так что вот, в копилку. И чтобы не забыть. Теперь нормальные современные серваки с KVM-интерфейсом на базе HTML5, чувствую, появятся у меня ещё очень нескоро.

BMC на некросервачках, часть 2

BMC на некросервачках, часть 2


Заметка больше для себя. Каждый раз, когда опять внезапно™ приходится идти на некроIMMку с IP-KVM (Keyboard-Video-Mouse) от Avocent, начинаю мучительно вспоминать что же надо сделать, чтобы в удаленном сеансе заработала бы клавиатура.

Общая концепция такова.


Только 8-ая Java. Подойдет, например, такая. Нужно установить заранее.

OpenWebStart. Брать здесь.

В настройках OpenWebStart ("/opt/OpenWebStart/itw-settings") отключить все версии жавы кроме 8-й и сказать чтобы не ходил за обновлениями.

А теперь самое интересное. Каждый раз (каждый, сука, раз!!!) перед тем как идти в GUI-интерфейс IMMки (KVM), нужно обязательно лапками грохнуть вместе со всем их содержимым папки

~/.config/icedtea-web/security ~/.cache/icedtea-web/cache

Тогда клавиатура будет работать. В противном случае — хренЪ. Не знаю почему. На выяснение этого факта убил какое-то немыслимое количество времени.

Всем нормальных серваков и работающих клавиатур.

BMC на некросервачках, часть 3

BMC на некросервачках, часть 3
Предыдущие части опуса: раз, два, три.

Тут вышел на очередной виток. Понадобилось получать доступ к HPшным древним сервакам, у которых в качестве BMC / IP-KVM используется iLO 2/3/4.

Если повезло, и есть вариант запустить консольку через HTML5, то ещё туда-сюда. Правда, она будет дико тормозить на тему Virtual Media и глючить в плане клавиатуры. Всякие ActiveX-приблуды для меня по понятным причинам не канают, ибо с форточками я распрощался ещё в 2014-м году. Остается только Java Remote Consle.

Если BMC-шка даёт скачать JNLP-файл для WebStart, как это делают старые SystemX / Lenovo, то можно выкрутиться при помощи OpenWebStart. Но вот в случае с HP такое не прокатит, т.к. они используют браузер в качестве "каналообразующего оборудования" и непременно хотят запустить апплет в том же окне. Вот тут уже сложнее. Но способ тем не менее есть. Вот что понадобится.


Браузер "PaleMoon". Это форк FireFox-а. Для Debian-а можно взять здесь:
deb http://download.opensuse.org/repositories/home:/stevenpusser/Debian_12/ /

"Родная" ораклёвая (на самом деле совсем не клёвая) Java 8 build 261. Именно такая, т.к. из более свежей уже выкорчевали NPAPI plugin.

Устанавливаем-распаковываем. Создаём две символические ссылки. Одна такая:

/usr/lib/mozilla/plugins/libnpjp2.so → /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so
Вторая такая:

/etc/alternatives/mozilla-javaplugin.so → /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so
Это при условии, что у нас amd64 и Java распакована в "/usr/lib/jvm/java-8-oracle". В противном случае пути, понятно, надо выставить свои.

Собственно, всё. Запускаем PaleMoon и можно пользоваться "как обычно".

Если браузер начнёт ругаться на тухлые криптоалгоритмы (а он скорее всего начнёт), то вот такие настройки ("about:config") браузера могут помочь.

security.tls.insecure_fallback_hosts
security.tls.version.min
В некоторых отдельно взятых сильно запущенных случаях иногда ещё приходится дополнительно в "/etc/ssl/openssl.cnf" выставлять

[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
Всем успехов в ковырянии некросервачков. В текущих условиях всерьёз рассчитывать на обновление железа как-то не очень-то приходится. :(