Подключение к консолям виртуальных машин и контейнеров

ℹ️ О консолях виртуальных машин и контейнеров

INFRAX предоставляет возможность прямого подключения к консолям виртуальных машин VMware, Proxmox и Hyper-V без необходимости сетевой связанности с гостевой операционной системой, а также к консолям Docker контейнеров. Это критически важно для установки ОС, устранения сетевых проблем, первичной настройки виртуальных машин и отладки контейнеров.

Общие сведения

Подключение к консоли виртуальной машины — это прямой доступ к виртуальному экрану и клавиатуре VM, аналогичный физическому подключению монитора и клавиатуры к серверу.

Основные возможности

  • Прямой доступ к консоли VM — независимо от состояния сетевой настройки
  • Без сетевой связанности — работает даже если в VM не настроена сеть
  • Поддержка платформ виртуализации — VMware vCenter/ESXi, Proxmox VE, Microsoft Hyper-V
  • Доступ к Docker контейнерам — прямое подключение к консоли любого контейнера
  • Запись сессий — автоматическое логирование всех подключений к консолям
  • Централизованный доступ — единый интерфейс для всех платформ
  • Безопасность — все подключения проходят через систему и логируются

Отличие от обычных протоколов

Характеристика Обычные протоколы (RDP/SSH/VNC) Консоль виртуальной машины
Требования Настроенная сеть в гостевой ОС Не требуется сетевая связанность
Доступность Только если ОС загружена и сеть работает В любое время, даже при загрузке
Уровень доступа Доступ к операционной системе Доступ к виртуальному оборудованию
Установка ОС Невозможна Возможна
Восстановление сети Невозможно Возможно
💡 Когда использовать консоль VM

Консоль виртуальной машины необходима для:

  • Установки операционной системы
  • Первичной настройки сети
  • Восстановления после сетевых ошибок
  • Доступа к BIOS/UEFI виртуальной машины
  • Работы в Single User Mode (Linux) или Safe Mode (Windows)
  • Диагностики проблем загрузки ОС

Консоли VMware (vCenter/ESXi)

Для виртуальных машин VMware INFRAX использует технологию WMKS (VMware Web MKS) для подключения к консолям через веб-браузер.

Технология WMKS

VMware Web MKS (Mouse, Keyboard, Screen)

WMKS — это технология VMware для доступа к консолям виртуальных машин через веб-браузер.

  • WebSocket подключение к консоли через браузер
  • Высокая производительность и отзывчивость
  • Поддержка специальных клавиш (Ctrl+Alt+Del)
  • Встроенная библиотека VMware WMKS для рендеринга
  • Работает в браузере без дополнительного ПО
  • Бинарный протокол для эффективной передачи данных

Доступ к консоли

Как подключиться:

  1. В разделе Виртуализация → VMware найдите нужную виртуальную машину
  2. Откройте карточку VM, нажав на строку в таблице
  3. В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль VMware"
  4. Консоль откроется в новом окне браузера
🔑 Учетные данные

Для подключения к консоли VMware требуются учетные данные администратора vCenter или ESXi. Система автоматически использует сохраненные учетные данные из IDENTYX. Для vCenter поддерживается формат login@domain.

Консоли Proxmox

Для виртуальных машин Proxmox VE INFRAX использует VNC протокол через специальный proxy сервер.

Доступ к консоли

Как подключиться:

  1. В разделе Виртуализация → Proxmox найдите нужную виртуальную машину
  2. Откройте карточку VM, нажав на строку в таблице
  3. В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль Proxmox"
  4. Консоль откроется в окне Apache Guacamole

Консоли Hyper-V

Для виртуальных машин Hyper-V используется специальный механизм запуска консоли через утилиту VMConnect на хосте Hyper-V.

Особенности Hyper-V

В отличие от VMware и Proxmox, консоль Hyper-V не может быть открыта через веб-интерфейс напрямую. Вместо этого используется следующая схема:

  • Подключение к хосту Hyper-V по RDP
  • Автоматический запуск утилиты VMConnect для нужной VM
  • VMConnect отображается в RDP сессии пользователя

Доступ к консоли

Как подключиться:

  1. В разделе Виртуализация → Hyper-V найдите нужную виртуальную машину
  2. Откройте карточку VM, нажав на строку в таблице
  3. В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль"
  4. Откроется RDP подключение к хосту Hyper-V
  5. Автоматически запустится окно VMConnect с консолью выбранной VM
💡 Особенности Hyper-V

Подключение к консоли Hyper-V осуществляется через обычный RDP, поэтому:

  • Работает как через веб-клиент, так и через нативный RDP клиент
  • Запись сессии ведется при использовании веб-клиента
  • Требуются права администратора на хосте Hyper-V
  • Необходимо наличие установленного модуля Hyper-V на хосте
ℹ️ Требования

Для работы подключения к консолям Hyper-V требуется:

  • Windows Server с установленной ролью Hyper-V
  • Учетные данные с правами администратора
  • Доступ к хосту Hyper-V по RDP

Консоли Docker контейнеров

