zoukankan      html  css  js  c++  java
  • 服务器虚拟化技术 对比简介

    目前主流的虚拟化平台有


    VMWARE的 ESX  
    微软的Hyper-V
    开源的XEN  
    开源的KVM

    虚拟机架构分析:


    1.寄居架构:寄居在主机操作系统之上,依靠主机操作系统来模拟相关的硬件设备。

            此类架构多为个人计算机使用, 
           优点:简单,便于实现
       
           缺点:安装和运行应用程序依赖于主机操作系统对设备的支持

           例如 VMware  Workstation、


    2.原生架构(也叫裸机裸金属):直接在硬件上运行虚拟化管理层,性能比较好,相对稳定。

             多用于服务器
             优点:虚拟机不依赖于操作系统,可以支持多种操作系统,多种应用,更加灵 活
             缺点:虚拟层内核开发难度较大
          
         例如 
    VMware vsphere   微软的hyper-v   


    这里只讨论 原生架构
    vm  vsphere的架构     实体主机——>ESX——>虚拟机
    微软的Hyper-V架构   实体主机——>Windows Server 2008 R2及以上——>虚拟机
                                                                         (hyper-v)
    XEN架构              
    实体主机——>Linux(支持xen)——>Xen——>虚拟机 
    KVM架构              
    实体主机——>Linux(支持kvm)——>kvm——>虚拟机 



    详细介绍:
    1.kvm
            KVM (名称来自英语: Kernel-basedVirtual Machine 的缩写,即基于内核的虚拟机)  是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。
            
    其基本结构由两部分组成:
            一个是KVM Driver ,是Linux 内核的一个模块,负责虚拟机的创建,虚拟内存的分配,虚拟CPU寄存器的读写以及虚拟CPU的运行等;

            
            另一个部分是稍微修改过的Qemu,用于模拟PC硬件的用户空间组件,模拟I/O设备模型以及提供访问外设的途径
            qemu  全称 Quick Emulator 。 是独立虚拟软件,能独立运行虚拟机(根本不需要 kvm )。 kqemu 是该软件的加速软件。 kvm 并不需要 qemu 进行虚拟处理,只是需要它的上层管理界面进行虚拟机控制。虚拟机依旧是由 kvm 驱动。所以,大家不要把概念弄错了,盲目的安装 qemu  kqemu 
             
    当一起工作的时候,KVM管理CPU和MEM的访问,QEMU仿真硬件资源(硬盘,声卡,USB,等等)当QEMU单独运行时,QEMU同时模拟CPU和硬件。        
            从QEMU角度来看,也可以说QEMU使用了KVM模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化的加速,从而极大地提高了虚拟机的性能。除此之外,虚拟机的配置和创建,虚拟机运行依赖的虚拟设备,虚拟机运行时的用户操作环境和交互,以及一些针对虚拟机的特殊技术(诸如动态迁移),都是由QEMU自己实现的。

            从QEMU和KVM模块之间的关系可以看出,这是典型的开源社区在代码共用和开发项目共用上面的合作。
           诚然,QEMU可以选择其他的虚拟机或技术来加速,比如Xen或者KQEMU;
            KVM也可以选择其他的用户空间程序作为虚拟机实现,只要它按照KVM提供的API来设计。但是在现实中,QEMU与KVM两者的结合是最成熟的选择,这对一个新开发和后起的项目(KVM)来说,无疑多了一份未来成功的保障。



            libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和API。Libvirtd是一个daemon进程,可以被本地的virsh调用,也可以被远程的virsh调用,Libvirtd调用qemu-kvm操作虚拟机。
  • 相关阅读:
    CentOS6.4安装OpenSSL
    Linux下设置Tomcat开机启动
    Linux下Tomcat8.0.44配置使用Apr
    CentOS6.4将MySQL5.1升级至5.5.36
    Linux下实现MySQL数据库自动备份
    Linux将MySQL数据库目录挂载至新数据盘
    MySQL创建数据库与创建用户以及授权
    Node.js Mongoose数据库连接失败 提示:Authentication failed
    JBoss7.1.1远程无法访问
    mongodb3.4 远程连接认证失败
  • 原文地址:https://www.cnblogs.com/centos2017/p/7896685.html
Copyright © 2011-2022 走看看