Linux - Virtualization and CloudThis forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I assume it is NOT normal/correct that qemu-kvm "using" hardware acceleration with intel-vt shows a "Qemu Virtual CPU" to the guest instead of the original host cpu and it's extensions?
I'm running a dual xeon 5620 server, intel-vt and all virtualization related bios settings are on.
===========
host os: fedora 14
each guest gets 8 cpus and 4gig ram.
guest1: windows 7 ultimate 64 -> shows ONLY 2 Qemu Virtual CPUs with a minimum set of extensions available, instead of 8 xeons
guest2: fedora 14 64 -> shows 8 Quemu Virtual CPUs and also only a few extensions:
fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good pni cx16 popcnt hypervisor lahf_lm
I assume it is NOT normal/correct that qemu-kvm "using" hardware acceleration with intel-vt shows a "Qemu Virtual CPU" to the guest instead of the original host cpu and it's extensions?
It is normal and correct. QEMU is an emulator and simulates peripherals to the guest OS.
The QEMU PC System emulator simulates the following peripherals:
* - i440FX host PCI bridge and PIIX3 PCI to ISA bridge
* - Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA extensions (hardware level, including all non standard modes).
* - PS/2 mouse and keyboard
* - 2 PCI IDE interfaces with hard disk and CD-ROM support
* - Floppy disk
* - PCI and ISA network adapters
* - Serial ports
* - Creative SoundBlaster 16 sound card
* - ENSONIQ AudioPCI ES1370 sound card
* - Intel 82801AA AC97 Audio compatible sound card
* - Adlib(OPL2) - Yamaha YM3812 compatible chip
* - Gravis Ultrasound GF1 sound card
* - CS4231A compatible sound card
* - PCI UHCI USB controller and a virtual USB hub.
SMP is supported with up to 255 CPUs.
Note that adlib, gus and cs4231a are only available when QEMU was configured with –audio-card-list option containing the name(s) of required card(s).
QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL VGA BIOS.
It is normal and correct. QEMU is an emulator and simulates peripherals to the guest OS.
... i know that qemu is an emulator but i also thought when using qemu-kvm with intel-vt i get hardware acceleration and paravirtzualized performance like using a bare metal hypervisor due to intel-vt. as far as i i remember when using virtualbox i see the host cpu in the virtual machine with all it's extensions fully supported!? shouldn't this be also the case when using kvm resp. qemu-kvm?
It sounds like you're using some type of virt manager program to start your VMs. I use the CLI and have custom scripts that pass start up parameters. If the KVM modules are not loaded there is an error message that states KVM is not activated. Symptoms are the VM is extremely slow to boot up and slow to operate.
Why your Windows VM doesn't show the right number of virt CPUs is probably due to a setting in the virt manager. With qemu-kvm there is a CLI "-smp" option that sets the number of CPUs. Maybe someone else uses the same program and can assist.
Beyond the CPU controls, qemu-kvm uses virtio drivers for network, block devices and balloon memory. Those drivers can help speed up your VMs depending on how they are configured.
... i know that qemu is an emulator but i also thought when using qemu-kvm with intel-vt i get hardware acceleration and paravirtzualized performance like using a bare metal hypervisor due to intel-vt.
That's correct, and it has nothing to do with the CPU NAME provided to the guest OS by the hypervisor.
Quote:
as far as i i remember when using virtualbox i see the host cpu in the virtual machine with all it's extensions fully supported!? shouldn't this be also the case when using kvm resp. qemu-kvm?
Do you see any missing extensions, or is it only that the CPU name that bothers you?
... @ Slax-Dude:
yes i'm using libvirt/virtmanager, and the params set by the application should be correct as the config i posted shows. the documentation states the same. anyway the settings should get automatically detected by qemu-kvm if not set, so it's more a configuration by exception pattern meaning restricting the guest if necessary?
Quote:
"I'm using qemu-kvm" is not the same as "I'm using qemu-kvm with libvirt"...
.. whats the difference? isn't libvirt is only a wrapper around qemu-kvm!?!?
... @ Chuck56:
yes, as stated above i'm using virtmanager and libvirt for creating and start/stopping vms.
the umber of cpus is configured correcty -> same for both, virtual linux and windows as the config in my initial post shows:
... and i'm also using virtio devices but they perform quite poor:
linux I/O -> write 40mb/s read 70-80mb/s
windows I/O -> write 2-3mb/s!! read 70-80mb/s
the host hardware is a raid5 performing @ 130-140mb/s write and far above 200mb/s read. so there seems to be something wrong with the IO to not only the cpus, especially in the windows vm. virtio network speed to the host via nfs is also 40 read and 70 write.
as i also posted kvm mods are loaded but i'm not sure if they are used:
Quote:
i can see that the extensions are loaded, but are they used?
... this one shows that the aes modules are used by cryptd, so shouldn't the kvm modules be used by libvirtd or kvm?
... @ dyasny:
Quote:
That's correct, and it has nothing to do with the CPU NAME provided to the guest OS by the hypervisor.
... well i think if the cpu isn't "passed" directly to the guest, it's "emulated" not "virtualized" using intel-vt!?
isn't it that due to vt support a correctly implemented hypervisor can share the cpu completely with the guests!? i thought that is the purpose of intel-vt and amd-v!?
Quote:
Do you see any missing extensions, or is it only that the CPU name that bothers you?
...
Quote:
guest2: fedora 14 64 -> shows 8 Quemu Virtual CPUs and also only a few extensions:
fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good pni cx16 popcnt hypervisor lahf_lm
the virtual performance over all seems also quite poor, so i assume that the machine got emulated instead of virtualized using VT!?
... as you can see most of the extensions are missing! looking at the windows host it's even worse, because cpu-z tells me there are only 3 or 4 extensions available.
again: i'm using fedora 14 (quite new virtualiztion stuff) with kvm/libvirt/virt-manager) settings are triple checked and should be ok from what i understood (there is not much one can do wrong in the gui :-) )
as i stated -> virtualbox showed me the "complete cpu" in the guest with all extensions available and usable and nearly host like performance, which is essential if i want to virtualize a server completely. i thought this should be possible with kvm too, especially now, since redhat dropped xen in favor of kvm. i don't think enterprise virtualization works using emulation. whats wrong here!? :-(
again thx for the replys, and hopefully we find a solution for that since i like tight integration of kvm.
... well i think if the cpu isn't "passed" directly to the guest, it's "emulated" not "virtualized" using intel-vt!?
isn't it that due to vt support a correctly implemented hypervisor can share the cpu completely with the guests!? i thought that is the purpose of intel-vt and amd-v!?
no, you're wrong. VT allows for kvm to pass more CPU instructions directly from the CPU to the VM. If you pass the CPU directly over to the VM, what will the host use?
Quote:
... as you can see most of the extensions are missing! looking at the windows host it's even worse, because cpu-z tells me there are only 3 or 4 extensions available.
you could try and start a VM up with pure qemu and compare the available CPU flags. It may be possible you're not using kvm at all for some reason.
... @ Slax-Dude:
yes i'm using libvirt/virtmanager, and the params set by the application should be correct as the config i posted shows. the documentation states the same. anyway the settings should get automatically detected by qemu-kvm if not set, so it's more a configuration by exception pattern meaning restricting the guest if necessary?
Please read the documentation carefully...
Note that you will have to edit the config file for your VM manually, as virt-manager does not yet support all qemu-kvm options... so no: using qemu-kvm is not the same as using qemu-kvm through libvirt.
If the "wrapper" supported ALL the functions of the "wrapped", then there would be no problem
I also use virt-manager, and I had a bit of trouble installing slackware64 13.1 because virt-manager was not able to specify a 64bit to the guest.
I had to add this manually to my VM config file:
Thx for the advice slax-dude, i'll give this a try as soon as i install my new slackware server. I'm excited if this works since i need aes-ni and different sse extensions inside my virtual machines.
As far as my understanding the "model name : QEMU Virtual CPU version 0.13.0" is presented to the guest OS so that enterprise server features like live migration can occur between different vendor's processors (Intel,AMD). The guest operating system is presented with a processor feature set that all x86_64 processors have in common so that migrated between them while running can be seemless. This behavior can be disabled by adding args: -cpu host to the VMs config file.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.