Перейти к содержанию

Миграция виртуальных машин

Общая информация

Миграция ВМ предназначена для переноса ВМ из VMware vSphere в SpaceVM. Процесс миграции выполняется исполнителем миграции под управлением сервиса миграции и состоит из следующих основных этапов:

  1. Получение из VMware vSphere метаданных исходной ВМ.

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

    Примечание

    Следующие этапы миграции могут производиться только в выключенном состоянии исходной ВМ. Завершение работы исходной ВМ должно производиться командой Shut Down Guest OS с использованием VMware Tools. При некорректном завершении работы исходной ВМ миграция завершится ошибкой.

  3. Производится экспорт копий дисков целевой ВМ из VMware vSphere.

  4. Экспортированные копии дисков конвертируются в формат, поддерживаемый SpaceVM.

  5. Конвертированные копии дисков целевой ВМ импортируются в SpaceVM.

  6. В облаке назначения создается целевая ВМ с конфигурацией, соответствующей конфигурации исходной ВМ.

  7. К целевой ВМ подключаются импортированные копии дисков исходной ВМ.

  8. Целевая ВМ запускается в SpaceVM.

    Внимание

    Исполнитель миграции должен иметь доступ к базовым публичным или локальным репозиториям гостевой ОС на базе Linux, запланированной для миграции. Если доступ осуществляется через прокси-сервер, то следует внести изменения в конфигурацию исполнителя. Доступ к репозиториям требуется при кастомизации образа гостевой ОС на базе Linux в процессе установки ПО для обеспечения полноценного функционирования в целевой системе виртуализации. Для целевой системы SpaceVM устанавливаются пакеты qemu-guest-agent и cloud-init с зависимостями.


    Для ОС на базе Linux в файле /etc/fstab монтирование дополнительных дисков следует конфигурировать не по имени устройства, а по его UUID. После миграции имя устройства может измениться. UUID устройства остается неизменным. UUID дисков можно получить командой blkid.

    Пример вывода команды blkid
    ~# blkid
    /dev/sda1: UUID="F90A-18F7" TYPE="vfat" PARTLABEL="EFI System
    Partition" PARTUUID="f105f116-9be8-4e64-b441-5c5c5e5047ed"
    /dev/sda2: UUID="b8d662af-710c-492c-af18-bfea25a2f034" TYPE="ext4"
    PARTUUID="6034599d-e235-42d3-9077-98dec643889f"
    

    Перед началом миграции необходимо отключить CD/DVD диски, ISO-файлы и сетевые диски от целевой ВМ.


    Перед началом миграции необходимо оставить подключенным только один сетевой интерфейс. Снова подключить сетевые интерфейсы можно после завершения процесса миграции.

Исходная ВМ в VMware vSphere остается в выключенном состоянии. В соответствии с внутренним регламентом компании пользователя производится проверка работы целевой ВМ в SpaceVM. При необходимости целевая ВМ может быть выключена, а исходная включена для возобновления работы в состоянии, предшествующем выключению. Исходная ВМ в VMware vSphere может быть удалена в любое время.


Поддержка гостевых ОС исполнителями миграции на различных ОС

Ниже приведена информация по поддержке гостевых ОС исполнителями миграции на различных ОС.

Поддержка миграции гостевых ОС из VMware vSphere в SpaceVM

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

Гостевая ОС RHEL 7 RHEL 8 RHEL 9 RedOS 8 AstraLinux SE 1.7 AstraLinux SE 1.8 Ubuntu 24.04
AstraLinux SE 1.7 Да* Да Да Да Да Да Да
AstraLinux SE 1.8 Да* Да Да Да Да Да Да
RedOS 7.3 Да* Да Да Да Да Да Да
RedOS 8.0 Да* Да Да Да Да Да Да
AltLinux 10 Да Да Да Да Да Да Да
RHEL 7 Да Да Да Да Да Да Да
RHEL 8 Нет Да Да Да Да Да Да
RHEL 9 Нет Да* Да Да Да Да Да
Ubuntu 18.04 Да* Да Да Да Да Да Да
Ubuntu 20.04 Да* Да Да Да Да Да Да
Ubuntu 22.04 Да* Да Да Да Да Да Да
Ubuntu 24.04 Да* Да Да Да Да Да Да
MS Windows 2012 Нет Нет Да Да Нет Нет Да
MS Windows 2019 Нет Нет Да Да Нет Нет Да

