6.9.3 Миграция между платформами ТИОНИКС

Подготовительный этап затрагивает данные виртуальных машин, хранящихся в исходной системе виртуализации в виде образов. Формат хранения образа остается неизменным ввиду того, что миграция ВМ осуществляется между однотипными платформами (TIONIX).

Начальные условия:

  1. Наличие плана миграции, содержащего основные сведения об исходной инфраструктуре и перечень виртуальных машин, которые предстоит мигрировать.
  2. Наличие АРМ администратора с установленным системным и общесистемным ПО:
    • ОС Linux;
    • клиент службы удаленного доступа SSH;
    • служба гипервизора libvirt;
    • служба клиента OpenStack;
    • веб-браузер, совместимый с TIONIX.Dashboard.

Внимание.

Рекомендуется использование базового дистрибутива ОС Linux (cм. документ Руководство архитектора).

6.9.3.1 Планирование операций по миграции

Носитель, используемый для сохранения исходного образа ВМ в виде файла, должен иметь свободное место объемом не менее того, что отображается в свойствах ВМ интерфейса управления (TIONIX.Dashboard).

Производится калькуляция исходных ресурсов, подготовка и заполнение таблицы с параметрами исходных образов виртуальных машин (ВМ). Требования к ресурсам (оперативной памяти, внешней памяти и количеству виртуальных процессорных ядер) исходной и целевой платформ должны соотноситься в части тех ВМ, которые планируется мигрировать.

Кратковременный вывод ВМ из эксплуатации в исходной облачной инфраструктуре обязателен. Это гарантирует целостность виртуального диска, выгружаемого в файл образа.

6.9.3.1.1 Исходная инфраструктура (платформа)

Исходная облачная инфраструктура – среда с поддержкой виртуализации TIONIX, построенная на основе гипервизора и СПО OpenStack. Далее будет называться исходной платформой.

Облачная платформа TIONIX поддерживает функционирование множества гостевых операционных систем Windows, серверных (Server) и настольных (выпуски Windows 7/8/10), а также большинства дистрибутивов Linux: CentOS, RHEL, Fedora, Debian, Ubuntu.

Администратор облачной платформы может выполнять любые действия, связанные с обслуживанием VDI (инфраструктуры виртуальных рабочих столов), в том числе действия, связанные с управлением проектом и объектами инфраструктуры: сетями/подсетями, образами, виртуальными машинами, пользователями.

6.9.3.1.2 Целевая инфраструктура (платформа)

Целевая облачная инфраструктура, также как исходная (облачная инфраструктура), построена на базе программных решений облачной платформы «TIONIX Cloud Platform». Далее будет называться целевой платформой.

Целевая платформа обладает высокой обратной совместимостью с исходной платформой, а также унифицированным графическим интерфейсом управления, основанным на веб-технологиях.

Примечание.

Незначительные изменения в ПО, влияющие на улучшение потребительских качеств инфраструктуры, могут появляться с новыми релизами.

6.9.3.2 Подготовка доступа к исходной и целевой платформам

На исходной платформе выполнить следующие действия:

  1. Подключиться к первому контроллеру кластера (control1) с помощью SSH.

Подключение выполняется из АРМ администратора, с помощью команды:

ssh root@control1

После успешного ввода пароля и авторизации на стороне контроллера будет выводиться следующее приглашение к вводу команд:

[root@control1 openstack]#
  1. Открыть для редактирования файл настройки окружения admin-openrc.

Файл находится в папке /root. Пример содержания файла [1]:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=<название_проекта>
export OS_USERNAME=<имя_пользователя>
export OS_PASSWORD=<пароль_пользователя>
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export OS_VOLUME_API_VERSION=2
export OS_AUTH_TYPE=password
export DB_SUPERUSER_PASSWORD=<пароль_администратора_БД>
export RABBIT_PASSWORD=<пароль_контроллера_шины_сообщений>

Примечание.

В строке export OS_USER_DOMAIN_NAME= должно быть указано имя домена, в который будет осуществляться импорт.

  1. Выполнить файл настройки окружения «от источника»:

    source /root/admin-openrc
    

Примечание.

Рекомендуется убедиться, что настройки окружения, необходимые для нормальной работы OpenStack, вступили в силу. Выполните команду:

env | grep OS_
  1. Настройки окружения, используемые для доступа к исходной платформе, скопировать в файл окружения целевой платформы (admin-openrc-remote):

    cd /root && cp admin-openrc admin-openrc-remote
    

После копирования отредактировать копию таким образом, чтобы корректно перенастроилось окружение на доступ к целевому облаку из того же контроллера (исходного облака).

Примечание.

Копия нужна для смены настроек окружения, позволяющей администратору выполнять все операции по выгрузке и загрузке облака с одного контроллера.

Переключение между исходной и целевой инфраструктурами производится, не выходя из оболочки (root@control). При этом используется один и тот же файл образа (.img-формата), сохраненный локально (на контроллере исходной платформы).

