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

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

AtlasPVE ·

Эта статья отвечает на

  • proxmox консоль не открывается
  • proxmox консоль не загружается
  • proxmox консоль не работает
  • proxmox lxc консоль не работает
  • proxmox console not working

Всё остальное работает. Вы входите, дерево загружается, хранилище просматривается, машина запускается. Затем вы открываете консоль, и она виснет, или отказывает сразу, или показывает ошибку соединения и больше ничего.

Сам этот рисунок и есть подсказка. Когда сломан весь интерфейс, у вас общая проблема. Когда сломана только консоль, у вас частная, и список подозреваемых короток.

Причина, ловящая большинство

Консоль не пользуется обычными запросами. Она открывает долгоживущее соединение, которое начинается как обычный запрос, а затем просит повысить себя до постоянного двустороннего канала.

Всё, что стоит между вашим браузером и сервером, должно быть готово передать это повышение дальше. Обратный прокси перед Proxmox VE охотно пропускает каждую обычную страницу и каждый вызов API, поэтому интерфейс выглядит безупречно, а затем роняет консоль, потому что ему никогда не объяснили, как обращаться с таким соединением.

Официальный пример настройки прямо называет необходимое, и читать его лучше как проверочный список, а не как шаблон для вставки:

Повышение должно проходить насквозь. Прокси обязан передать запрос дальше, а не отвечать на него сам.

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

Тайм-ауты должны быть длинными. Значения по умолчанию у прокси измеряются секундами, потому что обычные запросы коротки. Консоль, оставленная открытой на час, обычным запросом не является; опубликованный пример именно поэтому ставит по часу на каждый тайм-аут.

Если вы ставите что-либо перед Proxmox VE, проверьте эти три пункта, прежде чем искать в другом месте. Симптом не подскажет, какой из трёх виноват, а все три дают одну и ту же тишину.

Вопрос сертификата

Соединение консоли отдельное, поэтому вопрос сертификата встаёт перед ним заново и самостоятельно.

Если сервер использует самоподписанный сертификат и вы проскочили предупреждение браузера, чтобы добраться до интерфейса, это согласие не всегда переносится на соединение консоли. Страница грузится, консоль нет, и во второй раз предупреждение не появляется, потому что загрузки страницы не происходит.

Зайти по адресу напрямую один раз и принять сертификат как положено обычно решает дело. Это же служит хорошим поводом выдать узлу настоящий сертификат, если к нему обращается больше одного человека.

Когда дело только в контейнерах

Если консоли виртуальных машин работают, а консоли контейнеров нет, перестаньте смотреть на прокси и сеть. Контейнеры не эмулируют оборудование; их консоль устроена иначе и имеет собственную настройку, и неисправность на той стороне.

Обратный случай столь же красноречив: если текстовая консоль отказывает на одной виртуальной машине и работает на другой, это вовсе не проблема соединения, а отсутствующий последовательный порт, разобранный в другом месте этого раздела.

Когда средство просмотра не то, которого вы ждали

Существует настройка уровня центра обработки данных, выбирающая средство просмотра консоли по умолчанию, и у неё есть задокументированное поведение, стоящее знания: если выбранное средство недоступно для данного гостя, происходит откат на графическую консоль.

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

Короткий порядок проверки

Попробуйте консоль на самом узле, по его собственному адресу, без чего-либо посередине. Если там работает, проблема на пути, а не в Proxmox VE, и смотреть надо на три настройки прокси выше.

Если и там отказывает, проверьте, отказывает ли она для каждого гостя или только для одного. Все гости указывают на сервер или браузер. Только один указывает на настройку этого гостя.

Загляните в консоль браузера в поисках ошибки соединения. Обычно она называет сбой точно, и это быстрее догадок.

Что делает Atlas

Atlas передаёт вам собственную консоль Proxmox VE, поэтому консоль, отказывающая в Proxmox VE, откажет и через Atlas. Второго пути для проверки нет, а утверждать обратное значило бы просто добавить вторую вещь для отладки.

Atlas меняет то, как часто консоль вообще требуется. Не открывающаяся консоль становится аварией лишь тогда, когда она была вашим единственным способом работать. У хранилища, сети, обновлений, прав и резервных копий есть экраны, поэтому сломанная консоль превращается в дело для спокойного вечера, а не в стену, в которую вы упираетесь посреди срочного.

Источники

Собственная документация Proxmox. На английском, и последнее слово в этом вопросе за ней.

Похожие статьи

Как это выглядит внутри Atlas?

Перейти на страницу продукта