Download page Устранение проблем миграции ВМ через функцию "Запланировать повторно".
Устранение проблем миграции ВМ через функцию "Запланировать повторно"
Если при создании ВМ в шаблоне для развертывания был указан не кластер, а конкретный сервер виртуализации и установлен параметр SCHED_REQUIREMENTS, то созданная ВМ не будет мигрировать при использовании функции Запланировать повторно. Что, в свою очередь, приведет к некорректной работе таких механизмов "Высокой доступности", как Мигрировать все ВМ с хоста при переводе его в статус 'Отключен' и "Автоматическая миграция`.
В этом случае миграция не происходит, а в журналах логирования появляются следующие сообщения:
В логе /var/log/one/oned.log:
Tue Dec 19 11:59:38 2023 [Z0][ReM][D]: Req:6320 UID:0 IP:127.0.0.1 one.vm.update invoked , 62, "SCHED_MESSAGE = "Tue...", 1
Tue Dec 19 11:59:38 2023 [Z0][ReM][E]: Req:6320 UID:0 one.vm.update result FAILURE [one.vm.update] Cannot update template.
Parse error: syntax error, unexpected $end, expecting EQUAL or EQUAL_EMPTY at line 1313427496, columns 169:170
CODE
В логе /var/log/one/sched.log:
Tue Dec 19 13:03:05 2023 [Z0][SCHED][D]: Match-making results for VM 62:
Cannot schedule VM, there is no suitable host.
CODE
Для устранения проблемы необходимо удалить параметр SCHED_REQUIREMENTS из шаблона ВМ:
для удаления данного параметра из шаблонов всех ВМ, необходимо выполнить команду:
onedb change-body vm '/VM/USER_TEMPLATE/SCHED_REQUIREMENTS' --delete
для удаления параметра SCHED_REQUIREMENTS из шаблона конкретной ВМ необходимо добавить параметр --id, с указанием идентификатора данной ВМ:
onedb change-body vm --id 102 '/VM/USER_TEMPLATE/SCHED_REQUIREMENTS' --delete