The relationship between the three Kvm-qemu-libvirt

Source: Internet
Author: User

Qemu

Qemu is a simulator that Guest OS Simulation CPU and other hardware, Guest OS think that they are dealing directly with the hardware, is actually the same Qemu emulate the hardware that deals with it, Qemu Translate these instructions to real hardware.

since all the instructions are to be Qemu It's a poor performance . . 650) this.width=650; "title=" 1.png "src=" Http://s3.51cto.com/wyfs02/M00/6F/77/wKiom1WdDYyjiVZiAAECBtAEQ5E590.jpg " alt= "Wkiom1wddyyjivziaaecbtaeq5e590.jpg"/>

Kvm

KVMis the kernel module, using hardware-assisted virtualization technologyINTEL-VT,amd-vUseKVM,Guest OSof theCPUinstructions don't go through .Qemutranslation, direct operation, greatly improved the speed,KVMthrough/DEV/KVMexposed interface, the user state program can beIOCTLfunction to access this interface. See the following pseudo-code:

Open ("/DEV/KVM") IOCTL (KVM_CREATE_VM) IOCTL (KVM_CREATE_VCPU) for (;;) {IOCTL (kvm_run) switch (exit_reason) {case kvm_exit_io:case kvm_exit_hlt:}}

Qemu-kvm

Qemuwill beKVMintegrated in, throughIOCTLcalled/DEV/KVMinterface that will be relevantCPUpart of the instruction is done by the kernel module. KVMresponsible forCPUVirtualization of+memory virtualization, enabling theCPUand memory virtualization, butKVMYou cannot impersonate another device. QemuSimulationIODevice (network card, disk),KVMPlusQemuyou can then realize the true meaning of server virtualization. Because I used the top two things, so calledQEMU-KVM.

Qemu emulate other hardware, such as Network, Disk also affects the performance of these devices, resulting in Pass through semi-virtualized devices virtio_blk, Virtio_net to improve equipment performance.

650) this.width=650; "title=" 2.png "src=" Http://s3.51cto.com/wyfs02/M01/6F/77/wKiom1WdDc2CEwy6AAGPf4VzQao172.jpg " alt= "Wkiom1wddc2cewy6aagpf4vzqao172.jpg"/>

Libvirt

Libvirtis currently the most widely usedKVMthe tools for managing virtual machines andAPI. LIBVIRTDis aDaemonprocess, which can be used by localVirshcan also be called by a remoteVirshcalled,LIBVIRTDcalledQEMU-KVMoperate the virtual machine.

650) this.width=650; "title=" 3.png "src=" Http://s3.51cto.com/wyfs02/M02/6F/74/wKioL1WdD72RRy8mAAIuDm6sVAY591.jpg " alt= "Wkiol1wdd72rry8maaiudm6svay591.jpg"/>



This article is from "Gan nan has" blog, please be sure to keep this source http://changfei.blog.51cto.com/4848258/1672147

The relationship between the three Kvm-qemu-libvirt

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.