Переезд в Cloud2 из частного облака

В этой статье рассмотрим как перенести образ виртуальной машины в Cloud2.

Настройка сетевой карты VM

Первое, что необходимо сделать перед переносом — убедиться в том, что виртуальная машина настроена на получение сети по DHCP с первой сетевой карты. Если вы используете Linux и в настройках сетевой карты или настройках Udev есть MAC-адрес, удалите его:

В CentOS редактируем файлы, указываем, что получение адреса происходит по DHCP, удаляем HWADDR:

/etc/sysconfig/network-scripts/ifcfg-*
/etc/udev/rules.d/70-persistent-net.rules # удаляем

В Ubuntu/Debian делаем то же самое редактированием следующих файлов:

/etc/network/interfaces
/etc/network/interfaces.d
/etc/netplan/*.yaml
/etc/udev/rules.d/70-persistent-net.rules # удаляем

В Cloud2 используется несколько VM — первая карта для публичной сети, вторая и следующие — для приватных сетей. Вам необходимо указать настройки DHCP только для первой сетевой карты.

Конвертация образа VM в формат QCOW2

Сконвертировать образ в формат QCOW2 можно с помощью утилиты qemu-img, которая входит в поставку Qemu. К примеру для VMDK:

qemu-img convert -f vmdk -O qcow2 vm.1-disk1.vmdk vm-disk1.qcow2

Сконвертированный образ можно сжать в BZ2 или GZip для ускорения загрузки:

bzip2 vm-disk1.qcow2

Получите файл vm-disk1.qcow2.bz2.

Выбор способа загрузки образа в облако

Мы рекомендуем загрузку через URL, но CloudStack позволяет осуществить и локальную загрузку.

Вы не можете загрузить в Cloud2 файл размером более 200 GB. Если необходимо загрузить большой образ, обратитесь в техническую поддержку и мы выполним загрузку через системные механизмы.

Рассмотрим как организована процедура загрузки образа. Когда вы загружаете образ, неважно, с помощью URL или c локального компьютера, CloudStack сначала загружает образ в хранилище, а потом выполняет его проверку и, если необходимо, извлечение из архива. Это может занять много времени. Вы не сможете использовать образ, пока он не будет полностью подготовлен.

Если вы планируете осуществить импорт образа в Cloud2 с минимальными затратами времени, а образ VM занимает много места, вы никогда ранее это не делали, в наличии нет утилиты конвертации Qemu-img, обратитесь в техническую поддержку и мы сделаем это за вас.

Если вы решили загружать образ с помощью URL, то вам необходимо разместить его на сервере, который доступен по порту 80, 8080, 443. Мы рекомендуем использовать Nginx или Apache. Мы НЕ рекомендуем использовать IIS.

При загрузке с URL никогда не используйте WEB-сервисы для хранения файлов (Google Drive, Yandex Диск, Dropbox, …), обычно они не отдают совместимый с загрузчиком CloudStack HTTP-поток, а ориентированы на браузеры и выполняют различные переадресации. Если вам недоступен обычный HTTP-сервер без ограничений, выбирайте локальную загрузку.

Не используйте HTTPS с самоподписными сертификатами. Используйте HTTPS только в том случае, если на сервере установлен корректный SSL сертификат.

Загрузка через скачивание с URL

Итак, убедитесь, что вам доступен образ для скачивания, через браузер. Для примера будем использовать образ, хранящийся на DL.OPENVM.EU:

http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-kvm.qcow2.bz2

Скачайте его из браузера и убедитесь, что загрузка началась. Если все работает, можно прервать загрузку. Обратите внимание. Образ имеет расширение qcow2 и сжат с помощью bz2. Образы для гипервизора KVM должны иметь формат Qcow2. Теперь можно начать загрузку образа в Cloud2. Для этого зайдите в панель управления, перейдите в раздел Templates и нажмите на кнопку «+ Add» в правой верхней части экрана. Вы увидите диалоговое окно следующего вида:

В этом диалоге вы задаете откуда будет скачиваться шаблон и какие свойства будут применяться к виртуальным машинам, которые будут из него создаваться. Рассмотрим значение полей:

  • URL — источник загрузки, в нашем примере http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-kvm.qcow2.bz2
  • Name — имя шаблона;
  • Description — описание шаблона;
  • Zone — зона, в которую будет загружен шаблон, сейчас мы предоставляем услуги только в зоне Tomsk;
  • Hypervisor — KVM, другие гипервизоры в Cloud2 не поддерживаются;
  • Original XS Version is 6.1+ — не используется с гипервизором KVM, включать не нужно;
  • Root Disk Controller — рекомендуется выбирать VirtIO SCSI, VirtIO или osdefault;
  • Format — устанавливаем QCOW2; для MS Windows лучше устанавливать как osdefault;
  • OS Type — выбирайте максимально приближенный формат к вашей операционной системе, если нет точного или вы его не знаете;
  • Extractable — указывайте, если хотите, чтобы шаблон можно было скачать;
  • Password Enabled — указывайте, если в шаблоне используется Cloud Init или другой механизм установки внешнего пароля и SSH-ключа;
  • Dynamically Scalable — для KVM неприменимо;
  • Public — установите, если хотите чтобы другие пользователи видели ваш шаблон (обычно не нужно устанавливать);
  • HVM — указывает, что используется аппаратное ускорение.

Если все указали правильно — нажимайте «OK». Теперь будем смотреть прогресс загрузки. Шаблон из примера очень маленький — 50 MB, на его загрузку уйдет меньше минуты. В реальности шаблоны могут загружаться очень долго.

Загрузка через URL удобна тем, что вам не надо держать браузер открытым и ваш компьютер не участвует в загрузке. Это удобно для больших шаблонов.

Итак, смотрим как загружается шаблон. Для этого кликнем на шаблон и перейдем на вкладку Zones:

Как видно, шаблон загрузился на 23% и его статус Ready = No. Если нажимать кнопку «Refresh», через несколько секунд статус изменится:

Если шаблон большой и сжат BZIP2, его распаковка займет много времени, шаблон будет загружен на 100%, но не готов: Ready = No. Вы должны дождаться, пока статус готовности станет равным «Yes».

Теперь шаблон готов к использованию.

Загрузка с локального компьютера

Загрузка с локального компьютера выполняется точно так же, как и загрузка с URL, для ее осуществления необходимо нажать кнопку «Upload From Local», выбрать файл на локальном диске и указать все параметры, как и в случае загрузки с URL.

После этого начнется загрузка и будет продолжаться пока файл не будет отправлен на сервер. Если вы будете смотреть статус загрузки, то увидите загадочное состояние «Not Uploaded» вместо процентов. Это нормально для данного способа загрузки, продолжайте периодически обновлять состояния до изменения статуса «Download Complete» и «Ready».

Удаление шаблона

Удаление шаблона производится из конкретной зоны. Для этого перейдите в эту зону на вкладке Zones и удалите шаблон из нее: