KVM与FusionCompute简介

KVM概述
1、KVM简介:
一、在开源的虚拟化技术中 KVM是全虚拟化,而Xen同时支持半虚拟化和全虚拟化。
二、KVM是Kernel-based Virtual Machine的简称(基于内核的虚拟机)是一种Ⅱ型全虚拟化
三、kVM 其就是Linux的一个内核模块该内核模块使得 Linux 变成了一个 Hypervisor(虚拟机监视器)
四、KVM自从 Linux 2.6.20 起就做为一模块被包含在yu Linux 内核中前端

当Linux系统安装了KVM模块后会增长三种运行模式后端

  • ·Guest Mode:此模式主要是指虚拟机,包括虚拟机的 CPU、内存、磁盘等虚拟设 备,该模式被置于一种受限的 CPU 模式下运行; 
  • User Mode:用户空间,此模式下运行的主要是 QEMU,它用来为虚拟机模拟执行 I/O 类的操做请求;
  • Kernel Mode:内核空间,在此模式下能够真正的操做硬件,当 Guest OS 执行 I/O 类操做或特权指令操做时须要向用户模式提交请求,而后由用户模式再次发起 硬件操做请求给内核模式从而真正操做硬件。

2、KVM工做原理:
在KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每一个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 可以使用 Linux 内核的已有功能。可是,KVM 自己不执行任何硬件模拟,须要客户空间程序经过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU安全

KVM虚拟化 = KVM内核模块 + /dev/kvm + QEMU
KVM与FusionCompute简介服务器

 

  • kvm.ko内核模块
    KVM 内核模块是 KVM 虚拟机的核心部分,其主要功能是初始化 CPU 硬件,打开虚拟化模 式,而后将 Geust Machine 运行在虚拟机模式下,并对虚拟客户机的运行提供必定的支持。 KVM 内核模块中,实现虚拟化功能的是 kvm.ko,还包括一个和处理器强相关的模块如 kvmintel.ko 或 kvm-amd.ko kvm.ko模块在用户空间可经过系统调用ioctl()与内核中的kvm模块交互,从而完成虚拟机的建立、启动、中止、删除等各类管理功能网络

  • /dev/kvm
    KVM 自己不能实现任何模拟功能,它仅仅是提供了一个/dev/kvm 接口,这个接口可被宿主机用来主要负责 vCPU 的建立、虚拟内存的地址空间分配、vCPU 寄存 器的读写以及 vCPU 的运行 做用:将不一样的GuestOS之间的地址隔离,或将GuestOS和HostOS(VMM)之间的地址隔离架构

  • Qemu架构:
    QEMU 本来不是 KVM 的一部分,它是一个通用的开源的使用纯软件来实现的虚拟 化的模拟器,Qemu 是纯软件实现的虚拟化模拟器,几乎能够模拟任何硬件设备,咱们最熟悉的就是可以模拟一台可以独立运行操做系统的虚拟机,虚拟机认为本身和硬件打交道,但实际上是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。KVM 是硬件辅助的虚拟化技术,主要负责 比较繁琐的 CPU 和内存虚拟化,而 Qemu 则负责 I/O 虚拟化,二者合做各自发挥自身的优点,相得益彰QMEU 自己能够模拟 CPU 和内存,在 KVM 中,只使用 QEMU 来模拟 IO 设备,KVM 的开发者将其进行了改造,造成了 QEMU-KVM。。