INFRAX предоставляет прямой доступ к консолям Docker контейнеров через SSH подключение с автоматическим выполнением команды docker exec.

Как это работает

При подключении к консоли Docker контейнера INFRAX выполняет следующие действия:

  1. Устанавливает SSH соединение с хостом, на котором запущен контейнер
  2. Автоматически выполняет команду docker exec -it <container_id> /bin/bash
  3. Если bash недоступен, пытается использовать /bin/sh
  4. Подключение открывается через Apache Guacamole в браузере

Доступ к консоли контейнера

Как подключиться:

  1. В разделе Виртуализация → Docker найдите нужный контейнер
  2. Нажмите кнопку "Подключиться" на карточке контейнера
  3. Или откройте детали контейнера и нажмите "Подключиться к консоли"
  4. Консоль откроется в новом окне браузера через Apache Guacamole
🔑 Учетные данные

Для подключения к консоли Docker контейнера требуются учетные данные SSH для доступа к хосту, на котором запущен Docker. Пользователь должен иметь права на выполнение команды docker exec (обычно это член группы docker или root).

Особенности Docker консолей

Преимущества:

  • Прямой доступ к командной оболочке контейнера
  • Не требуется установка SSH внутри контейнера
  • Работает для любых контейнеров (даже без сетевых настроек)
  • Автоматический выбор доступной оболочки (bash или sh)
  • Полный доступ к файловой системе контейнера

Типичное использование:

  • Отладка работы приложений в контейнере
  • Просмотр логов приложений
  • Проверка конфигурационных файлов
  • Тестирование команд перед добавлением в Dockerfile
  • Диагностика проблем с зависимостями
  • Изучение файловой системы контейнера
⚠️ Важно

Изменения, сделанные в файловой системе контейнера через консоль, будут потеряны при перезапуске контейнера, если они не сохранены в volume или не закоммичены в новый образ. Для постоянных изменений используйте volumes или обновите Dockerfile.

Запись сессий

Все подключения к консолям виртуальных машин фиксируются в журнале сессий аналогично обычным RDP, SSH и VNC подключениям.

Для всех консольных подключений записывается:

  • Время — создания, подключения и отключения сессии
  • Информация о цели — имя и платформа виртуальной машины (VMware, Proxmox, Hyper-V) или имя Docker контейнера
  • Пользователь — кто открыл консоль
  • Узел хоста — к какому узлу (гипервизору или Docker хосту) было выполнено подключение
  • Длительность — общее время работы с консолью

Видеозапись

📹 Запись видео

Видеозапись сессий консолей работает по тем же правилам, что и для обычных подключений. Все подключения к консолям записываются через Apache Guacamole:

  • VMware — записывается через Apache Guacamole
  • Proxmox — записывается через Apache Guacamole
  • Hyper-V — записывается через Apache Guacamole
  • Docker контейнеры — записывается через Apache Guacamole (SSH протокол)

Настройки записи (для каких пользователей вести запись) настраиваются в параметрах приложения и применяются ко всем типам подключений, включая консоли VM и контейнеров.

Просмотр истории

Все консольные сессии доступны в разделе Администрирование → Сессии вместе с обычными удаленными подключениями. Сессии консолей отображаются с указанием имени виртуальной машины/контейнера и платформы (VMware, Proxmox, Hyper-V, Docker).

Применение системы прав

Настройки записи сессий (Параметры → Подключения и записи сессий) применяются и к консольным подключениям:

Настройка Влияние на консоли VM
Режим записи Определяет, для каких пользователей записывать консольные сессии
Список пользователей Включение/исключение пользователей из записи
Квота хранилища Автоматическое удаление старых записей консолей при превышении

Сценарии использования

Установка операционной системы

Задача:

Установить Windows Server на новую VM в VMware vCenter

Решение:

  1. Создайте VM в vCenter
  2. Подключите ISO образ с дистрибутивом
  3. Откройте консоль VM через INFRAX
  4. Выполните установку ОС через консоль
  5. После установки настройте сеть
  6. Переключитесь на обычное RDP подключение

Преимущество: Не нужно искать клиент vSphere или помнить адрес vCenter — все доступно из единого интерфейса INFRAX.

Восстановление сети

Задача:

На Linux VM в Proxmox сломалась сетевая конфигурация, SSH недоступен

Решение:

  1. Откройте консоль VM через INFRAX
  2. Авторизуйтесь в системе
  3. Исправьте конфигурацию сети (/etc/network/interfaces или аналог)
  4. Перезапустите сетевой сервис
  5. Проверьте доступность по SSH

Преимущество: Доступ к VM даже при полностью неработающей сети.

Диагностика загрузки

Задача:

Windows VM на Hyper-V не загружается после обновления

Решение:

  1. Откройте консоль VM через INFRAX
  2. Наблюдайте процесс загрузки
  3. Перезагрузите VM в Safe Mode (F8 при загрузке)
  4. Откатите проблемное обновление
  5. Перезагрузите в обычном режиме

Преимущество: Возможность видеть и взаимодействовать с процессом загрузки, что недоступно через RDP.

