Я ищу способ смонтировать ISO как компакт-диск, в соответствии с документами libvirt (указанными ниже), это должно быть возможно, дополнительно в вопросе, указанном ниже.
Я в курсе этот вопрос, однако ему уже 4 года, и он так и не пришел к какому-либо рабочему выводу.
Я взял пример из: http://libvirt.org/formatdomain.html#elementsDisks
</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>
Я не могу заставить это работать, я просто получаю:
Ошибка загрузки: не удалось прочитать с CDROM (код 0003)
Фактический фрагмент используемого XML:
<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 Эмулятор QEMU версии 2.10.0
Может ли кто-нибудь предложить помощь или совет?
Я попытался поместить полный путь, включая fqdn, в url_path, с http: // и без него
Я обнаружил, что проблема, http находится в черном списке пакетов qemu-kvm-ev в centos 7
Вы можете использовать только https
Допустимый пример XML:
<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>
обратите внимание, что вы не можете использовать hdc, поскольку он, похоже, зарезервирован для локальной передачи ISO или физического cdrom.
Я попытался запустить один из них на существующей виртуальной машине в моей существующей системе libvirt 4.1.0:
<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>
XML не удалось проверить.
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
Я подозреваю, что кто-то давно написал эти примеры, думая, что эта функция может быть добавлена в конечном итоге, но на самом деле этого никогда не было.
В пояснительном тексте под этими примерами говорится, что:
В
protocol
Атрибут определяет протокол доступа к запрошенному изображению. Возможные значения: «nbd», «iscsi», «rbd», «Sheepdog», «gluster» или «vxhs».
Страница руководства qemu также не дает намеков на то, что такая функциональность может существовать.
Я думаю, вы просто видите ошибку в документации.