Como desabilito a pesquisa de metadados na inicialização do cirros?

3

Eu estou inicializando VMs fora de um ambiente Openstack usando libvirt. Na inicialização, a VM verifica os metadados vinte vezes, o que adiciona muita latência ao tempo de inicialização.

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]

Estou usando o cirros-0.3.3.

Posso usar o cloud-init ou algum outro mecanismo para desativar a pesquisa de metadados?

    
por Jeff Loughridge 22.11.2014 / 16:05

2 respostas

2

Eu consegui responder minha própria pergunta depois de alguns dias de pesquisa. Você deve passar "ds = nocloud" como uma opção de kernel para a VM.

Veja como eu fiz isso.


#!/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

O kernel, o initrd e a imagem em branco estão contidos nas versões do UEC dos cirros na página de download.

UPDATE - Outro método é editar / etc / cirros-init / config. Altere a variável DATASOURCE_LIST. Esse método requer a atualização da imagem da VM, então prefiro usar o método kernel args. O arquivo / etc / cirros-init / config existe no cirros-0.3.3, mas não no cirros-0.3.0. Eu não verifiquei outras versões.

    
por 24.11.2014 / 19:39
-1

Você pode estar interessado em: link . Imagem de cirros amigáveis da plataforma de virtualização

    
por 18.10.2015 / 15:13