Thay đổi thiết bị khởi động cho máy ảo QEMU-KVM


8

Tôi đang cố gắng thay đổi thiết bị khởi động cho VM. Tôi đi đến /etc/libvirt/qemuvà cài đặt tệp XML của VM <boot dev='cdrom' />. Tuy nhiên, nó cố gắng khởi động từ ổ cứng thay vì cdrom.

Tôi biết tôi có một hình ảnh ISO được tải trên thiết bị ảo CD-ROM.

Tôi không làm điều này một cách chính xác? Tôi đã cố gắng tắt VM hoàn toàn và khởi động lại không có kết quả. Có lẽ tôi cần tải lại các thiết lập bằng cách nào đó?

Biên tập:

Theo yêu cầu của @Selivanov:

$ libvirtd --version
libvirtd (libvirt) 0.8.7

Và tệp 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>

Câu trả lời:


8

Nếu libvirt không tải lại cài đặt VM khi bắt đầu / dừng, virsh editlệnh có thể giúp ích. Và hãy viết toàn bộ tệp XML và phiên bản libvirt

Hmm ... mọi thứ có vẻ ổn. Hãy thử thêm

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

đến phần <os> và xem nếu cdrom xuất hiện trong menu boot. Đồng thời thử xóa tất cả các bản ghi <boot> khỏi <os> và thêm

<boot order='1'/>

đến phần <đĩa>


Rõ ràng, tôi đã phải đóng virt-managerđể cài đặt tải lại. Đây có phải là trường hợp thông thường? Có cách nào để tải lại các cài đặt? Ngoài ra, tôi bối rối về lý do tại sao các cài đặt trong virt-managerkhông được thực hiện.
Belmin Fernandez

1
Bạn có thể tải lại dịch vụ libvirt-bin, nếu đó là tập lệnh init trong bản phân phối của bạn hỗ trợ điều này, ví dụ như trong Ubuntu : sudo reload libvirt-bin. Nếu bạn chỉnh sửa tệp xml bằng trình chỉnh sửa bên ngoài, điều này là bình thường. Nếu bạn đã sử dụng virsh edithoặc thay đổi cài đặt từ virt-manager, đây là lỗi.
Selivanov Pavel

Nếu bạn chỉnh sửa tệp XML, bạn cần tải lại VM để thực hiện các cập nhật. /etc/init.d/libvirt-bin tải lại

1

Nếu VM bị hỏng, hãy tìm một hình ảnh đã lưu được lưu trữ trong / var / lib / libvirt / qemu / save - nó sẽ giữ các tham số cũ tồn tại, bất chấp những thay đổi được thực hiện thông qua chỉnh sửa virsh. Tôi đã xóa hình ảnh như vậy trong một trường hợp tương tự khi nó tiếp tục tìm kiếm một giao diện mạng không tồn tại (và không khởi động được do điều này).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.