Michael MacDonald
2012-Jul-03 15:25 UTC
[libvirt-users] using vmchannel between 6.x host/guests
Hi all. Having trouble figuring out the magic to set up VMChannel comms between
EL6.x host/guests. My end goal is to enable fence_virt in the guest to talk to
fence_virtd on the host via VMChannel. I'd prefer to use that instead of
multicast because it is supposed to work even if networking in the guest is
down/borked.
My analysis is that there is a mismatch between what libvirt is feeding qemu-kvm
and what qemu-kvm is willing to accept:
virt-install option:
--channel
unix,path=/var/run/cluster/fence/foobar,mode=bind,target_type=guestfwd,target_address=10.0.2.179:1229
turns into this XML:
<channel type='unix'>
<source mode='bind'
path='/var/run/cluster/fence/foobar'/>
<target type='guestfwd' address='10.0.2.179'
port='1229'/>
</channel>
Which then gets fed to qemu-kvm as this:
-chardev socket,id=charchannel0,path=/var/run/cluster/fence/foobar,server,nowait
-netdev user,guestfwd=tcp:10.0.2.179:1229,chardev=charchannel0,
id=user-channel0
And then qemu-kvm barfs like so:
qemu-kvm: -netdev
user,guestfwd=tcp:10.0.2.179:1229,chardev=charchannel0,id=user-channel0: Invalid
parameter 'chardev'
Versions:
libvirt-0.9.10-21.el6.1
qemu-kvm-0.12.1.2-2.295.el6
NB: I did try this with the versions in 6.2, got the same result. Upgraded to
these versions to see if the problem went away, but no joy.
NB2: The fence_virt.conf manpage lists the following as example XML for defining
a channel device:
<channel type=?unix?>
<source mode=?bind? path=?/sandbox/guests/fence_molly_vmchannel?/>
<target type=?guestfwd? address=?10.0.2.179? port=?1229?/>
</serial>
Any advice would be greatly appreciated. I can fall back to multicast, of
course, but I'd like to make this work if possible.
Thanks!
Mike
Possibly Parallel Threads
- [PATCH 00/10] Remove the need for vmchannel
- [PATCH] Remove explicit guestfs=10.0.2.4:6666 kernel command line parameter.
- [PATCH] Rejig configure.ac tests for qemu vmchannel support.
- Unable to connect to vmchannel on host when the VM is started via libvirt
- ANNOUNCE: libguestfs 1.0.64 released