На целевой платформе отредактировать файл настройки окружения admin-openrc. Строка настройки (export OS_USER_DOMAIN_NAME=…) должна содержать имя домена, в который будет осуществляться импорт (загрузка образа).

6.9.3.3 Импорт образа из исходной платформы «ТИОНИКС»

Примечание.

Имя образа, предназначенного для выгрузки, может быть точно определено с помощью графического интерфейса управления облачной инфраструктурой (TIONIX.Dashboard).

На исходной платформе, из которой импортируется ВМ пользователя, выполните следующие действия:

  1. Откройте для редактирования проект, из которого будет импортироваться инстанс (настройки ВМ).
  2. Найдите имя образа, указанного в проекте.

На УУ следует выполнить команду:

openstack image list

Пример вывода списка доступных образов (в консоль):

| af9de22e-4391-4b99-b03f-f9bd5706aa7a      | win2016-trial             | active |
| cb938347-e10a-4765-9f7e-1f920de3fac8      | win2019-20200804          | active |
| c5e7fe77-9594-4d7d-9347-d4bdf0c9a845      | windows7-import-no-scsi   | active |
  1. Найти имя/ID образа, указанного в проекте, выполнив команду:

    openstack image show <название_образа>
    

Пример вывода детальной информации по указанному образу:

|   name        | win10-20200622                                                    |
|   owner       | 79f4dbda960441599672cb68938a858f                                  |
|   properties  | hw_disk_bus='scsi', hw_qemu_guest_agent='yes',                    |
|               |   hw _scsi_model='virtio-scsi', hw_video_model='qxl',             |
|               |   hw_vif_multiqueue_enabled='true', os_distro='windows',          |
|               |   os_require_quiesce='yes', os_type='windows'                     |
|   protected   | False                                                             |
  1. Зафиксируйте данные о свойствах образа на бумажном/электронном носителе.

Примечание.

Зафиксированные данные properties потребуются далее (при импорте образа).

  1. Выполните дальнейшие действия:
  1. остановите работу виртуальной машины;
  2. сохраните образ виртуальной машины;
  3. выгрузите образ из облака в файл, который необходимо перенести на другую (целевую) облачную платформу.

Подробное описание действий по останову ВМ, сохранению и выгрузке образа из облака (в виде img-файла) приведено ниже.

ВАЖНО.

Чтобы снизить время простоя пользователя, рекомендуется после успешного сохранения образа ВМ сразу же вернуть её в работу.

6.9.3.3.1 Останов работы ВМ

Необходимо остановить работу той ВМ, которой назначен конкретный пользователь и которая предназначена для импорта. Для этого в интерфейсе управления (TIONIX.Dashboard) для выбранной машины из выпадающего списка доступных действий следует кликнуть «Выключить машину» (Рис. 6.60).

../_images/01-MOV.png

Рис. 6.60 Контекстное меню ВМ. Выключить машину

6.9.3.3.2 Сохранение образа ВМ

Для сохранения образа машины в интерфейсе управления перейдите:

Администратор >> Создать образ
../_images/02-MOV.png

Рис. 6.61 Создание образа ВМ (для сохранения и выгрузки)

Длительность выполнения операции создания образа зависит от размера создаваемого образа (например – ВМ vdi_win7-18 на Рис. 6.61), а также от производительности используемых подсистем хранения данных.

Необходимо дождаться завершения операции. В процессе выполнения операции будет отображаться статус «Загрузка образа» (Рис. 6.62).

../_images/03-MOV.png

Рис. 6.62 Отображение статуса «Загрузка образа»

После завершения операции создания (загрузки) образа выполните команду (на УУ):

# openstack image list

Образ, сохраненный в хранилище OpenStack, появится в списке, как показано ниже:

| ID                                                          | Name                              | Status       |
| 08e7fae5-1294-4d1f-80e1-786fb69b9e5a                        | vdi-win7-16_2020-10-26_14:23:21   | active       |
| 007c817c-9a6f-4d58-831d-2e3f795dfd9b                        | win7ent20200625-raw               | active       |
| 41835e8d-d268-4673-89b0-06750e76f3e8                        | win8-VDI-20200618-raw             | active       |
| 1338f463-7fd8-4ceb-a282-e2d43a58a4d9                        | winserver16dc-compact             | active       |

Например:

  • имя созданного образа – vdi-win7-16_2020-10-26_14:23:21;
  • идентификатор образа (ID) – 08e7fae5-1294-4d1f-80e1-786fb69b9e5a.

6.9.3.3.3 Возвращение ВМ в работу

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

6.9.3.3.4 Выгрузка образа (из облака)

С помощью консоли выполните команду OpenStack, чтобы образ сохранить в файл:

# glance image-download --file vdi-win7-...img <ID-образа>

По завершении операции выгрузки, которая займет некоторое время, файл образа в формате img с именем vdi-win7-… будет храниться в локальной файловой системе того контроллера (УУ), из которого была выполнена данная операция.

Примечание.