* – если гостевая ОС использует недоступные в ядре ОС исполнителя функции файловой системы, то миграция будет невозможна. В этом случае следует выбрать исполнителя с ядром ОС не старше ядра гостевой ОС.

Внимание

В случае некорректных настроек сети гостевой ВМ под управлением ОС RedOS после миграции, рекомендуется запустить ее в режиме «Однократный запуск». Необходимо выполнить следующие шаги:

  1. В параметрах «Однократного запуска» активировать опцию «Использовать Cloud-Init» с требуемыми сетевыми настройками.

  2. После загрузки ВМ убедиться в корректности параметров сетевых настроек.

  3. Заблокировать дальнейшее изменение сетевых настроек после перезагрузки командой из терминала ВМ:

    cat << EOF > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    
  4. Перезагрузить ВМ. Сетевые настройки сохранятся.

  5. Для разблокировки изменений настроек удалить файл /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg.

  6. Перезагрузить ВМ.


Создание задачи миграции виртуальных машин

Внимание

Обязательным условием выполнения задач миграции является сетевая доступность для исполнителя миграции VMware vSphere и SpaceVM независимо от того, в какой сети развернут он сам.


VMware Tools должны быть установлены на исходной гостевой ВМ в VMware vSphere на момент подготовки к миграции.

Для создания задачи миграции ВМ необходимо открыть раздел «Миграция» (1) в левом меню портала.

Раздел «Миграция» в меню портала

interface_engineer_158.png

Для оптимизации отображения ранее созданных задач миграции доступна фильтрация по полям «Облако источник» (2), «Облако назначения» (3) и «Ресурс» (4). Опция «Показать скрытые» (5) управляет отображением «архивированных задач».

При нажатии кнопки «Создать задачу» (7) открывается окно задания параметров «Новой задачи миграции».

Окно «Новая задача миграции»

interface_engineer_159.png

В окне «Новая задача миграции» задаются параметры миграции.

  • «Облако источник» (1) – предоставляет выбор облака источника миграции ВМ.

  • «Облако назначения» (2) – выбор целевого облака для миграции ВМ.

  • «Площадки» (опционально) (3) – пакетный выбор всех ВМ указанной площадки, предназначенных для миграции из VMware vSphere.

  • «Ресурсы» (4) – выбор целевой(вых) ВМ, предназначенных для миграции из выбранного облака VMware vSphere. При выборе «Площадки» поле «Ресурсы» дополняет список ВМ, предназначенных для миграции.

    Примечание

    Доступно создание задачи в пакетном режиме для ВМ с одинаковыми параметрами миграции.

  • «Кластер назначения» (5) – выбор целевого кластера для размещения ВМ после миграции.

  • «Хранилище назначения» (6) – выбор целевого хранилища для размещения образов целевой ВМ после миграции.

  • «Сеть назначения» (7) – выбор сети для подключения целевой ВМ после миграции.

  • «Исполнитель задачи» (8) – необходимо выбрать исполнителя задачи из выпадающего списка.

    Примечание

    Один Исполнитель задач может одновременно выполнять миграцию нескольких ВМ в отдельных сессиях. Максимальное количество сессий миграции определяет параметр «poolsize» в конфигурационном файле config-migrate-runner.yml. Конфигурационный файл находится в директории <DIR_INSTALL_MIGRATE-RUNNER>/conf/ выбранного Исполнителя задач. По умолчанию poolsize=0, что соответствует значению «3». Максимальное значение ограничено для целевого облака SpaceVM значением «100».

  • «Окно запуска миграции» (9) выбор фазы запуска миграции – немедленно, ночью или в выходные.

