Экспорт виртуальных машин из VirtualBox в AWS Amazon

от автора

Добрый день.
Хочу поделиться новым приобретенным опытом.
Нашей компании понадобились собственные AMI с Windows XP, Windows 7, Windows 8 и Windows Server 2003 в AWS Amazon.
После относительно недолгого поиска было выяснено, что такая возможность есть, и называется она AWS VM Import/Export Tools (подробнее тут ).

Однако возможности этого сервиса пока ограничены:

Q. What operating systems are supported?
VM Import/Export currently supports Windows Server 2003, Windows Server 2003 R2 and Windows Server 2008 (Datacenter, Enterprise, and Standard editions) VM images. For a full list of supported VM file formats, please see What virtual machine file formats are supported?.. We plan to support additional operating systems in the future.

Скажу честно, не увидев в списке поддерживаемых ОС Windows XP, вздохнул с облегчением.

Итак, к делу. Для всех манипуляций нам понадобится установленная VirtualBox (у меня версия 4.2.4) и Amazon EC2 API Tools (скачать последнюю версию можно здесь).
Выбранная для импорта версия ОС — Windows Server 2003.
Создадим новую виртуальную машину в VirtualBox.

При создании машины указываем тип диска VMDK.

Далее процесс установки самый обычный и дополнительно уделять ему внимание нет смысла.
После того как наша виртуальная машина установилась, выключаем её и идём в меню Файл — Экспорт конфигураций и выбираем необходимую конфигурацию.

В параметрах экспорта ставим пометку «Сохранить в формате OVF» и проверяем чтобы расширение в имени сохраняемого файла также было ovf.

Результатом экспорта будут два файла. Один с расширением ovf, другой — vmdk, и именно его мы будем дальше использовать.
Когда экспорт завершен, можно приступать к загрузке. Открываем командную строку или терминал (в зависимости от вашей ОС) и выполняем следующее:

# ec2-import-instance /media/sf_UbuntuVirt/win2003_x86-disk1.vmdk -f VMDK -b windows2003x86 -o XXXXXXXXXX -w XXXXXXXXXXXX -t m1.small -a i386 

где:

  • -f VMDK — формат загружаемого файла,
  • -b windows2003x86 — название бакета в AWS S3
  • -o XXXXXXXXXX — access_key_id
  • -w XXXXXXXXXXXX — secret_access_key
  • -t m1.small — тип инстанса, который стартует с вашей конфигурацией
  • -a i386 — архитектура ОС


После того как наша конфигурации будет загружена в S3, начнется процесс конвертации её в EBS инстанс.
Прогресс конвертации проверяем командой:

# ec2-describe-conversion-tasks | grep TaskType TaskType	IMPORTINSTANCE	TaskId	import-i-fhax7514	ExpirationTime	2013-02-05T14:41:06Z	Status	completed	InstanceID	i-b8923ac8 

В выводе нас интересуют два значения:

  • Status completed — значит конвертация завершена
  • InstanceID i-b8923ac8 — ID инстанса с нашей конфигурацией

Теперь мы можем снять создать AMI с этого инстанса или из консоли, или с помощью CLI.
Мне ближе использование CLI.

# ec2-create-image i-b8923ac8 --no-reboot -n win2003x86 -d "Windows Server 2003" IMAGE	ami-f1a73398 

Вот и всё, теперь мы можем смело стартовать новые сервера с нашей новой AMI.
Надеюсь, информация будет полезна.

P.S. Если кто-нибудь нашёл способ сделать AMI из XP или знает другой способ импорта, поделитесь, пожалуйста, опытом.

ссылка на оригинал статьи http://habrahabr.ru/post/167607/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *