IPMI

Материал из ISPWiki
Версия от 12:42, 26 апреля 2018; A.ryazantsev (обсуждение | вклад) (Модуль "Проксирование IPMI через ihttpd")
Перейти к: навигация, поиск

IPMI — система мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверов. Функции управления могут быть доступны, даже если сервер находится в выключенном состоянии.

Возможности IPMI

  • Включение, выключение, перезагрузка сервера;
  • Подключение по SSH к IPMI для управления сервером;
  • Мониторинг состояния сервера.

Подключение к IPMI

В DCImanager доступны три способа подключения к IPMI:

  1. Доступ к IPMI напрямую;
  2. Доступ к IPMI через ihttpd proxy;
  3. Доступ к IPMI через noVNC proxy.
Сравнение способов подключения к IPMI
Доступ к IPMI напрямую Доступ к IPMI через ihttpd proxy Доступ к IPMI через noVNC proxy
IPMI Supermicro, Dell, HP (iLO4), IntelBMC Supermicro, HP (iLO4) Supermicro, Dell, HP (iLO4), IntelBMC
IP-адрес web-интерфейса IPMI Внешний Внутренний Внутренний
https Поддерживается Не поддерживается, необходимо отключать со стороны web-интерфейса IPMI Поддерживается
Авторизация Разовая настройка Разовая настройка login, password при каждой сессии

Модули IPMI

1. "Консоль IPMI"
Модуль позволяет пользователям скачивать консоль IPMI (файл jnlp) из панели DCImanager.
2. "Проксирование IPMI через ihttpd"
Модуль позволяет владельцам серверов с IPMI, имеющими внутренние IP-адреса, получить доступ к WEB-интерфейсам IPMI через встроенный WEB-сервер ihttpd.
3. "Проксирование IPMI через доп. сервер"
Модуль позволяет владельцам серверов с IPMI, имеющими внутренние IP-адреса, получить доступ к WEB-интерфейсам IPMI через подключение VNC-клиента к выбранному серверу с Centos7, на котором развернута среда для открытия урезанной версии браузера с открытой страницей web-интерфейса IPMI.

Установка и настройка модулей осуществляется в разделе "Интеграция" -> "Модули". Обратите внимание, что включение одного модуля не отключает другого, модули могут работать параллельно.

Модуль "Консоль IPMI"

Установка и настройка модуля "Консоль IPMI"

Установка модуля "Консоль IPMI" осуществляется в разделе "Интеграция" -> "Модули". Необходимо выделить модуль "Консоль IPMI" и нажать кнопку "Установить".

После установки кнопка "Установить" заменяется на кнопку "Настроить".

Проксирование IPMI
  • Использовать доступы администратора — опция включает использование владельцами сервера доступов администратора для загрузки консоли IPMI. При включенной опции нет необходимости создания отдельного пользователя IPMI для владельца сервера. Опция доступна в панели управления, начиная версии 5.146;
  • Использовать проксирование через ihttpd — опция позволяет загрузить консоль IPMI, работающую через ihttpd. Опция доступна в панели управления, начиная версии 5.146.

Параметры и опции

В конфигурационном файле DCImanager к работе IPMI относятся следующие параметры:

  • IPMIConsoleLifeTime — время жизни консоли IPMI в часах, то есть время через которое файл с IPMI консолью будет удален автоматически (по умолчанию 24);
  • IpmiConsoleUseAdminAccess — опция Использовать доступы администратора;
  • IpmiConsoleUseIhttpd — опция Использовать проксирование через ihttpd.

Использование модуля

После установки модуля в разделе "Главное меню" -> "Серверы" доступна кнопка "Консоль IPMI".

Консоль IPMI

При нажатии на кнопку "Консоль IPMI" отправляется запрос на установление сессии с IPMI. Если запрос отправил администратор - будет установлена сессия с параметрами, указанными в настройках подключения сервера к IPMI.

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

Выбор пользователя IPMI осуществляется в разделе "Главное меню" -> "Серверы" по нажатию кнопки "Подключения" -> "Пользователи IPMI" -> "Редактирование пользователя".

Пользователь IPMI
  • Имя пользователя IPMI;
  • Уровень доступа: Администратор, Оператор или Пользователь.
  • Разрешить владельцу сервера вход в IPMI;
  • Пароль пользователя.

После успешного установления сессии начинается загрузка консоли — скачивание файла с расширением jnlp. Файлы jnlp хранятся в директории /usr/local/mgr5/skins/common/ipmi_console/ и для них генерируется случайное имя. После скачивания файла пользователю достаточной открыть его с помощью утилиты javaws.

Модуль "Проксирование IPMI через ihttpd"

Установка и настройка модуля "Проксирование IPMI через ihttpd"

Установка модуля "Проксирование IPMI через ihttpd" осуществляется в разделе "Интеграция" -> "Модули". Необходимо выделить модуль "Проксирование IPMI через ihttpd" и нажать кнопку "Установить".

После установки кнопка "Установить" заменяется на кнопку "Настроить".