После завершения определения параметров для задачи миграции необходимо нажать «Создать» (10). Отобразится окно «Миграции виртуальных машин» с новой задачей. Если в «Окне запуска фазы миграции» указано «Немедленно», то задача будет запущена сразу.

Список задач миграции: запуск немедленно

interface_engineer_160.png

Если в «Окне запуска фазы миграции» указан отложенный запуск, то задача будет находиться в статусе «Ожидание».

Список задач миграции: отложенный запуск

interface_engineer_161.png


Просмотр и управление задачами миграции

В окне задачи доступны следующая информация и инструменты взаимодействия с процессом выполнения миграции:

  • «Задача» (1) отображает номер задачи.

  • «Источник» (2) отображает название облака источника задачи миграции.

  • «Назначение» (3) отображает название целевого облака задачи миграции.

  • «Ресурсы» (4) отображает имя целевой ВМ для задачи миграции.

  • «Запуск миграции» (5) отображает время запуска задачи миграции.

  • «Продолжительность» (6) отображает время, прошедшее с момента запуска задачи миграции.

  • «Выполнено (%)» (7) отображает приблизительную долю в процентах выполненной задачи от общего объема или статус выполнения задачи. Точное значение доли выполненной задачи зависит от множества факторов, связанных с конкретной целевой ВМ.

  • «Действия» (8) отображает доступные инструменты взаимодействия с задачей в зависимости от статуса выполнения самой задачи и входящих в нее подзадач. Опция «Показать скрытые» (9) включает или отключает отображение архивированных задач.

При нажатии на номер задачи выполняется переход в окно, отображающее ее подзадачи.

Окно подзадач задачи миграции

interface_engineer_162.png

  • «Подзадача» (1) отображает номер подзадачи миграции.

  • «Ресурс» (2) отображает имя целевой ВМ для подзадачи миграции.

  • «Фаза» (3) отображает фазу выполнения подзадачи. Значок фазы в стадии выполнения окрашен в синий цвет. Значки завершенных фаз зеленого цвета. Значок в статусе ошибки красного цвета. Подзадача миграции представлена следующими фазами:

    • Проверка.
    • Подготовка.
    • Экспорт образа.
    • Конвертация образа.
    • Импорт образа.
    • Постнастройка.
  • «Начало» (4) отображает дату и время старта подзадачи миграции.

  • «Завершение» (5) отображает дату и время завершения подзадачи миграции.

  • «Продолжительность» (6) отображает общее время выполнения подзадачи миграции.

  • «Выполнено (%)» (7) отображает приблизительную долю в процентах выполненной подзадачи от общего объема или статус выполнения подзадачи. Точное значение доли выполненной подзадачи зависит от множества факторов, связанных с конкретной целевой ВМ.

  • «Действия» (8) отображает доступные инструменты взаимодействия с подзадачей в зависимости от статуса выполнения подзадачи.

Для задачи, находящейся в статусе «Новая» или «Ожидание», доступно действие «Удалить» (12). Действие «Удалить» требует подтверждения. После подтверждения задача удаляется без возможности восстановления.

При нажатии по номеру подзадачи (1) вызывается открытие ее «Журнала обработки» в отдельной вкладке.

Журнал обработки подзадачи

interface_engineer_163.png


Управление выполнением задач

  • Действие «Приостановить» (10) на уровне подзадачи становится доступным после прохождения первой фазы и распространяется на конкретную подзадачу.

    На уровне задачи действие «Приостановить» доступно, если оно доступно на уровне одной из ее подзадач. Приостановка распространяется на все подзадачи, для которых доступно это действие. При нажатии «Приостановить» появляется запрос на подтверждение действия для задачи или подзадачи.

    Подтверждение приостановки задачи и подзадачи

    interface_engineer_164.png

    После подтверждения целевая подзадача приостанавливает работу. Данные ее последней успешной фазы сохраняются. Для нее становится доступно действие «Перезапустить» (13). Для родительской задачи также становится доступным действие «Перезапустить» (13).

    Действие «Перезапустить» для задачи и родительской задачи

    interface_engineer_167.png interface_engineer_166.png

  • Действие «Отменить» (11) доступно для подзадачи в статусе «В работе», «Приостановлена» и «Ошибка» и распространяется на конкретную подзадачу

    На уровне задачи действие «Отменить» доступно, если оно доступно на уровне одной из ее подзадач. Действие распространяется на все подзадачи, для которых доступно это действие. При нажатии «Отменить» появляется запрос на подтверждение действия для задачи.

    Подтверждение отмены задачи и подзадачи

    interface_engineer_168.png interface_engineer_169.png

    Примечание

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

    Для подзадачи в статусе «Отмена» и для родительской задачи становится доступным действие «Перезапустить» (13).

    Действие «Перезапустить» для задачи и родительской задачи

    interface_engineer_170.png interface_engineer_171.png


