Миграция ВМ¶
Миграция ВМ в OpenStack CLI выполняется командой server migrate. Формат команды:
$ openstack server migrate --os-compute-api-version 2.87 <server>
Параметры команды:
[--live-migration]— выполнить live-миграцию ВМ. Нужно использовать опцию --host для указания целевого вычислительного узла;
[--host <host name>]— выполнить миграцию на вычислительный узел <host name>;
[--shared-migration | --block-migration]— выполнить общую live-миграцию (миграция по умолчанию) / выполнить блочную live-миграцию;
[--disk-overcommit | --no-disk-overcommit]— разрешить избыточную фиксацию диска на целевом управляющем узле / не выполнять избыточную фиксацию диска на целевом управляющем узле;
[--wait]— дождаться завершения миграции;
<server>— мигрирующая ВМ (имя или ID).
Миграция ВМ с перегрузкой по памяти¶
При работе с ВМ с перегруженной памятью компонент Nova по умолчанию использует следующую формулу: Тайм-аут = базовый_тайм-аут (800 сек) * объем оперативной памяти (ГБ). Таким образом, live-миграция нагруженных ВМ с большим объемом ОЗУ может занимать много времени.
Существует механизм принудительного завершения миграции по истечении тайм-аута, который может использовать два сценария реализации:
Посткопирование (post-copy) — производится перенос ВМ на целевой вычислительный узел и постепенное донесение содержимого оперативной памяти. Работа ВМ до полного переноса памяти проходит в режиме пониженной производительности.
Автоматическая сходимость (auto converge) — если миграция не может завершиться, то компонент начинает замедлять работу процессора ВМ до тех пор, пока процесс копирования памяти не станет быстрее, чем изменение памяти ВМ.
Таким образом, можно оптимизировать процесс live-миграции, подобрав оптимальное время тайм-аута и выбрав предпочтительный сценарий реализации принудительного завершения миграции.
Примечание
Сценарий механизма администратор может выбрать при инсталляции на свое усмотрение. Для этого в репозитории региона необходимо создать файл config/nova/nova-compute.conf с содержимым:
[libvirt] live_migration_completion_timeout = 800 live_migration_permit_post_copy = False live_migration_permit_auto_converge = False
Администратор задаёт таймаут в секундах в формате целого числа и устанавливает значение True для выбранного сценария.
Также существует возможность принудительной отмены миграции. Когда большая ВМ достаточно долго находится в статусе миграции при live-миграции, становится доступно новое действие — отмена миграции. Это действие можно выполнить с помощью кнопки Stop migration в интерфейсе ВМ.
Live-миграция ВМ¶
Если у ВМ выставлено свойство availability_zone, при live-миграции этой ВМ не предлагаются хосты (гипервизоры) из других зон доступности. Это можно изменить, выбрав опцию Ignore AZ restriction в интерфейсе ВМ, после чего для миграции станут доступны все хосты, а live-миграция будет проводиться с ключом force.
Чтобы провести live-миграцию ВМ с Портала администратора:
В левом меню Портала перейдите в раздел и выберите любую машину из таблицы ВМ.
Нажмите выпадающий список в столбце Actions и выберите Placement management, а затем Live Migrate.
В открывшемся окне поставьте флажок Ignore AZ restriction, выберите нужный гипервизор и нажмите кнопку Мигрировать.
Live-миграция ВМ¶
Миграция ВМ с дисками между регионами¶
При необходимости вы можете переносить виртуальные машины с дисками из одного региона в другой.
Чтобы перенести ВМ с дисками в другой регион:
На вкладке выберите виртуальную машину с дисками для переноса.
Нажмите выпадающий список в столбце Actions и выберите Placement management, а затем Migrate to the region.
Перенос ВМ с дисками в другой регион¶
В открывшемся окне по очереди выберите регион, проект и сеть для переноса ВМ. Нажмите Start migration.
Выбор параметров для переноса ВМ в другой регион¶
Дождитесь завершения процесса переноса. Обратите внимание, что в процессе миграции ВМ будет выключена, а ее диски выгружены.
ВМ будет перенесена в другой регион и там запущена. После переноса ВМ будет сразу работать. Исходная ВМ не будет удалена.
Эвакуация ВМ с вычислительного узла¶
В контейнере kolla_toolbox на управляющем узле необходимо выполнить команду для эвакуации ВМ на другие вычислительные узлы в составе кластера:
nova host-evacuate-live <имя удаляемого узла>
Аварийное восстановление ВМ (Nova rescue)¶
Вы можете проводить аварийное восстановление ВМ на Портале администратора. Такие ВМ будут загружены с указанного вами загрузочного образа (обычно с той же ОС, на которой ВМ работает), и к ней будут подключены все ее диски. Статус ВМ изменится на RESCUE.
На вкладке выберите виртуальную машину, которую нужно перевести в статус RESCUE. Нажмите Rescue VM в столбце Actions для этой ВМ.
Заполните поля — пароль и образ. Выбранный образ должен иметь следующие свойства: 'hw_rescue_device': 'disk' и 'hw_rescue_bus': 'scsi'.
Нажмите кнопку Запустить. ВМ перейдет в статус RESCUE, а инстанс будет перезагружен из выбранного образа.
Аварийное восстановление ВМ¶
Чтобы перевести ВМ обратно в статус ACTIVE, выберите действие Unrescue VM в столбце Actions для этой ВМ.
Работа с моментальными снимками ВМ¶
На Портале администратора вы можете создавать моментальные снимки загрузочного диска ВМ чтобы сохранить параметры виртуальных машин и в случае сбоя восстановить машины из этих снимков. В данной инструкции технология создания таких снимков ВМ описана для драйверов Huawei Dorado.
Предварительные требования¶
Требуется тип томов (volume type), у которого в extra specs указаны
volume_backend_nameиbackend_poolс одинаковымvolume_backend_name. Подробнее — в разделе Типы томов.
Выполните предварительные шаги:
Создайте volume backend pool в файлах
config/cinder/cinder-volume/vendor-configs/huawei_storage.xmlиconfig/cinder.conf.Установите extra specs на volume type. У
backend poolи уvolume typeдолжно быть одинаковое значение вvolume_backend_name, аvendor_nameдолжен бытьHuawei:<VolumeType: huawei_storage> ... extra_specs = {dict: 1}{'volume_backend_name':'huawei_storage'}
Создание моментальных снимков ВМ¶
В левом меню Портала перейдите в раздел и выберите любую машину из таблицы ВМ.
Нажмите выпадающий список в столбце Actions и выберите Volume management, а затем Create snapshot of boot volume.
В открывшемся окне укажите имя и название снимка ВМ. Чтобы добавить дополнительные параметры, нажмите + для Extra specs. Нажмите Создать.
Создание снимка ВМ¶
Чтобы вернуть виртуальную машину к состоянию моментального снимка:
На вкладке выберите виртуальную машину.
Нажмите выпадающий список в столбце Actions и выберите Volume management, а затем Revert boot volume to latest snapshot.
В открывшемся окне подтвердите действие. Нажмите Откатить.
Восстановление ВМ из снимка¶
Примечание
Функция отката ВМ к моментальному снимку поддерживается не всеми СХД. В таком случае выдается ошибка 400 вида It is not possible to revert server <id> to the latest snapshot: unsupported volume backend type.