David is right, KVM is a type 2 hypervisor, it will never own the hardware 100%, as a type 1 hypervisor would. KVM leverages the hosting OS, RHEL for example, for example RHEL/RHEV variant. Paravirtualization allows KVM, via its design and associated virtual instance driver design, to gain a deeper view of the hardware in a limited and specific manner, based on two factors, 1) the actual hardware available, that support VT-x, VT-d, VT-c feature set both from the processor side and the mainboard design side, and 2) in how the device drivers are implemented, think of them as two-sided, with aspects both in the hosting OS context, kernel facing, and within the virtual instances themselves, Guest OS kernel facing. How or when user space is used or not, depends on what the specific driver hosting side is doing and how, and what the host kernel allows by design. VMware and Microsoft have both implemented paravirtualization in slight different ways as well. Hyper-V is also a type 2 hypervisor in point of fact like KVM. Where ESXi is a type 1 hypervisor. ESX classic, was a unique case where it was a type 1 hypervisor, but it could be confused as a type 2 hypervisor, because its 'Service Console', was Linux like. But in fact, the service console was not a hosting OS but really a special variant of a virtual instance that was slaved to the VMkernel, could not be controlled by end-user/operator action to the same degree as other virtual instances on the given hypervisor. Of course given that the ESX boot sequence was very Linux like for years, even to the degree that anaconda/kickstart was leveraged based on a RHEL 3 source code base (at one time), also muddied the perception of type 1 versus type 2. Even RHEV-H, which is a very thin instance of RHEL 6.x hosting KVM, is by design classification and fact, a type 2 hypervisor. KVM has yet, and never will I believe be established a true monolithic hypervisor such as ESXi is today. But all it would take is for RH to decide to do so, and KVM could be enhanced to be a type 1 hypervisor. But the issue is, why, given the significant improvements in type 2 hypervisors with paravirtualization, the need for a true type 1 hypervisor is less compelling as it once was. No disrespect to VMware of course. Cough. I would prefer that RH focus on officially supporting KVM as a memory resident instance, both diskless, and personality neutral concept, very similar to how ESXi stateless is done today. Note, LXC, is yeah another technology that leverages a hosted instance but is not a hypervisor in the traditional since LXC supports application isolation like Solaris Zones versus LDOMs, or in a very loose sense Microsoft Server-AppV. VMware has no comparable product to an application container model. But application isolation versus OS isolation in virtualization discussions, is a story for another day... I think this is TMI already! Schorschi -----Original Message----- From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx] On Behalf Of David Mair Sent: Wednesday, 28 December, 2011 09:43 To: adapa.ajith@xxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Subject: Re: Regarding KVM Hi On 12/27/2011 03:25 AM, Ajith Adapa wrote: > Hi, > > I am new to KVM stuff and had very BASIC (might be lame even) doubts > regarding KVM. > > As per the various diagrams I have gone through in internet my > understanding is KVM is an hypervisor on top of which all VMs run. > > In case of FULL VIRTUALIZATION .. KVM will be directly running on top > of HARDWARE and VMs will be running on top of KVM . > In that case we dont need any support of other linux modules or subsystems ? > > vm1 ... vmn > -------------- > | KVM | > -------------- > Hardware Not in my experience. kvm is drivers on a host kernel which has other drivers in order to function (at least to boot) and a user-space (at least qemu instances). kvm does provide I/O virtualization to the extent that host devices you only want to be used in a guest can be ignored without host drivers and only operated from the guest as-if a guest device with guest drivers but there will still be things like I/O port access trapping and interrupts will happen on host processors at any juncture so presumably quickly routed by kvm behavior to service routines after switching to a suitable guest context, though I'm no expert on the code. > Actually I am very much intrested in networking component of > virtualization. So does KVM provides any specific support for > networking in case of virtualization ? You can take a host NIC and use it's drivers in a guest to operate it. You can use tap interfaces for a guest and bridge them to host interfaces which can include bridged physical NICs or not and/or use host IP stack configuration to route guest traffic from its own IP network to any reachable by the host. On most of my kvm hosts I have bridges br0, br1 and br8 to simulate the vmnet0 (bridged - physical network access), vmnet1 (host only - isolated guests with host connectivity) and vmnet8 (NAT - routing from a host only network to anything reachable by the host) configurations you get on many default vmware configurations. I tried the I/O device virtualization quite a while ago and it wasn't reliable enough and, although I'm sure it's much improved, with the configuration I use I've never needed to try again. > Sorry if there is any developer guide for KVM will be more helpful for me. -- David. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html ---------------------------------------------------------------------- This message w/attachments (message) is intended solely for the use of the intended recipient(s) and may contain information that is privileged, confidential or proprietary. If you are not an intended recipient, please notify the sender, and then please delete and destroy all copies and attachments, and be advised that any review or dissemination of, or the taking of any action in reliance on, the information contained in or attached to this message is prohibited. Unless specifically indicated, this message is not an offer to sell or a solicitation of any investment products or other financial product or service, an official confirmation of any transaction, or an official statement of Sender. Subject to applicable law, Sender may intercept, monitor, review and retain e-communications (EC) traveling through its networks/systems and may produce any such EC to regulators, law enforcement, in litigation and as required by law. The laws of the country of each sender/recipient may impact the handling of EC, and EC may be archived, supervised and produced in countries other than the country in which you are located. This message cannot be guaranteed to be secure or free of errors or viruses. References to "Sender" are references to any subsidiary of Bank of America Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a Condition to Any Banking Service or Activity * Are Not Insured by Any Federal Government Agency. Attachments that are part of this EC may have additional important disclosures and disclaimers, which you should read. This message is subject to terms available at the following link: http://www.bankofamerica.com/emaildisclaimer. By messaging with Sender you consent to the foregoing. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html