一、基础架构

1、虚拟模型简介(X86虚拟化)

处于底层是整个物理系统,也就是系统硬件,主要包括处理
器、内存和输入输出设备

在物理系统之上,运行的是虚拟机监控器(缩写为
VMM 或Hypervisor)。虚拟机监控器的主要职能是:管理真实的物理硬件平台,并为每个虚
拟客户机提供对应的虚拟硬件平台。

在VMMV层之上便运行着虚拟机,每个虚拟机都有一套完整的计算
机系统,具有自己的“系统硬件”,包括处理器、内存和输入输出设备。在这个计算
机系统上,运行着虚拟机自己的操作系统,例如Linux 和Windows。同时虚拟机之可以运行自己的VMM,这种情况被叫做嵌套虚拟化

x86虚拟虚拟化的核心便是处理器虚拟化,因为,处理器运行程序代码,访问内存和输入输出设
备。只要处理器虚拟化技术支持“截获并重定向”,内存和输入输出设备的虚拟化都可以基于处理器虚拟化技术之上得到实现

2、KVM架构

从虚拟机的基本架构上来区分,虚拟机有两种,分为两种比方说第一类的虚拟机是在系统上电之后首先加载运行VMM,在创建的虚拟机之中运行
传统的操作系统。VMM程序作为运行在底层的软件层,必须实现比如系统的初始化、物理资源的管理等操作系统的职能;它对虚拟机的创建、调度和管理,与操作系统对进程的创建、调度和管理有共通之处。这一类型的VMM程序一般都会提供一个具有特殊权限的特殊虚拟机,由这个特殊虚拟机来提供用户日常操作和管理使用的操作系统环境。比方说开源虚拟化软件Xen、商业软件VMware ESX/ESXi 和微软的Hyper-V等

与第一类的虚拟机类型不同,第二类的VMM,在系统上电之后仍然运行一个操作系统(通常称作宿主机操作系统),VMM程序作为特殊的应用程序或者功能扩展运行其上。该类的虚拟机的优势主要在于可以充分利用现有操作系统的物力资源管理和调度算法,无需额外实现,但是这也使这类的VMM收到了一定的限制,比如说优化虚拟机时,单独修改操作系统比较麻烦,该类的VMM有VMware Workstation和virtual box,同时kvm也属于这一类

KVM的架构模型如下所示,下图的左侧部分是一个标准的Linux 操作系统,可以是RHEL、Fedora、Ubuntu 等。

KVM 内核模块运行时会按需加载进入内核空间运行。KVM 本身不会模拟任何设备,需要用户空间程序QEMU 通过/dev/kvm 接口为Guest OS设置一个地址空间,向其提供模拟的I/O 设备,并将虚拟机的视频显示映射回宿主机的显示屏。

results matching ""

    No results matching ""