Como conectar um dispositivo cdrom a um domínio kvm / qemu (usando ferramentas de linha de comando)?

22

Eu configurei uma máquina virtual executando o Windows XP no meu laptop Ubuntu. Usando o aplicativo virt-manager GUI, posso inserir um CD na minha unidade e ir até Detalhes → IDE CDROM 1 e clicar no botão Connect . Então o CD fica disponível na minha máquina virtual.

Como posso fazer o mesmo através da linha de comando? Obviamente, gostaria de poder desconectar da linha de comando também.

Nota: Eu posso iniciar a VM a partir da linha de comando usando virsh start testbed (testbed sendo o nome do domínio / VM).

    
por ΤΖΩΤΖΙΟΥ 26.03.2012 / 12:14

5 respostas

23

Se você não definiu nenhum CDROM quando criou sua máquina virtual, pode anexar o dispositivo a um domínio em execução (máquina virtual) executando o seguinte comando:

virsh attach-disk testbed /dev/sr0 hdc --type cdrom

Se você já definiu um CDROM, mas apontou para uma imagem ISO, na minha experiência, você ainda pode executar o mesmo comando. A parte hdc precisa corresponder ao dispositivo de bloco que você tem na máquina virtual testbed .

Quando você quer apontar para uma imagem ISO novamente, substitua /dev/sr0 pelo nome do arquivo no host, algo como

virsh attach-disk testbed ~/virtio-win-0.1-22.iso hdc --type cdrom

A documentação sugere o uso de virsh update-device , mas é mais trabalhoso criar uma definição XML como:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sr0'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
</disk>

Se você estiver assim, salve algo assim em um arquivo (digamos ~/cdrom-real.xml ) e, em seguida, dispare:

virsh update-device testbed ~/cdrom-real.xml
    
por 30.03.2012 / 11:08
4

Use o qemu-monitor-comando do virsh para passar a ejeção e mudar os comandos para qemu.

Primeiro, use "info block" para obter o nome do dispositivo do qemu para o seu cdrom.

virsh # qemu-monitor-command mirage --hmp --cmd "info block"
drive-virtio-disk0: type=hd removable=0 file=/home/daoist/mirage/mirage.qcow2 ro=0 drv=raw encrypted=0
drive-ide0-0-0: type=cdrom removable=1 locked=0 file=/home/daoist/iso/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso ro=1 drv=raw encrypted=0

Então, no meu caso, estou interessado em drive-ide0-0-0 . Então, para mudar o disco, faça isso:

virsh # qemu-monitor-command mirage --hmp --cmd "eject drive-ide0-0-0"
virsh # qemu-monitor-command mirage --hmp --cmd "change drive-ide0-0-0 /path/to/new.iso"
virsh #
    
por 02.05.2012 / 06:04
1

Com relação ao comando "info block" acima, a maneira correta de chamá-lo é assim:

 virsh qemu-monitor-command <domain> --hmp --cmd "info block"

ou seja

 virsh qemu-monitor-command windows44407 --hmp --cmd "info block"
    
por 08.01.2015 / 05:53
0

Eu estava passando por um player Blu-Ray que não funcionava corretamente, a menos que eu passasse por outro caminho. Aqui está como eu fiz isso com base neste artigo.

link

Encontrar SCSI #:

lsscsi

[root@kvmatrix ~]# lsscsi
[#:0:0:0]    cd/dvd  HL-DT-ST BD-RE  WH14NS40  1.03  /dev/sr0

Edite o XML do domínio e adicione isto:

Nota: Substitua scsi_host # pelo # encontrado em lssci

<controller type='scsi' index='0' model='virtio-scsi'/>
    <hostdev mode='subsystem' type='scsi'>
      <source>
        <adapter name='scsi_host#'/>
        <address type='scsi' bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>

Eu tive que forçar o XML a ser aceito como virsh edit deu erros, apenas pressione i e depois reinicie vm para testar.

    
por 25.02.2018 / 02:52
-5

mount -t iso9660 / dev / sr0 / media

Você pode usar qualquer dispositivo que esteja definido para o seu cdrom no diretório / dev. Também / dev / cdrom é um link para o dispositivo adequado na maioria dos sistemas Linux. O -t é para o tipo de dispositivo que você está montando e o iso9660 é o tipo universal para mídia de CDROM.

O ponto de montagem pode ser o que você quiser, obviamente, apenas verifique se ele existe.

    
por 28.03.2012 / 16:44