Hi Jatin,

The RedHat documentation on this is extremely helpful. It's so helpful that I use it as a reference on completely different distributions.

VMWare does a pretty good job of guiding you and giving you defaults that are sensible. With Libvirt/QEMU/KVM, you need to get an idea of those and enable them yourself.

For example, I see that you are using qcow2 files, but if you don't need the features it provides, then using block devices (usually logical volumes in a volume group) directly for VM disks may be significantly faster. It also depends on how caching is configured. The manuals will step you through all of that. Pay special attention to storage, because it's the first bottleneck a lot of applications hit.

Check out the manuals under the virtualization section here: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/

Specifically: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Tuning_and_Optimization_Guide/index.html

Good luck!

On Tue, Apr 14, 2015 at 9:18 AM, Matt Schumacher <matt.s@aptalaska.com> wrote:

Using qemu without the virtio scsi and nic drivers is like running vmware with ide disks and e1000 nic instead of LSI disks and vmxnet3 nics, it forces the system to emulate completely different hardware.

In linux the virtio drivers are implemented in the kernel, so you either need a new kernel or the virtio kernel modules.  I'm not sure which for RHEL5, but I suspect you can get what you need with the kmod-virtio package, then rebuilding the initrd image to load the modules at boot.

Keep in mind that sda will change to vda, which on some linux distros requires updates to the bootloader and inittab, but redhat uses filesystem labels if I remember correctly, so it should just work.

Please let us know how the benchmarks look after you get virtio working, I'm curious...


On 4/14/2015 5:33 AM, Jatin Davey wrote:
Thanks Dominique & Daniel.

Looks like i need to upgrade my VMs kernel to make it aware of virtio.

Found this information from this link:


I tried without upgrading the Kernel and as soon as i start my VM it got into Kernel Panic. I will try using virtio after upgrading my VMs kernel.

Thanks for all the responses and pointers.


On 4/14/2015 5:08 PM, Dominique Ramaekers wrote:
Please read: https://libvirt.org/formatdomain.html

-----Oorspronkelijk bericht-----
Van: Jatin Davey [mailto:jashokda@cisco.com] 
Verzonden: dinsdag 14 april 2015 13:39
Aan: Daniel P. Berrange
CC: Dominique Ramaekers; libvirt-users@redhat.com
Onderwerp: Re: [libvirt-users] VM Performance using KVM Vs. VMware ESXi

On 4/14/2015 4:58 PM, Daniel P. Berrange wrote:
On Tue, Apr 14, 2015 at 04:53:52PM +0530, Jatin Davey wrote:
On 4/14/2015 4:42 PM, Dominique Ramaekers wrote:
About Spice: I think it’s good practice to use spice because it 
improves the performance of the VM in general by improving screen 
performance. If your VM is constantly displaying output, you’ll 
probably will notice a difference.

[Jatin] Ok, This is not my concern as of now. I will take a look at 
it sometime later.
About virtio: You can see it in the settings. Better yet, it’s in 
your XML. If you post your XML, we can take a look…

Here is the xml associated with my VM:

<domain type='kvm'>
     <disk type='file' device='disk'>
       <driver name='qemu' type='qcow2' cache='none'/>
       <source file='/var/lib/libvirt/images/****.qcow2'/>
       <target dev='hda' bus='ide'/>
       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
This disk is configured to use IDE, so performance of anything that 
does disk I/O is going to be terrible. You really want to be using virtio.

    <interface type='bridge'>
      <mac address='52:54:00:c9:58:c9'/>
      <source bridge='br332'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
This doesn't have any model listed at all, so it will be falling back 
to a generic emulated NIC. Again performance of this is likely going 
to be terrible for anything doing network I/O. You want to be using 
virtio for this too.

How do i make use of virtio for the both disk and network that you have mentioned above ?
Any pointers to it would be helpful.


libvirt-users mailing list

libvirt-users mailing list

Nikki VonHollen
Goobuntu Team