On 04/17/2010 09:38 PM, Andreas Ntaflos wrote:
Hi list,
this probably isn't a completely libvirt-specific question but I'll try
anyway. Please ignore if it is too much off-topic.
On an Ubuntu (9.10) virtualisation host, running KVM and libvirt and
several guests (Debian, Ubuntu, Windows Server 2003) in a bridged
network fashion [1,2] I noticed that performing
/etc/init.d/networking restart
on the host completely cuts off all guests from the network. I have to
manually shutdown and restart (virsh shutdown GUEST && virsh start
GUEST, a mere reboot doesn't suffice) them to get them onto the network
again. Obviously that's not ideal.
Is this the expected behaviour? Can I somehow re-establish guest network
connectivity without shutting down the guest first? Is my setup somehow
wrong or do I expect too much?
Unfortunately, that is the expected behavior. If you do:
# brctl show
# /etc/init.d/networking restart
# brctl show
You'll see that the list of interfaces attached to the bridge is different
before and after. The problem is that as libvirt starts a guest, it plugs
the virtual interface into the bridge device. When you do a networking
restart, all of those interfaces are lost from the bridge, and there is no
way currently to re-attach them. It's probably fix-able, but non-trivial;
libvirt would have to be notified by the system (via D-bus?) that the bridge
was restarted, and then it would have to re-plug the interfaces on the "new"
bridge.
--
Chris Lalancette