云计算 KVM,QEMU,Libvirt联系

     KVM:

     基于Linux内核的虚拟机,通过在内核上添加虚拟机管理模块,重用Linux内核中完善的进程调度,内存管理,i/o管理等部分,使之成为一个可以支持运行虚拟机的Hypervisor。

     KVM在被内核加载时会初始化内部的数据结构,做好准备后,KVM模块检测系统当前的CPU,然后打开CPU控制寄存器的CR4中的虚拟化模拟开关,并通过VMXON指令将宿主操作系统置于虚拟化模式中的根模式,最后,KVM模块创建特殊设备文件/dev/kvm并等待用户空间的命令,接下来虚拟机的创建将是用户空间应用程序QEMU和KVM模块相互配合的结果。

     KVM通过/dev/kvm设备提供了内存虚拟化。每个客户操作系统都有自己的地址空间,在实例化操作系统是映射,映射给客户操作系统的物理内存实际上是映射给这个进程的虚拟内存。为了支持客户物理地址到主机物理地址的转换,系统维护了一组影子页表。


    QEMU:

    KVM实现了CPU,内存的虚拟化,但不完整,QEMU实现网络,I/O设备的虚拟化。KVM与QEMU结合,形成一个完整的虚拟化系统。


     libvirt:

    那openstack来说,他不会直接控制QEMU-KVM,他会通过一个Linux API,支持各中虚拟机监控程序。而Libvirt就实现了这个功能。

   

  现在先简单介绍一下功能,详细使用后续再说

你可能感兴趣的:(云计算)