QEMU 是一个软件实现 I/O 虚拟化的模拟工具,性能较差,有时候一些应用对网卡速率有要求时,就不能再使用 QEMU 了,咱们须要引入一个新的技术,它 就是 Virtio,是用了 Virtio
KVM与FusionCompute简介
一、 虚拟机中的磁盘设备发起一次 IO 操做请求;
二、 KVM 模块中的 I/O Trap Code(I/O 捕获程序)将这个 IO 操做请求捕获到,进行 相应的处理,而后将处理后的请求放到 I/O 共享页中;
3 、KVM 模块会通知 QEMU,告诉它有新的 I/O 操做请求放到了共享页中;
4 、QEMU 收到通知后,到共享页中获取该 I/O 操做请求的具体信息;
5 、QEMU 对该请求进行模拟,同时根据 I/O 操做请求的信息调用运行在内核态的设备 驱动,去进行真正的 IO 操做;
6 、经过设备驱动去对物理硬件执行真正的 IO 操做;
7 、QEMU 将执行后的结果返回到共享页中,同时通知 KVM 模块已完成了这次的 I/O 操做;
8 、I/O 捕获程序从共享页中将返回的结果读取出来;
9 、I/O 捕获程序将操做结果返回给虚拟机;
十、 虚拟机的将结果返回给发起操做的应用程序。ide

使用 Virtio 的时候,具体的操做流程以下
KVM与FusionCompute简介
1 、第一步也是由虚拟机发起 I/O 操做请求;
2 、第二步的时候和使用默认模型不同,这个 I/O 操做请求不会通过 I/O 捕获程序, 而是直接之前后端的形式放到环形缓冲区,同时 KVM 模块通知后端驱动; 3 QEMU 到环形缓冲区获取到操做请求的具体信息;
4 、后端驱动直接调用真实的物理设备驱动进行具体的 I/O 操做;
5 、由真实的设备驱动完成这次操做;
6 、QEMU 将完成结果返回到环形缓冲区,而且由 KVM 模块通知前端驱动;
7 、前端驱动从环形缓冲区获取到这次 I/O 操做的结果;
8 、前端驱动将结果返回给具体发起该操做的应用程序。工具

3、FusionCompute 简介性能

1)华为FusionSphere虚拟化套件是业界领先的虚拟化解决方案,可以帮助客户带来以下的价值,从而大幅提高数据中心基础设施的效率。操作系统

  • 帮助客户提高数据中心基础设施的资源利用率
  • 帮助客户成倍缩短业务上线周期
  • 帮助客户成倍下降数据中心能耗
  • 利用虚拟化基础设施的高可用和强恢复能力,实现业务快速自动化故障恢复,下降数据中心成本和增长系统应用的正常运行时间
    2)FusionSphere虚拟化解决方案由服务器虚拟化产品(FusionCompute)、虚拟化管理软件(FusionManager)、备份软件(eBackup )和容灾软件(UltraVR)组成
    3)FusionCompute:是云操做系统软件,主要负责硬件资源的虚拟化,以及对虚拟资源、业务资源、用户资源的集中管理。它采用虚拟计算、虚拟存储、虚拟网络等技术,完成计算资源、存储资源、网络资源的虚拟化。同时经过统一的接口,对这些虚拟资源进行集中调度和管理,从而下降业务的运行成本,保证系统的安全性和可靠性,协助运营商和企业构筑安全、绿色、节能的云数据中心能力
    FusionCompute产品架构

KVM与FusionCompute简介

  • CNA英文全称: Compute Node Agent, CNA部署在须要虚拟化的服务器上。

  • VRM英文全称: Virtual Resource Management, VRM能够部署成VM或者部署在物理服务器上; VRM对外提供网页操做界面供管理维护人员。

FusionCompute 的架构和 KVM 很是类似,其中 VRM 至关于 KVM 中的管理工具,管理 员和用户能够经过图形化的 Portal 对 FusionCompute 进行管理和使用。它是基于 Linux 操做 系统的,因此咱们登陆 VRM 后,不少 Linux 的命令可使用。CNA 至关于 KVM 中 QEMU+KVM 模块,主要提供了虚拟化功能,一般是以集群的方式部 署,将集群内的计算、存储和网络资源虚拟化成资源池供用户使用。一样,CNA 也是基于 Linux 操做系统的KVM与FusionCompute简介

相关文章
相关标签/搜索