我正在尝试从远程计算机上的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是不可能的?
答案 0 :(得分:0)
正如错误消息所示,QEMU中的curl驱动程序(用于通过http,https&amp; ftp网络协议访问磁盘)仅支持只读访问。您已配置了需要读写访问权限的磁盘,因此会报告错误。
即使curl支持写入,你也不会想要使用它。 HTTP协议不是访问来宾磁盘的有效方法。您应该使用iSCSI,NBD,NFS,RBD或GlusterFS中的任何一个。