При необходимости, файл образа диска может быть сконвертирован из RAW-формата в формат QCOW2. Это позволит ускорить процесс загрузки ВМ, путём снижения нагрузки на сетевую инфраструктуру облака, связывающую вычислительный узел (Compute) с хранилищем данных (Storage).

6.9.3.4 Загрузка образа на целевую платформу

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

Также как в исходной платформе, используется командная строка (Linux/OpenStack) и веб-интерфейс управления (Раздел 6.4.3.2).

Примечания.

Фактически, миграция ВМ из исходной платформы осуществляется путем подстановки выгруженного образа виртуального диска, содержащегося в img-файле, в новую ВМ, созданную на целевой платформе.

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

ssh root@IP-контроллера

Внимание.

На стороне контроллера должен быть настроен должным образом SSH-сервер, обслуживающий запросы SSH-клиента.

На целевой платформе выполните следующую последовательность операций:

  1. Настройте рабочее окружение для выполнения команд OpenStack (CLI):

    source /root/admin-openrc-remote
    
  2. Загрузите img-файл с исходным образом в службу образов (OpenStack Glance) целевой платформы.

Выполните следующую команду:

# openstack image create \
--disk-format raw --container-format bare \
--public --file <название_образа>.img \
--property hw_vif_multiqueue_enabled=true \
--property hw_scsi_model=virtio-scsi
--property hw_disk_bus=scsi \
--property hw_qemu_guest_agent=yes \
--property hw_video_model=qxl \
--property os_require_quiesce=yes \
--property os_distro=windows \
--property os_type=windows \
<ИМЯ_ОБРАЗА>

где

<ИМЯ_ОБРАЗА> – имя создаваемого образа на целевой платформе.

Примечания.

В качестве параметров для опции –property используйте параметры вывода команды openstack image show.

С подробным описанием используемых свойств (атрибутов), представленных парами ключей после опций propery, можно ознакомиться, перейдя по ссылке:

6.9.3.5 Подключение образа к целевой виртуальной машине

  1. Войдите в интерфейс управления (TIONIX.Dashboard) целевой платформы.

Вход (в Dashboard) выполняется с АРМ администратора, в веб-браузере, по ссылке:

http://<IP-адрес_контроллера>/dashboard/project/instances/

После ввода реквизитов, позволяющих выполнять административные действия над проектом, откроется интерфейс управления облачной инфраструктурой (TIONIX.Dashboard).

Если не указано название проекта, следует указать название по-умолчанию (default).

  1. Выберите и откройте для редактирования VDI-проект, в который будет добавлена ВМ.
  2. Замените существующий в проекте образ на новый образ (созданный с помощью Glance).

Примечание.

При успешном завершении операции создания образа его статус должен быть – «Активный».

  1. Создайте одну новую виртуальную машину в проекте (default).

Откройте вкладку с проектами, выбрать вкладку «Вычисления» и далее – пункт меню «Виртуальные машины» (Рис. 6.63). Вверху будет отображен контекст:

Проект » Вычисления » Виртуальные машины
../_images/04-MOV.png

Рис. 6.63 Проект >> Вычисления >> Виртуальные машины

Откройте веб-диалог (мастер) создания виртуальной машины, открываемый кликом на веб-кнопке [Создать машину].

Примечание

Cм. Приложение 1 (APP_New-VM_create).

  1. Проверьте созданную ВМ с присоединенным образом на функциональное соответствие с исходным образцом.

Примечание

Cм. Приложение 2 (APP_New-VM_checkout).

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

  1. Для открытия доступа по протоколу RDP перейдите в раздел «Группы безопасности» и добавьте необходимый порт (протокол TCP).

6.9.3.6 Дополнительные рекомендации

Чтобы загрузка ВМ происходила быстрее, т.е. ожидание пользователя VDI при запросах на подключение к Рабочему столу неактивной машины было минимальным, исходный img-файл образа может быть сконвертирован в формат QCOW2, сразу же после выгрузки из службы хранения Glance. Такой образ принято называть оптимизированным.

Конвертация (оптимизация) образа выполняется с помощью команды:

qemu-img convert -O qcow2 -c  <vdi-win7_from>.img  <vdi-win7_to>.qcow2

где

<vdi-win7_from>.img – образ, выгруженный из исходной платформы;

<vdi-win7_to>.qcow2 – образ, загружаемый на целевую платформу.

Загрузка образа с помощью клиента OpenStack потребует указания для параметра --disk-format соответствующего значения (qcow2):

# openstack image create \
--disk-format qcow2 \
--container-format bare \
--public --file <название_образа>.qcow2 \
--property hw_vif_multiqueue_enabled=true \
--property hw_scsi_model=virtio-scsi \
--property hw_disk_bus=scsi \
--property hw_qemu_guest_agent=yes \
--property hw_video_model=qxl \
--property os_require_quiesce=yes \
--property os_distro=windows \
--property os_type=windows \
<ИМЯ_ОБРАЗА>

Сноски

[1]https://docs.openstack.org/keystone/victoria/install/keystone-openrc-rdo.html