Montar URL como cdrom / iso KVM / QEMU

2

Eu estou procurando uma maneira de montar um ISO como um CD-ROM, de acordo com a documentação da libvirt (referenciada abaixo), isso deve ser possível, adicionalmente na questão referenciada abaixo.

Estou ciente de esta questão , no entanto, há mais de 4 anos e nunca cheguei a nenhuma conclusão de trabalho.

Eu peguei o exemplo de: link

</disk>
  <disk type='network' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source protocol="http" name="url_path">
      <host name="hostname" port="80"/>
    </source>
    <target dev='hde' bus='ide' tray='open'/>
    <readonly/>
  </disk>

Não consigo fazer isso funcionar, simplesmente recebo:

Falha na inicialização: não foi possível ler do CD-ROM (código 0003)

XML real em uso no snippet:

<disk type='network' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source protocol="http" name="/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso">
      <host name="mirror.bytemark.co.uk" port="80"/>
    </source>
    <target dev='hdb' bus='ide' tray='open'/>
    <readonly/>
  </disk>

libvirtd (libvirt) 3.9.0 Emulador QEMU versão 2.10.0

Alguém é capaz de oferecer alguma ajuda ou dicas?

Eu tentei colocar o caminho completo incluindo fqdn no url_path, com e sem http: //

    
por Backtogeek 07.08.2018 / 18:45

2 respostas

2

Eu encontrei o problema, o http está na lista negra dos pacotes qemu-kvm-ev em centos 7

Você só pode usar https

O exemplo XML válido é:

<disk type='network' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source protocol="https" name="/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso">
      <host name="mirror.bytemark.co.uk" port="443"/>
    </source>
    <target dev='hdb' bus='ide' tray='open'/>
    <readonly/>
  </disk>

note que você não pode usar o hdc, já que isso parece ser reservado para ISO local ou repasse de cdrom físico.

    
por 09.08.2018 / 14:01
1

Eu tentei executar um desses para uma VM existente no meu sistema libvirt 4.1.0 existente:

    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol='https' path='/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso'>
        <host name='mirrors.edge.kernel.org' port='443'/>
      </source>
      <target dev='sdc' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>

O XML falhou ao validar.

error: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng
Extra element devices in interleave
Element domain failed to validate content

Minha suspeita é que alguém escreveu esses exemplos há muito tempo, pensando que essa funcionalidade poderia eventualmente ser adicionada, mas na verdade nunca foi.

O texto explicativo abaixo desses exemplos afirma que:

The protocol attribute specifies the protocol to access to the requested image. Possible values are "nbd", "iscsi", "rbd", "sheepdog", "gluster" or "vxhs".

A página do manual do qemu também não indica que tal funcionalidade possa existir.

Acho que você está apenas vendo um erro de documentação.

    
por 07.08.2018 / 20:58