Модуль проксирования 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)
При запросе подключения с использованием модуля:
- Сервис ipmi_proxy_service на сервере с DCImanager 6:
- Проверяет доступность сервера в локации.
- Проверяет наличие SSH-порта для подключения с клиентской и серверной стороны.
- проверяет наличие активной сессии BMC. Если сессия найдена, предлагает пользователю подключиться к ней или создать новую сессию.
- Скрипт up.sh на локации:
- Создаёт в операционной системе временного пользователя для сессии VNC.
- Добавляет в список исключений для Java ссылки на веб-интерфейс BMC или Intel AMT по протоколам http и https.
- Запускает TigerVNC от имени временного пользователя.
- TigerVNC на локации:
- при подключении к веб-интерфейсу BMC или Intel AMT автоматически открывает его в Chromium. Если при создании подключения был выбран IPMI v1.5/v2, Chromium будет запущен с поддержкой java-плагина.
- при подключении к консоли BMC скачивает в директорию пользователя jnlp-файл терминального приложения и запускает его.
- Сервис ipmi_proxy_service на сервере с DCImanager 6:
- Создаёт в операционной системе временного пользователя для сессии VNC.
- От имени временного пользователя выполняет запуск noVNC.
- Сервис goproxy на сервере с DCImanager 6:
- Проксирует Websocket-запросы к VNC-серверу через SSH-туннель;
- Передаёт данные VNC-сессии в noVNC. В результате этого BMC или Intel AMT будет доступен из браузера клиента.
- В браузере клиента откроется окно с адресом https://domain.com/ipmiproxy/web/, где domain.com — адрес платформы DCImanager 6. Через эту страницу клиент будет взаимодействовать с BMC сервера.
Закрытие подключения к BMC (Intel AMT)
При закрытии подключения скрипт down.sh на локации:
- Завершает сессию VNC.
- Останавливает процессы временного пользователя, созданного для данной сессии VNC.
- Удаляет в операционной системе временного пользователя и его домашнюю директорию.