Thay đổi CD-ROM qua virsh


22

Tôi có một máy ảo KVM được quản lý thông qua libvirsh. Bây giờ tôi muốn sử dụng một hình ảnh ISO khác trong VM.

Làm cách nào để thay đổi DVD trong ổ đĩa ảo bằng cách sử dụng virsh?

Câu trả lời:


17

Thêm CDROM:

attach-disk guest01 /root/disc1.iso hdc --driver file --type cdrom
--mode readonly

Thay đổi CDROM:

attach-disk guest01 /root/disc2.iso hdc --driver file --type cdrom
--mode readonly

Xóa CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly

Cảm ơn, rkthr. Tôi kiểm tra điều này vào tuần tới và quay lại đây. +1 dù sao :-)
DerMike

7
Cảm ơn vì tiền boa. Đối với tôi, nó hoạt động nhưng chỉ khi tôi xóa '- tập tin' khỏi lệnh (phiên bản virsh: 0.9.2).
Lukasz Stelmach

2
Tôi đã phải thêm --configvào lệnh. Có lẽ là do thực tế là khách ban đầu không được cấu hình với một cdrom. Điều này giải quyết như sau : error: internal error: No device with bus 'ide' and target 'hdc'. cdrom and floppy device hotplug isn't supported by libvirt.
dùng59156

1
virsh đính kèm đĩa ảo.host.name /tank/kvm/iso/ubfox-16.04.1-server-amd64.iso hda --type cdrom --mode readonly
Xdg

Có vẻ như tên miền phải được bắt đầu để đính kèm một nguồn mới cho cdrom.
imz - Ivan Zakharyaschev

16

Trong libvirt 0.9.12 và có thể sớm hơn, một lệnh change-mediatồn tại:

change-media <domain> <path> [<source>] [--eject] [--insert] [--update] [--current] [--live] [--config] [--force]

Thay đổi CD:

change-media guest01 hdb /pool/disc.iso

Đẩy CD:

change-media guest01 hdb --eject

Đây là lệnh đúng khi sử dụng bộ điều khiển SATA cho CD-ROM.
Xdg

1

Tôi đã thử lệnh đính kèm đĩa và nó không hoạt động với tôi. Tuy nhiên, tôi tìm thấy tài liệu này trên fedora yêu cầu bạn sử dụng lệnh "update-device". Điều này làm việc cho tôi và bạn có thể tìm thấy nó tại Đính kèm và cập nhật thiết bị với virsh . Dưới đây là các bước:

  • Tạo một tệp XML:

    <backingStore/>
    <target dev='hdc' bus='ide'/>
    <readonly/>
    <alias name='ide0-1-0'/>
    <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    

Hãy chắc chắn rằng bạn không có <source>thẻ trong định nghĩa của bạn

  • Cập nhật thiết bị:

    virsh update-device <guest name> <XML file name>
    

Điều đó sẽ loại bỏ thiết bị, không thay đổi CD như OP yêu cầu. Nó cũng bị sao chép rất tệ từ liên kết của bạn - đó là XML không đúng định dạng.

0

Trước tiên, bạn phải xuất cấu hình hiện có:

virsh dumpxml guest_name > config.xml

Sau đó, bạn phải mở tệp và sao chép phần cdrom và thêm dòng với đường dẫn hình ảnh iso như

<source file='some.iso'/>

Vì vậy, kết quả là một cái gì đó như

<disk type='file' device='cdrom'>
   <source file='some.iso'/>
   <driver name='qemu' type='raw'/>
   <backingStore/>
   <target dev='hdb' bus='ide'/>
   <readonly/>
   <alias name='ide0-0-1'/>
   <address type='drive' controller='0' bus='0' target='0' unit='1'/>
 </disk>

và lưu nó dưới dạng cdrom.xml.

Sau đó:

virsh update-device guest_name cdrom.xml

#Device updated successfully
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.