Alterando o dispositivo de inicialização para uma máquina virtual QEMU-KVM

8

Estou tentando alterar o dispositivo de inicialização para uma VM. Vou para o arquivo XML da VM /etc/libvirt/qemue defino <boot dev='cdrom' />. Ainda assim, ele tenta inicializar a partir do disco rígido em vez do CD-ROM.

Sei que tenho uma imagem ISO carregada no dispositivo virtual de CD-ROM.

Não estou fazendo isso corretamente? Tentei desligar a VM completamente e iniciá-la novamente sem sucesso. Talvez eu precise recarregar as configurações de alguma forma?

Editar:

A pedido de @Selivanov:

$ libvirtd --version
libvirtd (libvirt) 0.8.7

E arquivo XML:

<domain type='kvm'>
  <name>nimmy.example.com</name>
  <uuid>(SNIP)</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.1.0'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/nimmy.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/nimmy/CentOS-6.0-x86_64-netinstall.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='network'>
      <mac address='(SNIP)'/>
      <source network='default'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>
Belmin Fernandez
fonte

Respostas:

8

Se a libvirt não recarregar as configurações da VM ao iniciar / parar, o virsh editcomando pode ajudar. E por favor escreva o arquivo XML inteiro e a versão libvirt

Hmm ... tudo parece bem. Tente adicionar

<boot dev='hd'/>
<boot dev='cdrom'/>
<bootmenu enable='yes'/>

para a seção <os> e verifique se o cdrom aparece no menu de inicialização. Tente também remover todos os registros <boot> de <os> e adicionar

<boot order='1'/>

para a seção <disk>

Selivanov Pavel
fonte
Aparentemente, eu tive que fechar virt-managerpara que as configurações fossem recarregadas. Este é o caso usual? Existe uma maneira de recarregar as configurações? Além disso, estou confuso sobre o motivo pelo qual as configurações virt-managernão estavam sendo executadas.
Belmin Fernandez 22/09
1
Você pode recarregar serviço libvirt-bin, se é script de inicialização em seus suportes distributivos isso, por exemplo no Ubuntu: sudo reload libvirt-bin. Se você editou o arquivo xml com o editor externo, isso é normal. Se você usou virsh editou alterou as configurações do virt-manager, isso é um bug.
Selivanov Pavel
Se você editar o arquivo XML, precisará recarregar a VM para efetuar as atualizações. /etc/init.d/libvirt-bin reload
1

Se a VM estiver inativa, procure uma imagem salva armazenada em / var / lib / libvirt / qemu / save - ela manterá os parâmetros antigos ativos, apesar das alterações feitas através da edição virsh. Excluí essa imagem em um caso semelhante, onde ela continuava procurando por uma interface de rede inexistente (e não inicializando devido a isso).

David Ramirez
fonte