我正在尝试使用2个Virtio接口作为vhost用户界面启动我的VM
以下是我的域xml的相关部分
<interface type='vhostuser'>
<mac address='52:54:00:c7:ac:38'/>
<source type='unix' path='/tmp/vhost1.sock' mode='server'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</interface>
<interface type='vhostuser'>
<mac address='52:54:00:9d:ea:73'/>
<source type='unix' path='/tmp/vhost2.sock' mode='server'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
</interface>"`
执行virsh start domain_name command
它开始然后暂停。日志显示它停留在
n-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on
QEMU waiting for connection on: disconnected:unix:/tmp/vhost1.sock,server
我有什么遗失的吗?
一些信息
针对库编译:libvirt 1.2.18
使用库:libvirt 1.2.18
使用API:QEMU 1.2.18
运行虚拟机管理程序:QEMU 2.4.1
hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0
HugePages_Total: 10
HugePages_Free: 10
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
# ls -lar /tmp/*
srwxrwxrwx. 1 qemu qemu 0 Apr 28 14:02 /tmp/vhost1.sock
答案 0 :(得分:0)
这是相关配置的正常行为。请求mode =&#39; server&#39; QEMU将启动UNIX套接字服务器,并在允许guest虚拟机开始执行之前等待与此连接。因此,为了实际使用,您需要使用外部进程监视来创建UNIX套接字(例如使用inotify)并立即连接。
另一种方法是切换到mode = client,其中QEMU连接到外部网络服务,避免任何延迟。