Можно ли выполнить живую миграцию виртуальной машины между зонами доступности?¶
Проблема: Живая миграция виртуальной машины между зонами доступности не осуществляется. В журнале логов /var/log/nova/nova-conductor.log
регистрируются сообщения вида:
WARNING nova.scheduler.utils [...] Failed to compute_task_migrate_server: No valid host was found
И в журнале логов /var/log/nova/nova-scheduler.log
:
INFO nova.scheduler.host_manager [...] Host filter only checking host [...] and node [hostname]INFO nova.filters [...] Filter AvailabilityZoneFilter returned 0 hosts
Окружение:
- Платформа под управлением OpenStack (все версии)
- Nova
Причина:
Живая миграция виртуальной машины возможна в пределах зоны доступности, но только с использованием интерфейса командной строки. Как мы видим, исходный хост и хост назначения являются частью разных зон доступности.
Исходный хост:
$ openstack compute service list | grep [UUID]| 50 | nova-compute | [UUID] | Test-AZ | enabled | up | 2020-XX-XXTYY:YY:YY.000000 |
Хост назначения:
$ openstack compute service list | grep [UUID]| 69 | nova-compute | [UUID] | nova | enabled | up | 2020-XX-XXTYY:YY:YY.000000 |
Решение:
Живая миграция между различными зонами доступности работает с использованием параметра --force
для живой миграции. Миграция виртуальной машины с использованием параметра --force
может принудительно обойти nova-scheduler
и переместить виртуальную машину на указанный хост:
https://docs.openstack.org/nova/latest/admin/availability-zones.html
Дополнительная информация:
С дополнительной информацией о зонах доступности можно ознакомиться в официальной документации OpenStack.