I recently switched from VirtualBox to Xen on my server running Debian Squeeze. It sort of works while there is only one virtual machine running. But as soon as I start a second virtual machine the first one isn’t reachable over the network anymore. As soon as I restart the first one I can’t reach the second one anymore. I don’t know if this is just a network problem or if the whole VM stops running. Also, even if only one VM is running it gets unresponsive after a while.

My machine is an AMD Athlon(tm) XP 3000+ with 1 gig of RAM. The network for the VMs is routed. One VM runs Ubuntu, the other one openSUSE. For the DomUs I use the kernel provided by Debian.

I guess I might be missing some important information here, so if you need to know anything else just ask.

Update 1: got console access working

So now I finally got console access working. But this didn’t really help narrow down the problem. The DomU keeps running after I lose network reachability. There is no info in any logs on the DomU or Dom0 about the problems. Trying to ping the Dom0 from the DomU (or vice versa) yields the message "Destination Host Unreachable". The output from ifconfig and ip route is the same when it’s working.

  • Is it necessary for the DomU network to be routed? Else you could try to use bridged networking for the DomU, it will appear to the domU that it is connected directly to the same network as your Xen server – Karst Lok Sep 14 '10 at 20:19
  • I have updated my answer below to include a setup with a bridged Nic in the domU – Karst Lok Sep 14 '10 at 20:25
  • Thanks again, but I do have to use a routed setup. – Sven Sep 14 '10 at 21:02
  • Can you give us the type of networking you are using for your Xen (route, bridge, nat) ? – Antoine Benkemoun Sep 15 '10 at 9:18
  • @Antoine: I use routed networking – Sven Sep 15 '10 at 11:01

You can configure a vnc console for the domU. That way, it's much more easy to troubleshoot problems with the domU as you can see the vga-output of your domU and type to the console directly. To do that, you can add the following line to the domU Config file:

vfb = [ 'type=vnc,vncdisplay=12,vncpasswd=password' ]

If you restart the domU you can connect to your server with a vnc viewer on port 5912, make sure you connect to the Xen server IP since that's the address the vnc console will be available on. You can set the port-offset with the vncdisplay parameter. vncdisplay=11 will put your domU vnc console on servername:5911 etc. The password is set to 'password' in the code above but you can set it to anything you like, as long as you keep in mind that vnc will only check the first 8 characters of the given password. If you set your password to 'imsingingintherain', 'imsingin' will give you access to your server.

If you do not need a routed network for your domU you could simplify the setup by bridging the domU with the nic in your Xen server. For that, add the following in your domU config file:

vif=[ 'bridge=mybridge' ]

Your domU will be in the same network as your Xen server

  • Thanks. Got console access working now, but isn’t really helpful. I’ll update my question. – Sven Sep 14 '10 at 19:59
  • At least now you should know if you VM hangs or runs and you could try to ping to see if you can reach other machine from the domU – Karst Lok Sep 14 '10 at 20:05

How did you create your second domU? If you just copied the config file from dom1 to dom2, is there a chance that you forgot to change the mac for the second machine?

  • I didn’t specify any MAC address for either DomU. I checked and they both got a different one assigned. – Sven Sep 15 '10 at 11:00

I finally could solve this problem on my own. The stock 2.6.32-5-xen-686 kernel provided by Debian has a bug that causes this behavior. I compiled my own kernel (vanilla and used that for the DomUs. Now the problem is gone.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.