libvirt xml:以远程服务器

时间:2017-04-07 12:42:14

标签: http qemu libvirt

我正在尝试从远程计算机上的ubuntu主机上启动guest虚拟机。 guest虚拟机的映像也位于远程计算机(http server as image repo)。 以下是磁盘部分的域xml段:

      <disk type='network' device='disk'>
         <driver name='qemu' type="qcow2"/>
         <source protocol="http" name="img/guest_1.qcow2">
            <host name="192.168.10.16" port="80"/>
         </source>
         <target dev='vdb' bus='virtio'/>
      </disk>

当我启动虚拟机时,我收到此错误:

virsh -c qemu://hostname/system start guest_vm
error: Failed to start domain guest_vm
error: internal error: process exited while connecting to monitor: 2017-04-07T12:31:24.421836Z qemu-system-x86_64: -drive file=http://192.168.10.16:80/img/guest_1.qcow2,format=qcow2,if=none,id=drive-virtio-disk1: curl block device does not support writes

有关如何解决问题的任何意见?

从域xml相关文档中,我可以看到其他协议如rbd,nbd,iscsi等正在使用。用http是不可能的?

1 个答案:

答案 0 :(得分:0)

正如错误消息所示,QEMU中的curl驱动程序(用于通过http,https&amp; ftp网络协议访问磁盘)仅支持只读访问。您已配置了需要读写访问权限的磁盘,因此会报告错误。

即使curl支持写入,你也不会想要使用它。 HTTP协议不是访问来宾磁盘的有效方法。您应该使用iSCSI,NBD,NFS,RBD或GlusterFS中的任何一个。