Alterar CD-ROM via virsh


22

Eu tenho uma máquina virtual KVM que é gerenciada via libvirsh. Agora eu quero usar uma imagem ISO diferente dentro da VM.

Como altero o DVD na unidade virtual usando virsh?

Respostas:


17

Adicione CDROM:

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

Alterar CDROM:

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

Remova o CDROM:

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

Obrigado, rkthr. Eu testei na próxima semana e volto aqui. +1 de qualquer maneira :-)
DerMike 10/06

7
Obrigado pela dica. Para mim, funciona, mas somente se eu remover '--driver file' do comando (versão de virsh: 0.9.2).
Lukasz Stelmach

2
Eu tive que adicionar --configao comando. Provavelmente devido ao fato de o convidado não ter sido originalmente configurado com um cdrom. Este dirigiu-se ao seguinte: error: internal error: No device with bus 'ide' and target 'hdc'. cdrom and floppy device hotplug isn't supported by libvirt.
user59156

1
virsh anexar disco virtual.host.name /tank/kvm/iso/ubuntu-16.04.1-server-amd64.iso hda --type cdrom --mode readonly
XDG

Parece que o domínio deve ser iniciado para anexar uma nova fonte para o cdrom.
imz - Ivan Zakharyaschev 31/01

16

Na libvirt 0.9.12 e talvez mais cedo, change-mediaexiste um comando :

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

Alterar CD:

change-media guest01 hdb /pool/disc.iso

Ejetar CD:

change-media guest01 hdb --eject

Este é o comando certo ao usar o controlador SATA para CD-ROM.
Xdg 9/10/16

1

Eu tentei o comando attach-disk e não funcionou para mim. No entanto, encontrei este documento no fedora, que solicita que você use o comando "update-device". Isso funcionou para mim e você pode encontrá-lo em Anexando e atualizando um dispositivo com o virsh . Aqui estão os passos:

  • Crie um arquivo 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>
    

Verifique se você não tem a <source>tag em sua definição

  • Atualize o dispositivo:

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

Isso removeria o dispositivo, não mudaria o CD conforme solicitado pelo OP. Também é mal copiado do seu link - é XML malformado como está.

0

Primeiro você precisa exportar a configuração existente:

virsh dumpxml guest_name > config.xml

Então você tem que abrir o arquivo e copiar a seção cdrom e adicionar a linha com o caminho da imagem ISO, como

<source file='some.iso'/>

Então o resultado é algo como

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

e salve-o como cdrom.xml.

Depois disso:

virsh update-device guest_name cdrom.xml

#Device updated successfully
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.