Проксирование IPMI через ihttpd
  • Запрашивать у администратора способ подключения — опция включает запрос способа подключения из доступных при каждом подключении к WEB-интерфейсу IPMI;

Использование модуля

ihttpd проксирует запросы и пробрасывает пароль для VNC.

Проксирование поддерживается для Supermicro и HP (iLO 2) и только для HTTP протокола. Если IPMI не поддерживает подключение по HTTP, то проксирование работать не будет.

После установки модуля в директории /usr/local/mgr5/ipmi/ появится файл, который содержит адрес IPMI, логин и пароль. Название файла генерируется автоматически. В списке серверов в колонке «Состояние» у сервера появится иконка для перехода к веб-интерфейсу IPMI. При нажатии на нее произойдет переход и автоматическая авторизация. Доступ к IPMI осуществляется по URL.

Если у сервера сменился владелец или текущий владелец сменил свой пароль, то авторизоваться по URL не получится, т.к. в таком случае сменится и URL.

Проксирование IPMI работает на случайном порту и для корректной работы необходимо, чтобы в системе все порты были открыты. Если DCImanager находится за прокси, то проксирование IPMI через внешний прокси работать не будет.

При работе модуля осуществляется проверка на наличие определенного значения cookie. Данная проверка не позволит зайти на IPMI, если вам известен только URL.

Настройка проксирования в панели

Необходимо:

1. Выбрать нужный сервер и открыть список подключений сервера
2. Нажать кнопку создать (если подключение IPMI уже есть, то шаг можно пропустить)
Создание подключения
Тип устройства - IPMI
Версия IPMI - IPMI v1.5/v2.0
Создание подключения
Далее
Заполнить обязательные поля, включить "Включить проксирование для IPMI" и нажать Завершить
Создание подключения

Модуль "Проксирование IPMI через доп. сервер"

Установка и настройка модуля "Проксирование IPMI через доп. сервер"

Установка модуля "Проксирование IPMI через доп. сервер" осуществляется в разделе "Интеграция" -> "Модули". Необходимо выделить модуль "Проксирование IPMI через доп. сервер" и нажать кнопку "Установить".

После установки кнопка "Установить" заменяется на кнопку "Настроить".

Проксирование IPMI через доп. сервер
  • Адрес сервера проксирования — IP-адрес сервера, который используется в качестве прокси;
  • Порт сервера проксирования;
  • Имя администратора сервера;
  • Тип авторизации на сервере проксирования — способ подключения к серверу;
  • Пароль администратора / Открытый SHH-ключ — данные для подключения в зависимости от выбранного способа подключения;
  • Шифрование подключения noVNC к websockify — опция включает шифрование передаваемых данных (SSL) при установлении подключения noVNC к websockify. Рекомендуется, если работа с панелью управления осуществляется по протоколу SSL;
  • Монтирование ISO-образов — опция включает монтирование всех доступных пользователю ISO-образов на сервере проксирования в директорию пользователя. Опция позволяет монтирование ISO-образов на целевой сервер через WEB-интерфейс IPMI или Java-консоль;
  • IP-адрес сервера DCImanager;
  • Запрашивать у администратора способ подключения — опция включает запрос способа подключения из доступных при каждом подключении к WEB-интерфейсу IPMI;
  • Согласен с условиями использования Java от Oracle (c) — подтверждение согласия с лицензионным соглашением Java.

Возможные проблемы

Проблемы с загрузкой консоли IPMI

При попытке загрузить консоль ошибка: "Не удалось установить сессию с IPMI (обратитесь к администратору)". При этом еще недавно все работало.

Вероятнее всего превышено количество возможных открытых сессий с IPMI. Необходимо зайти в настройки IPMI через web-интерфейс и выполнить следующее:

  • Удалить/закрыть старые сессии;
  • Увеличить лимит количества сессий на web-интерфейс (например, около 10);
  • Уменьшить таймаут для сессий (например, около 5 минут).

Данная проблема может возникнуть, если пользователь раз за разом пытается скачать новый файл jnlp.

При попытке загрузить консоль ошибка: "Activate Session command failed. Error: Unable to establish LAN session. Error: Unable to establish IPMI v1.5 / RMCP session"

Ошибка при связи с устройством IPMI. Проверьте доступность устройства с помощью ipmitool.

Файл загрузился успешно, но при попытке запустить его пользователь получает сообщение об ошибке от Java:

Модуль «Поиск серверов»

Java запрещает запуск приложения из недостоверных источников. Пользователю необходимо добавить IPMI URL в список сайтов исключений для Java. Список исключений находится по пути "/home/v.petrov/.java/deployment/security/exception.sites". В файл необходимо добавить записи вида http://<IP-адрес WEB-интерфейса IPMI> или https://<IP-адрес WEB-интерфейса IPMI>.

Проблемы с проксированием IPMI через доп. сервер

Не работает Ctrl

