Как мне загрузить образы Ubuntu Cloud в vmware?

Я хочу запустить образ облака Ubuntu на VMWare.

Мне просто нужно знать, как установить свойства OVF таким образом, который VMWare понимает для передачи параметров в cloud-init.

Что я сделал

Установите VMWare Player 4.0.4, используя исправление vmware workstation 8.0.2 / player 4.0.2 для патча linux 3.2+ , чтобы обойти компиляцию сбой для виртуального модуля Ethernet.

Скачать Precision-Server-Cloudimg-Amd64.ovf , а также файл Precision-Server-Cloudimg-AMD64.img (сжатый формат QCOW2, 220 МБ)

Конвертировать изображение из От QCOW2 до VMDK:

qemu-img convert -O vmdk precise-server-cloudimg-amd64-disk1.img disk.vmdk

Отредактируйте элемент OVF <File>, чтобы изменить ovf: href и ovf: size в соответствии с выходными данными qemu-img:

<File ovf:href="disk.vmdk" ovf:id="file1" ovf:size="689569792"/> 

Отредактируйте Элемент <Disk> для установки разреженного формата VMDK и желаемой емкости в байтах (здесь 8 ГБ):

<Disk ovf:capacity="8589934592" ovf:diskId="vmdisk1" ovf:fileRef="file1" 
ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#sparse"/>

Удалите все элементы <Property>, потому что vmplayer не распознает их.

Настройте раздел VirtualHardwareSection, чтобы настроить процессор и оперативную память по вкусу.

Либо запустите OVF в vmplayer, либо преобразуйте в vmx и запустите vmx:

ovftools custom.ovf mymachine.vmx
vmplayer mymachine.vmx

К сожалению, я не могу войти в систему как «ubuntu» в приглашении, потому что свойства OVF не были предоставлено cloud-init. Как мне это сделать?

6
задан 2 July 2012 в 16:38

3 ответа

Этот ответ основан на NoCloud README от CloudInit и дает Вам облако-init на плеере VMware.

Создайте файл "метаданные", с помощью "localhost" как гарантируемое твердости имя хоста для предотвращения тайм-аутов DNS, которые заставляют sudo взять возрасты в локальной среде гипервизора:

local-hostname: localhost

Создайте файл "пользовательских данных" файла для получения информации о CloudInit. Этот пароль наборов к человечности, и просит, чтобы я изменил его на первом входе в систему:

#cloud-config
password: ubuntu

Генерируйте seed.iso из этих файлов:

genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data

Присоедините "seed.iso" к VM перед первой начальной загрузкой (установите его для соединения на запуске), и когда личинка появляется, также добавьте этот параметр ядра для первой начальной загрузки:

ds=nocloud-net

Машина загрузит и настроит себя. Для будущих начальных загрузок мы должны отредактировать редактирование /etc/default/grub и выполненный sudo update-grub для сообщения этого, мы не находимся в EC2 (никакой облачный сервис метаданных):

GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0 ds=nocloud"
3
ответ дан 2 July 2012 в 16:38

Я нашел способ сделать Облачные Изображения Ubuntu загрузочными, и поместить мой ответ

Вот суть его:

mount -o loop cloud-image.img /mnt/image
extlinux --install /mnt/image/
echo "DEFAULT /vmlinuz" > /mnt/image/extlinux.conf
echo "APPEND root=/dev/sda init=/usr/lib/cloud-init/uncloud-init" \
     "ubuntu-pass=ubuntu ds=nocloud" >> /mnt/image/extlinux.conf
umount /mnt/image

Результатом является в основном загрузочный жесткий диск. Можно преобразовать это использование безотносительно инструментов, которые Вы имеете в наличии для удовлетворения виртуализации, и (как Вы видите APPEND root=/dev/sda) вещи, возможно, нуждались бы в тонкой настройке в зависимости от того, что Ваше виртуальное аппаратное обеспечение (scsi или язь или sata)...

0
ответ дан 2 July 2012 в 16:38

Этот ответ относится к точному ящеру и описывает способ решения этой проблемы, не прибегая к образу компакт-диска (который я не мог заставить работать с помощью VMware ESX).

Похоже, что Ubuntu Cloud Images теперь содержат загрузочный сектор (что-то, что я не могу вспомнить, они делали ранее). Если вы конвертируете образ в vmdk с помощью qemu-img и очистите OVF, как описано, вы можете фактически загрузить его в grub без лишних слов. Grub имеет тайм-аут по умолчанию в 5 секунд, поэтому вы должны иметь возможность e изменить параметры загрузки при первой загрузке, чтобы включить:

init=/usr/lib/cloud-init/uncloud-init ubuntu-pass=ubuntu ds=nocloud-net console=tty0

Это выведет все на tty0, установите пароль для Ubuntu на что-то известно и форсирует «безоблачную» инициализацию. и позволит вам войти с предоставленными учетными данными. Обратите внимание, что командная строка видна всем, кто входит в систему (cat /proc/cmdline), поэтому вы должны изменить конфигурацию grub после первой загрузки (см. Ниже) и перезагрузиться.

Я имел успех с этой техникой, используя VMware ESX с установленным локально только vncviewer; никакие инструменты VMware, кроме ovftool, не использовались для загрузки ovf в ESX. Предположительно, та же самая техника будет работать с VMware Player.

Чтобы сделать вещи более постоянными, измените /etc/default/grub и снова добавьте в командную строку add ds = nocloud-net, чтобы не допустить каких-либо дальнейших изменений вашего образа в cloud-init. Запустите update-grub, а затем закройте его и перезагрузите.

0
ответ дан 2 July 2012 в 16:38

Другие вопросы по тегам:

Похожие вопросы: