Назад | Перейти на главную страницу

Как отключить поиск метаданных при загрузке cirros?

Я загружаю виртуальные машины cirros вне среды Openstack с помощью libvirt. При загрузке виртуальная машина двадцать раз проверяет наличие метаданных, что увеличивает время загрузки.

cirros-ds 'net' up at 6.14
checking http://169.254.169.254/2009-04-04/instance-id failed 1/20: up 6.18. request failed failed 2/20: up 18.32. request failed failed 3/20: up 30.38. request failed failed 4/20: up 42.44. request failed [snip]

Я использую cirros-0.3.3.

Могу ли я использовать cloud-init или какой-либо другой механизм для отключения поиска метаданных?

Я смог ответить на свой вопрос после нескольких дней исследований. Вы должны передать "ds = nocloud" в качестве параметра ядра виртуальной машине.

Вот как я это сделал.


#!/bin/sh

export VM_NAME=cirros$$
IMAGES_BASE=/var/lib/libvirt/images
cp $IMAGES_BASE/cirros/cirros-0.3.0-i386-blank.img $IMAGES_BASE/$VM_NAME.img

virt-install -r 256 \
  -n $VM_NAME \
  --vcpus=1 \
  --import \
  --autostart \
  --memballoon virtio \
  --network bridge=virbr0 \
  --boot kernel=$IMAGES_BASE/cirros/cirros-0.3.0-i386-vmlinuz,initrd=$IMAGES_BASE/cirros/cirros-0.3.0-i386-initrd,kernel_args="console=/dev/ttyS0 ds=nocloud" \
  --disk $IMAGES_BASE/$VM_NAME.img \
  --noautoconsole

Ядро, initrd и пустой образ содержатся в версиях cirros UEC на странице загрузки.

ОБНОВЛЕНИЕ - Другой способ - отредактировать / etc / cirros-init / config. Измените переменную DATASOURCE_LIST. Этот метод требует обновления образа виртуальной машины, поэтому я предпочитаю использовать метод args ядра. Файл / etc / cirros-init / config существует в cirros-0.3.3, но не в cirros-0.3.0. Другие версии не проверял.

Один из вариантов - запустить виртуальную машину -> Установить DATASOURCE_LIST = "nocloud" в / etc / cirros-init / config -> Остановить виртуальную машину и использовать новый файл образа в качестве ссылки для будущих виртуальных машин, которые будут развернуты.

Вас может заинтересовать: https://github.com/eprasad/virt-cirros . Дружественный к платформе виртуализации образ cirros