[libvirt-users] Restarting network on host completely cuts off guests. Why? How to prevent?

Chris Lalancette clalance at redhat.com
Mon Apr 19 13:02:59 UTC 2010


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




More information about the libvirt-users mailing list