Ошибки и перезапуск задач

Подзадача в процессе выполнения может завершиться переходом в статус «Ошибка» (2).

Задача в статусе «Ошибка»

interface_engineer_171.png

Фаза, на которой подзадача завершилась ошибкой, окрашивается в красный цвет. Причину ошибки можно выяснить через анализ «Журнала обработки». Для подзадачи в статусе «Ошибка» доступны действия «Перезапуск» и «Отмена».

Если родительская задача содержит другие подзадачи без статуса «Ошибка», то она отмечается статусом «Предупреждение» (1). Подзадача декларирует родительской задаче доступность действия «Перезапустить» (13). Вызов действия «Перезапустить» требует подтверждения для задач и подзадач.

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

Успешное завершение задачи миграции будет отражено статусом «Завершен» для подзадач и родительской задачи.

Статус «Завершен» у задачи и подзадач

Cтатус «Завершен» у задачи:

interface_engineer_176.png

Cтатус «Завершен» у подзадач:

interface_engineer_175.png


Завершение задачи миграции

Внимание

После завершения миграции, начиная с первой загрузки, для оптимизации работы в целевом облаке в ВМ на базе ОС Windows устанавливаются драйверы VirtIO и служебные утилиты. При этом до готовности ВМ к работе, в процессе установки ПО, происходит автоматическая перезагрузка ОС до 6 раз.

Для завершенной задачи доступно действие «Скрыть» (2) с подтверждением на выполнение. Действие «Скрыть» архивирует задачу. Задача по умолчанию больше не отображается в окне «Миграции виртуальных машин». «Скрытые» задачи доступны для просмотра при активации переключателя «Показать скрытые» (1). Какие-либо действия над скрытой задачей не доступны.

Действие «Скрыть» и «Показать скрытые»

interface_engineer_176.png interface_engineer_178.png


Отчет по миграции виртуальных машин

В разделе «Аналитика» (1) - «Отчеты» (2) доступны отчеты типа «Миграция виртуальных машин».

Раздел «Аналитика» - «Отчеты»

interface_engineer_179.png

Необходимо выбрать тип отчета «Миграция виртуальных машин» (1) и установить для него требуемые параметры:

Тип отчета «Миграция виртуальных машин»

interface_engineer_180.png

  • «Формат» (2–5) служит для выбора требуемого(ых) формата(ов) отчета.

  • При нажатии «Запросить отчет» (7) ставится в очередь создание отчета с указанными параметрами.

  • (6) отображает список и статус запрошенных отчетов. При нажатии значка формата производится скачивание выбранного отчета соответствующего формата с возможностью дальнейшего открытия для просмотра.

Пример содержания отчета по миграции виртуальных машин

interface_engineer_181.png

Отчет содержит следующую информацию:

  • «Период» (1) отображает отчетный период.

  • «Сформирован» (2) отображает дату формирования отчета.

  • «Виртуальная машина» (3) отображает ВМ.

  • «Площадка» (4) отображает площадку – источник в случае выбора для миграции всех ВМ площадки.

  • «Облако источник» (5) отображает облако, из которого произведена миграция ВМ.

  • «Облако назначения» (6) отображает облако, в которое произведена миграция.

  • «Номер задания» (7) отображает номер записи в очереди всех выполненных задач на миграцию.

  • «Дата завершения задачи» (8) отображает дату и время завершения задачи миграции.