Добавить в корзинуПозвонить
Найти в Дзене

Порядок запуска гостевых систем в Proxmox VE

Proxmox, как и любая взрослая система виртуализации предоставляет богатые инструменты для управления работой гостевых систем (виртуальных машин и контейнеров), одним из важных параметров работы узла является порядок запуска гостевых систем. Пока гостей мало обычно этот вопрос не встает на повестке дня, но как только их количество увеличивается и появляются достаточно тяжелые системы, то вопрос начинает вставать ребром. Начнем с того, что ваша дисковая подсистема может не выдержать одновременного запуска такого количества гостевых систем и серьезно просядет по производительности, в результате чего вы будете бегать вокруг и ждать, когда же оно наконец загрузится. Также не будет ничего хорошего, если сервер приложений запустится раньше обсуживающего его сервера БД или сетевого хранилища. В общем таких ситуаций может быть много и ничего хорошего из них не получится. Поэтому берем управление порядком загрузки в свои руки, а именно разделяем гостевые системы по степени важности и критичн

Порядок запуска гостевых систем в Proxmox VE

Proxmox, как и любая взрослая система виртуализации предоставляет богатые инструменты для управления работой гостевых систем (виртуальных машин и контейнеров), одним из важных параметров работы узла является порядок запуска гостевых систем.

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

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

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

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

Первыми ставим наиболее важные системы, обеспечивающие функционирование все инфраструктуры: роутеры, VPN-сервера, DNS, DHCP и т.д. и т.п.

Далее можем запустить контроллеры домена, за ними СУБД, потом сервера приложений, потом все остальное.

Настроить все это можно прямо в графическом интерфейсе в разделе Options виртуальной машины, прежде всего активируйте опцию Start at boot, которая включает автоматическую загрузку гостевой системы.

Затем откройте настройку Start/Shutdown order, где вы можете указать порядок загрузки/выключения, для этого можете использовать любые целые положительные числа.

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

Первыми запускаются гостевые системы с самым низким порядком, последними те, у которых порядок не указан совсем. Гости с одинаковым номером порядка запускаются одновременно.

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

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

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

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

Параметр Shutdown timeout устанавливает тайм-аут на выключение, по умолчанию 60 секунд, если гостевая система не завершила свою работу за указанное время, то в лог пишется ошибка выключения и гостевая система завершается принудительно.

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