Если на узле кластера нужно провести технические работы, вы можете перевести узел в режим обслуживания. На узле, находящемся в режиме обслуживания, не поддерживается:
- создание новых виртуальных машин (ВМ);
- перенос ВМ с других узлов.
При переводе узла в режим обслуживания вы можете запустить эвакуацию объектов — автоматическую миграцию ВМ, дисков, образов и резервных копий на другой узел. После завершения обслуживания эвакуированные объекты будут возвращены на исходный узел. Если эвакуация объектов не выполняется, то при включении режима обслуживания все ВМ на этом узле будут остановлены.
Ограничения
Если один из узлов кластера находится в режиме обслуживания с эвакуацией объектов, то запуск режима обслуживания на других узлах этого кластера недоступен.
Режим обслуживания недоступен:
- в отказоустойчивых кластерах;
- в кластерах с типом настроек "Маршрутизация";
- в кластерах с LXD-виртуализацией.
Эвакуация ВМ невозможна, если:
- на узлах кластера недостаточно ресурсов для миграции;
- нет узлов кластера с сетевыми параметрами, подходящими для миграции;
- для ВМ исходного узла были созданы снимки;
- к ВМ исходного узла подключены ISO-образы.
Логика работы
Действия платформы при переводе узла в режим обслуживания:
- Если включена опция Принудительно отменить все задачи на узле, завершаются все запущенные задачи. Если опция отключена, платформа дожидается завершения запущенных задач.
- Если требуется эвакуировать объекты узла:
- Создаётся план эвакуации. План содержит действия по миграции всех объектов узла. Выбор узлов для миграции зависит от настроек кластера. Подробнее см. в статье Выбор узла кластера для ВМ.
- Резервируется место на дисках узлов, куда будут перенесены объекты с обслуживаемого узла. Зарезервированное место не будет использоваться для создания новых ВМ.
- Переносятся объекты обслуживаемого узла на другие узлы согласно плану эвакуации. Если миграция какого-либо объекта завершится с ошибкой, выполнение плана будет продолжено. Если живая миграция для определённой ВМ не поддерживается, эта ВМ будет остановлена перед миграцией.
- Если эвакуация объектов узла не требуется, останавливаются все ВМ на узле.
- Статус узла изменяется на В режиме обслуживания.
Действия платформы при выводе узла из режима обслуживания:
- Если включена опция Вернуть эвакуированные объекты, перенесённые объекты возвращаются на исходный узел.
- Запускаются ВМ, которые были остановлены при включении режима.
- Отключается статус узла В режиме обслуживания.
Управление режимом обслуживания
Включение режима обслуживания
Если объекты узла требуется эвакуировать, удалите снимки ВМ перед включением режима. Подробнее см. в статье Снимки виртуальных машин.
- Перейдите в раздел Узлы → выберите узел → меню → Режим обслуживания.
- Чтобы узел перешёл в режим обслуживания только после завершения всех задач на узле, отключите опцию Принудительно отменить все задачи на узле.
- Чтобы провести эвакуацию объектов, активируйте переключатель Инициировать эвакуацию объектов с этого узла.
- Нажмите кнопку Включить. Когда узел будет готов к проведению обслуживания, его статус изменится на В режиме обслуживания.
Если эвакуация каких-либо объектов завершилась с ошибкой, выполните их миграцию вручную. Подробнее см. в статье Миграция виртуальных машин.
Отключение режима обслуживания
- Перейдите в раздел Узлы → выберите узел → меню → Режим обслуживания.
- Если перенесённые объекты не нужно возвращать на узел, отключите опцию Вернуть эвакуированные объекты.
- Нажмите кнопку Отключить.
Лог-файлы
Логи режима обслуживания записываются в контейнер vm_box на сервере с платформой:
-
/var/log/vm_1_writer.log — составление плана эвакуации;
Пример команды для просмотраdocker exec -it vm_box grep "node/{node_id}/maintenance" /var/log/vm_1_writer.log
- /var/log/node_{node_id}_maintenance.log — выполненные действия.