As we started out running the first VMs with OpenNebula / KVM on Ubuntu Server, we encountered strange network lags. These lags showed up as unresponsive SSH sessions or lagging RDP sessions on Windows hosts.

Finally I found out how to resolve this (at least for us). The solution is to use the RedHat VirtI/O drivers for the network cards.

In OpenNebula, when creating a new template, key in „virtio“ in the model field of your network settings:

This enables the virtio driver for the VMs instantiated from that template.

To enbale the driver in Linux / Windows hosts, you need to do different things:

Linux

Easy, you’re done 😉 No really, the driver is automatically activated

Windows

  1. Get the latest Windows virtI/O drivers from here: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
  2. Create a new Image from the .iso file located in the downloaded zip from above. Select type CD-ROM.
  3. Attach this image to your template or your VM
  4. RDP into your VM
  5. Check your System Manager in System Settings, their should be an Ethernet device without proper driver (yellow quotation mark attached). Select this device and select to update the driver. When asked select „Choose manually from computer“ and browse to the appropriate folder (64bit or 32bit) on the CD-Rom drive in your file explorer.
  6. Install the driver
  7. (Optional) You may want to repeat these steps in case you have other devices with yellow marks on them.