Доступ к BIOS/UEFI

Задача:

Изменить порядок загрузки устройств в VM

Решение:

  1. Откройте консоль VM
  2. Перезагрузите VM
  3. Нажмите клавишу для входа в BIOS/UEFI (обычно F2, Del или ESC)
  4. Измените настройки
  5. Сохраните и выйдите

Преимущество: Полный контроль над виртуальным оборудованием VM.

Отладка Docker контейнера

Задача:

Веб-приложение в Docker контейнере не запускается, нужно проверить логи и конфигурацию

Решение:

  1. В разделе Виртуализация → Docker найдите проблемный контейнер
  2. Нажмите кнопку "Подключиться" для открытия консоли
  3. Проверьте логи приложения (cat /var/log/app.log)
  4. Проверьте конфигурационные файлы (cat /etc/app/config.yml)
  5. Проверьте переменные окружения (env)
  6. Попробуйте запустить приложение вручную для диагностики

Преимущество: Не требуется установка SSH в контейнере или выполнение команд через терминал хоста.

Проверка файловой системы контейнера

Задача:

Убедиться, что все необходимые файлы присутствуют в контейнере после обновления образа

Решение:

  1. Откройте консоль контейнера через INFRAX
  2. Проверьте структуру директорий (ls -la /app)
  3. Проверьте версии установленных пакетов
  4. Проверьте права доступа к файлам
  5. Протестируйте доступность зависимостей

Преимущество: Быстрый доступ к файловой системе контейнера без необходимости использовать docker exec в терминале.

Рекомендации

Когда использовать консоль

✅ Используйте консоль для:

  • Установки новых операционных систем
  • Первичной настройки VM перед настройкой сети
  • Диагностики проблем с сетью или загрузкой
  • Доступа к BIOS/UEFI виртуальной машины
  • Восстановления после критических ошибок
  • Отладки Docker контейнеров без SSH внутри контейнера
  • Проверки файловой системы и логов контейнеров
  • Работы в безопасном режиме или single user mode

❌ Не используйте консоль для:

  • Повседневного администрирования (используйте RDP/SSH)
  • Работы с производительными приложениями
  • Операций, требующих буфер обмена (ограничения консоли)
  • Копирования больших объемов данных

Безопасность

Рекомендации по безопасности:

  • Ограничивайте доступ — используйте систему прав для контроля доступа к консолям VM и контейнеров
  • Записывайте сессии — включите запись для критичных VM и production контейнеров
  • Мониторьте активность — регулярно проверяйте журнал консольных сессий
  • Используйте сильные пароли — для доступа к гипервизорам и Docker хостам
  • Контролируйте права на docker exec — убедитесь, что только доверенные пользователи имеют доступ к консолям контейнеров
  • Ограничивайте время — не оставляйте открытые консольные сессии без необходимости

Общие советы

Для виртуальных машин:

  • Используйте консоли для временных задач — консоль не заменяет полноценное удаленное управление
  • Не оставляйте консоли открытыми — закрывайте подключение после завершения работы
  • VMware WMKS может быть медленным — для длительной работы используйте SSH/RDP после настройки сети
  • Для Hyper-V используйте консоль через RDP — это обеспечивает лучшую производительность

Для Docker контейнеров:

  • Изменения не постоянны — изменения в файловой системе контейнера будут потеряны при перезапуске
  • Требуются права на хосте — убедитесь, что у пользователя есть права на выполнение docker exec
  • Используйте volumes для данных — не полагайтесь на изменения файловой системы контейнера
  • Проверяйте образы после обновления — консоль удобна для быстрой проверки нового образа

Общие рекомендации:

  • Помните о записи — все действия в консоли записываются, если включена запись сессий
  • Закрывайте сессии — не оставляйте консоли открытыми после завершения работы

Устранение проблем

Типичные проблемы и решения:

Не открывается консоль VMware:

  • Проверьте учетные данные vCenter/ESXi
  • Убедитесь, что VM не выключена
  • Проверьте доступность хоста VMware из INFRAX

Медленная работа консоли Proxmox:

  • Проверьте сетевую связь с Proxmox узлом
  • Проверьте загрузку CPU на хосте Proxmox
  • Попробуйте переподключиться

Не запускается VMConnect на Hyper-V:

  • Убедитесь в наличии прав администратора
  • Проверьте, что роль Hyper-V установлена на сервере
  • Попробуйте переподключиться

Не подключается к Docker контейнеру:

  • Убедитесь, что контейнер запущен
  • Проверьте учетные данные SSH для Docker хоста
  • Убедитесь, что у пользователя есть права на выполнение docker exec
  • Проверьте, что контейнер имеет оболочку /bin/bash или /bin/sh
💡 Совет

Консоли виртуальных машин и контейнеров — это мощный инструмент, но используйте его с умом. Для повседневных задач администрирования предпочитайте обычные протоколы (RDP/SSH), так как они обеспечивают лучшую производительность и больше возможностей (буфер обмена, передача файлов и т.д.). Для Docker контейнеров помните, что изменения файловой системы не сохраняются при перезапуске.