Ändern des Startgeräts für eine virtuelle QEMU-KVM-Maschine

8

Ich versuche, das Startgerät für eine VM zu ändern. Ich gehe in die XML-Datei der VM /etc/libvirt/qemuund setze <boot dev='cdrom' />. Trotzdem wird versucht, von der Festplatte anstelle der CD-ROM zu booten.

Ich weiß, dass ich ein ISO-Image auf das virtuelle CD-ROM-Gerät geladen habe.

Mache ich das nicht richtig Ich habe versucht, die VM vollständig herunterzufahren und ohne Erfolg wieder zu starten. Vielleicht muss ich die Einstellungen irgendwie neu laden?

Bearbeiten:

Auf Anfrage von @Selivanov:

$ libvirtd --version
libvirtd (libvirt) 0.8.7

Und XML-Datei:

<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
quelle

Antworten:

8

Wenn libvirt die VM-Einstellungen beim Starten / Stoppen nicht neu lädt, virsh editkann der Befehl hilfreich sein. Und bitte schreiben Sie die gesamte XML-Datei und die libvirt-Version

Hmm ... alles scheint in Ordnung zu sein. Versuchen Sie es hinzuzufügen

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

Gehen Sie zum Abschnitt <os> und prüfen Sie, ob CD-ROM im Startmenü angezeigt wird. Versuchen Sie auch, alle <boot> -Datensätze aus <os> zu entfernen und hinzuzufügen

<boot order='1'/>

zum Abschnitt <disk>

Selivanov Pavel
quelle
Anscheinend musste ich schließen, virt-managerdamit die Einstellungen neu geladen wurden. Ist das der übliche Fall? Gibt es eine Möglichkeit, die Einstellungen neu zu laden? Ich bin auch verwirrt darüber, warum die Einstellungen virt-managernicht übernommen wurden.
Belmin Fernandez
1
Sie können den libvirt-bin-Dienst neu laden, wenn das Init-Skript in Ihrer Distribution dies unterstützt, z. B. in ubuntu : sudo reload libvirt-bin. Wenn Sie eine XML-Datei mit einem externen Editor bearbeitet haben, ist dies normal. Wenn Sie virsh editEinstellungen von virt-manager verwendet oder geändert haben, ist dies ein Fehler.
Selivanov Pavel
Wenn Sie die XML-Datei bearbeiten, müssen Sie die VM neu laden, um die Aktualisierungen durchzuführen. /etc/init.d/libvirt-bin reload
1

Wenn die VM nicht verfügbar ist, suchen Sie unter / var / lib / libvirt / qemu / save nach einem gespeicherten gespeicherten Image. Die alten Parameter bleiben trotz Änderungen, die über virsh edit vorgenommen wurden, erhalten. Ich habe ein solches Image in einem ähnlichen Fall gelöscht, in dem immer wieder nach einer nicht vorhandenen Netzwerkschnittstelle gesucht wurde (und aus diesem Grund nicht gestartet werden konnte).

David Ramirez
quelle