Модуль проксирования BMC используется для подключения к BMC или Intel AMT с внутренними IP-адресами в локациях DCImanager 6. Модуль состоит из клиентской и серверной частей. Обе части являются docker-образами. Клиентская часть устанавливается на сервере с DCImanager 6, серверная на локации. Для подключения к серверу с BMC или Intel AMT устанавливается VNC-соединение через SSH-туннель. Вы можете подключиться к веб-интерфейсу или консоли BMC.

Клиентская часть модуля включает:

  • ipmi_proxy_service сервис взаимодействия с DCImanager 6;
  • noVNC HTML5 VNC-клиент;
  • goproxy — сервис для передачи данных VNC-сессии в noVNC и проксирования Websocket-запросов клиента к VNC-серверу через SSH-туннель.

Серверная часть модуля включает:

  • скрипты для управления службами модуля — up.sh, down.sh;
  • TigerVNC VNC-сервер;
  • Chromium браузер для доступа к веб-интерфейсу BMC или Intel AMT;
  • Java — используется для открытия jnlp-файлов в браузере.

Подключение к BMC (Intel AMT)


При запросе подключения с использованием модуля:

  1. Сервис ipmi_proxy_service на сервере с DCImanager 6:
    1. Проверяет доступность сервера в локации.
    2. Проверяет наличие SSH-порта для подключения с клиентской и серверной стороны.
    3. проверяет наличие активной сессии BMC. Если сессия найдена, предлагает пользователю подключиться к ней или создать новую сессию.
  2. Скрипт up.sh на локации:
    1. Создаёт в операционной системе временного пользователя для сессии VNC.
    2. Добавляет в список исключений для Java ссылки на веб-интерфейс BMC или Intel AMT по протоколам http и https.
    3. Запускает TigerVNC от имени временного пользователя.
  3. TigerVNC на локации:
    • при подключении к веб-интерфейсу BMC или Intel AMT автоматически открывает его в Chromium. Если при создании подключения был выбран IPMI v1.5/v2, Chromium будет запущен с поддержкой java-плагина.
    • при подключении к консоли BMC скачивает в директорию пользователя jnlp-файл терминального приложения и запускает его.
  4. Сервис ipmi_proxy_service на сервере с DCImanager 6:
    1. Создаёт в операционной системе временного пользователя для сессии VNC.
    2. От имени временного пользователя выполняет запуск noVNC.
  5. Сервис goproxy на сервере с DCImanager 6:
    1. Проксирует Websocket-запросы к VNC-серверу через SSH-туннель;
    2. Передаёт данные VNC-сессии в noVNC. В результате этого BMC или Intel AMT будет доступен из браузера клиента.
  6. В браузере клиента откроется окно с адресом https://domain.com/ipmiproxy/web/, где domain.com адрес платформы DCImanager 6. Через эту страницу клиент будет взаимодействовать с BMC сервера.

Закрытие подключения к BMC (Intel AMT)


При закрытии подключения скрипт down.sh на локации:

  1. Завершает сессию VNC.
  2. Останавливает процессы временного пользователя, созданного для данной сессии VNC.
  3. Удаляет в операционной системе временного пользователя и его домашнюю директорию.