云计算——虚拟化层架构
作者:mmseoamin日期:2023-12-21

云计算——虚拟化层架构,第1张

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​

云计算——虚拟化层架构,第2张

 前言

本章将会讲解云计算的虚拟化层架构,了解云计算虚拟化层都有哪些架构模式。


一.虚拟化层架构

  • 虚拟化层架构:全虚拟化,半虚拟化,硬件辅助虚拟化

    云计算——虚拟化层架构,第3张

    • KVM--------》全虚拟化
    • Xen----------》半虚拟化
    • CPU(AMD,Intel)-------------》硬件辅助虚拟化

      架构一:全虚拟化

      全虚拟化:即所抽象的vm具有完全的物理特性,虚拟化层负责捕获CPU指令,为指令访问硬件充当媒介。

      它使用虚拟机协调客户操作系统和原始硬件。全虚拟化是通过客户机和宿主机之间一个虚拟化逻辑层Hypervisor来完全模拟底层硬件细节。全虚拟化表示的是整个虚拟化都是用软件实现的。

      云计算——虚拟化层架构,第4张

       典型的有:VMware,Virtyalbox,virtual PC, KVM-x86

      云计算——虚拟化层架构,第5张

       VirtualBox是一款开源的虚拟机软件,使用者可以在VirtualBox上安装并且执行SolarisWindows、DOS、Linux、OS/2Warp、BSD等系统作为客户端操作系统。

      云计算——虚拟化层架构,第6张

       KVM-x86是基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块,该内核模块使得Linux变成了一个Hypervisor。它支持x86 (32 and 64 位), s390, Powerpc等CPU。

      特点:

      • OS无需修改。
      • 速度和功能都非常不错,使用非常简单。
      • 移植性好。

        全虚拟化:KVM

        KVM(Kernel-Based Virtual Machines)是一个基于Linux内核的虚拟化技术,可以直接将Linux内核转化为Hypervisor。从而使得Linux内核能够直接管理虚拟机,直接调用Linux内核中的内存管理,进程管理子系统来管理虚拟机。

        云计算——虚拟化层架构,第7张

        组成:由处于内核态的KVM模块(CPU虚拟化,内存虚拟化,接口)和用户态的QEMU两部分组成。

        QWMU由KVM.ko所提供的接口完成其他的虚拟化(IO虚拟化,网络虚拟化)都是由QWMU组成。

        • 第一部分:内存,CPU,接口,虚拟化
        • 第二部分:其他虚拟化(IO等)

          架构二:半虚拟化

          半虚拟化:期初是为了解决全虚拟化效率不高的困难,它需要修改OS,工作效率相对于全虚拟化要高很多。Hypervisor直接安装在物理机上,多个虚拟机在Hypervisor上运行。Hypervisor实现方式一般是一个特殊定制的Linux系统。

          云计算——虚拟化层架构,第8张

          典型的有xen,VMware ESXi,微软Hyper-V

          云计算——虚拟化层架构,第9张

          Hyper-V 是 Microsoft 对虚拟机监控程序的实现。 Hyper-V 应用单个主计算机的资源,在同一物理硬件上运行的多个虚拟机 (VM ) 中分发该资源。 Hyper-V 为每个 VM 提供独立的空间来运行它自己的操作系统 (OS),它独立于主机 OS 和其他 VM。

          特点:

          • 架构更精简
          • 在整体速度上有一点的优势
          • 需要对OS进行修改,在用户体验方面比较麻烦。

            半虚拟化:Xen

            Xen :直接把操作系统内核改了,把OS改成一个轻量级Hypervisor在里面运行了一个管理所有资源作资源调度的Domain0.

            组成:由Xen Hypervisor(虚拟化层),Domin0(管理主机),Domin U(用户虚拟机)。

             云计算——虚拟化层架构,第10张


             架构三:硬件辅助虚拟化

            • 硬件辅助虚拟化:硬件辅助虚拟化是随着虚拟化技术的应用越来越广泛intel,AMD等硬件厂商通过对硬件的改造来支持虚拟化技术。

              云计算——虚拟化层架构,第11张

              常用于优化全虚拟化和半虚拟化产品,像VMware Workstation,它虽然属于全虚拟化,但它在6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化。(VirtualBox,KVM,Xen等)


              二.KVM架构与Xen架构对比

              云计算——虚拟化层架构,第12张

              KVM(常用)