Как экспортировать запущенные виртуальные машины из vCloud Director

Как экспортировать запущенные виртуальные машины из vCloud Director

При работе в виртуальном окружении нередко возникает задача экспортировать виртуальные машины. Как это сделать в vCloud Director, не прерывая рабочий процесс, – рассмотрим в данной статье.

Зачем экспортировать ВМ

Для начала следует разобраться, в каких случаях может возникнуть необходимость экспорта такого рода объектов. Вот несколько ситуаций, наиболее часто встречающихся на практике:

  • Вы решили управлять виртуальной машиной с помощью другой платформы – например, используя vRealize Automation.
  • Возникла необходимость миграции на другой vCloud Director.
  • Потребовалось переместить машину на другой Org VDC.

В настоящее время (а мы говорим о версии vCloud Director 8.20) нет прямого способа экспортировать рабочую ВМ. Но существует способ, с помощью которого решается нужная задача. Для начала давайте обсудим особенности и характеристики ВМ, находящейся под управлением vCloud Director. Эти знания пригодятся в дальнейшем:

  • ВМ на уровне vSphere имеет маркировку Custom Attributes и расширение ManagedBy.
  • Каждой ВМ присваивается уникальный идентификатор cloud_uuid, который хранится в параметрах конфигурации.
  • За виртуальной машиной могут быть зарезервированы CPU/RAM и заданы ограничения в зависимости от модели распределения Org VDC.
  • Каждой ВМ присваивается имя, которое содержит уникальный идентификатор UUID.
  • vCloud Director отслеживает ВМ на уровне vSphere даже в том случае, если меняется имя, локация и параметр MoRef ID (Managed Object Reference ID).
  • vCloud Director резервирует IP- и MAC-адреса виртуальных машин в IPAM.
  • vCloud Director подсчитывает ресурсы виртуальных машин для распределения в Org VDC.

Чтобы vCloud Director перестал управлять виртуальной машиной, которая будет экспортироваться, необходимо учесть перечисленные особенности. Очевидно, что для экспорта большого количества ВМ лучше использовать процесс автоматизации на уровне vSphere vCloud API.

Когда дело касается единичной ВМ, для экспорта достаточно выполнить следующие шаги:

  1. Переместить виртуальную машину вне управляемого пула ресурсов vCloud Director (это позволит избежать автоматического импорта VM).
  2. При необходимости подключить ВМ к сети, не управляемой vCloud Director, новая сеть должна обеспечивать эквивалентную связность с исходной сетью.
  3. Кроме того, необходимо удалить идентификатор cloud-uuid из свойств ВМ. Это можно сделать с помощью командлета PowerCLI:
(Get-AdvancedSetting -entity $vm -Name cloud.uuid)|Remove-AdvancedSetting

Обзор конфигурационных параметров

Обзор конфигурационных параметров

4. Удаляем значение Custom Attribute, в нашем случае VCD_itgrad_01. Обратите внимание, что удаляется только само значение, а не Custom Attribute целиком.

Редактирование атрибутов

Редактирование атрибутов

5. Избавляемся от расширения ManagedBy. Проще всего это сделать с помощью скрипта PowerCLI, прикрепленного к KB2032366. После того как расширение будет удалено, значок виртуальной машины изменится.

\ManagedBy.ps1 -Cmd Clear -VMs $vm

6. В свойствах ВМ в разделе CPU и Memory обнуляем параметр Reservation.

Обнуление параметра Reservation

Обнуление параметра Reservation

7. Переименовываем ВМ, чтобы избавиться от UUID в названии. Теперь удалим ВМ из vCloud Director. Но даже если происходит удаление cloud-uuid, vCloud Director по-прежнему видит ВМ через идентификатор vCenter MoRef ID, который при запущенной виртуальной машине нельзя изменять. Однако этот вопрос можно решить следующим образом:

8. Временно запретить доступ к виртуальной машине сервисной учетной записи vCloud Director (учетная запись, настроенная в vCloud Director для конкретного сервера vCenter). Для этого ассоциируем «No Access» роль с сервисной учетной записью.

Конфигурация прав доступа

Конфигурация прав доступа.

9. Теперь виртуальная машина стала невидимой для vCD и мы можем удалить ее из vCloud Director. Но для начала выполним Force Stop.

Запуск Force Stop

Запуск Force Stop

10. А затем перейдем к удалению vApp, игнорируя сообщение об ошибке.

Ресурс не найден

Ресурс не найден

11. Для этого используем опцию Force Delete.

Процедура Force delete

Процедура Force delete

12. Теперь убираем временный запрет для сервисной учетной записи, заданный в пункте 8, и очищаем папку vApp на сервере vCenter, если она не была удалена.

Небольшая ремарка относительно MAC-адресов ВМ: если виртуальная машина была создана в vCloud Director, ей присваивается значение MAC из диапазона в vCloud Director на основе инсталляционного идентификатора VCD. Имейте это в виду, если планируете перемещать ВМ, поскольку в таком случае могут генерироваться дублирующие адреса.

В этой статье мы рассказали о недокументированных возможностях экспорта ВМ из vCloud Director. Следите за новыми материалами первого блога о корпоративном IaaS, в них мы продолжим знакомить вас с ключевыми особенностями vCD.

Поделиться в социальных сетях

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...