Для безопасности при запуске браузера с WEB-интерфейсом IPMI блокируются клавиши Ctrl (до версии 5.118), Shift (для блокировки Shift+Click, верхний регистр при этом набирается корректно), Alt, Menu, Super(Meta/Hyper), F1, F5, F12 и правая клавиша мыши.

В связи с этим до версии 5.118 нет возможности прервать выполнение команды в Java-консоли через Ctrl+C. В некоторых Java-консолях присутствуют средства для отправки на сервер нужных сочетаний клавиш.

При использовании панели DCImanager с версией ниже 5.118, если вы сознательно готовы принести в жертву безопасность ради удобства, можете отредактировать пользовательский скрипт автозапуска (<путь_до_директории панели>/etc/ipmi_proxy_v2_xstartup.sh), закомментировав строки с переназначением клавиши Control.

Не работает Shift

В DCImanager с версией менее 5.145 внутри Java-консоли на некоторых IPMI отсутствовала возможность ввода символов скобок (Shift+9/Shift+0). Для решения данной проблемы необходимо обновить панель, либо, если обновление нежелательно, закомментировать строки, в которых упоминается Shift, в файле /home/dci_vnc_template/.vnc/xstartup на сервере проксирования и в файле /usr/local/mgr5/etc/ipmi_proxy_v2_xstartup.sh на сервере с DCImanager.

Не работает по http/https Если подключение к панели управления DCImanager осуществляется только по протоколу https, необходимо включить опцию Шифрование подключения noVNC к websockify в настройках модуля. В противном случае при попытке перехода к WEB-интерфейсу IPMI из списка серверов будет получена страница с ошибкой недоступности веб-страницы без https.

Не открывается WEB-интерфейс без указания WEB-url Если для IPMI указан только IP-адрес, но нет Web URL, сервис проксирования сгенерирует URL, взяв "https://" и добавив IP. Если IPMI не предоставляет управления по https, то в браузере внутри noVNC будет получена ошибка. Для решения данной проблемы необходимо указать в свойствах проблемного IPMI в подключениях в интерфейсе DCImanager Web URL с "http://" в начале.


Нет доступных портов для подключения по noVNC В DCImanager с версией менее 5.118 при перезагрузке пользователем вкладки с WEB-интерфейсом IPMI могли остаться файлы сокетов, которые помешают открыть VNC-сервер на этом порту в следующий раз.

Файлы сокетов выглядят следующим образом:

srwxrwxrwx 1 1003 dci_vnc_users 0 12:15 /tmp/.X11-unix/X5901
srwxrwxrwx 1 1003 dci_vnc_users 0 12:16 /tmp/.X11-unix/X5902
srwxrwxrwx 1 1003 dci_vnc_users 0 12:42 /tmp/.X11-unix/X5904

Для решения данной проблемы необходимо:

  • обновить панель до версии 5.118 или выше;
  • удостовериться, что не открыто активных сессий IPMI-проксирования (команда должна вывести "no active sessions")
ps aux|grep -i [v]nc && echo "found active sessions" || echo "no active sessions"
  • удалить мешающие файлы вручную.
rm -rf /tmp/.X11-unix/X*

WEB-url содержит доменное имя Модуль "Проксирование IPMI через доп. сервер" не поддерживает работу с доменными именами в поле "URL веб-интерфейса" свойств IPMI. В этом поле можно использовать только ссылки с IP-адресами внутри. Например:

http://1.1.1.1/login.asp
https://1.1.2.2/ipmi/login
http://1.1.2.3/
https://1.1.2.4

Монтирование ISO-образов позволяет изменить общие файлы ISO-образа Особенности реализации монтирования образа через IPMI требуют прав на запись для ISO-файла, потому владелец сервера или администратор имеют право на запись в доступные им ISO-файлы.

Окно NoVNC слишком большое В DCImanager, начиная с версии 5.136 увеличен стандартный размер окна noVNC с 1024*768 до 1280*960. Для более удобной работы с некоторыми Java-консолями, которые не помещались внутрь старого интерфейса целиком. Для изменения разрешения необходимо отредактировать скрипты:

  • <директория_панели_управления>/etc/ipmi_proxy_v2_connect.sh: в строке с -geometry 1280x960 указать вместо 1280x960 желаемые размеры по горизонтали и вертикали;
  • <директория_панели_управления>/etc/ipmi_proxy_v2_xstartup.sh: в строке с --window-size=1280,960 \ указать вместо 1280,960 желаемые размеры по горизонтали и вертикали.

Для применения изменений на уже настроенном сервере проксирования также необходимо отредактировать /home/dci_vnc_template/.vnc/xstartup, указав вместо 1280,960 желаемые размеры по горизонтали и вертикали.

При использовании IPMI HP iLo4 и при включенном проксировании Java-апплет не грузится с ошибкой:

JavaScript has been disabled or is not supported by your web browser which is needed by the Virtual KVM/Media applet. Please correct this problem.

Необходимо отредактировать подключение IPMI, включив опцию Поддержка старых типов и переоткрыть WEB-интерфейс IPMI.