kvm三个组件及应用

  1. kvm三个组件及应用
  2. kvm虚拟化分为哪三层

kvm三个组件及应用

KVM虚拟化架构及三种模式

1、 客户模式(guestOS):VM中的OS为GuestOS

客户机在操作系统中运行的模式,客户机分为内核模成和用户模式

kvm三个组件及应用 - IT吧

2、用户模式:

为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O, Qemu工作在此模式下(Qemu的主要功能)

3、linux内核模式

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

KVM原理

1、 Guest:客户机系统,包括CPU (vCPU) 、内存、驱动(Console、 网卡、I/O设备驱动等)

被KVM置于一种受限制的CPU模式下运行。

2、KVM内核模块模拟处理器和内存以支持虚拟机运行

3、Qemu主要处理I/O以及为客户提供一 个用户空间/dev/kvm工具libvirt来进行虚拟机管理

ioctl(定义)专用于设备输入输出操作的系统调用

libvirt: KVM管理工具

以上构成一个完整的虚拟化平台

简单理解:

KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,交由Qemu处理

Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

KVM工作流程

用户模式的Qemu利用接口libkvm 通过 ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载Guest OS并运行。Guest OS运行过程中如果发生异常,则暂停Guest OS的运行并保存当前状态同时退出到内核模式来处理这些异常。

内核模式处理这些异常时如果不需要V/O则处理完成后重新进入客户模式。如果需要V/O则进入到用户模式,则由Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

kvm虚拟化分为哪三层

kvm虚拟化分为以下三层:

1.第一层KVM

第一层的KVM,基本上是Linux内核自带,从Linux 2.6.20版本开始,KVM被完全正式收录到Linux内核中,KVM作为Linux内核中的一个模块而存在,因此只要使用了Linux 2.6.20版本或高于Linux 2.6.20版本的Linux,在安装系统的时候,就已经加载了KVM模块,因此我们只需要在CLI命令行模式下启用KVM模块即可。

2.第二层QEMU

第二层的QEMU,在2012年的时候,qemu-kvm这个分支并入了主流的QEMU了,从此之后要实现KVM虚拟化可以不需要特殊的qemu-kvm(你也可以继续使用,现在的CentOS就在用着),而只需要在通用的QEMU命令上增加“-enable-kvm”选项就等于是使用KVM功能了,是KVM驱动虚拟机了,也就是QEMU可以调用KVM内核了,这样效率就比纯QEMU高多了。

3.第三层KVM管理工具

第一层的KVM和第二层的QEMU解决了之后,剩下的就是KVM管理工具了,KVM管理工具的玩法有很多种,如果你的企业搞云计算的团队只有40-50个人,那玩WebVirtMgr、Proxmox VE这种类型的管理工具比较合适,如果你的企业搞云计算的团队有几百号人,又有金主爸爸,可以玩OpenStack这种类型的云计算管理平台。

以上内容是万老网对kvm 显卡驱动的问题就介绍到这了,希望介绍关于kvm 显卡驱动的2点解答对大家有用。

kvm三个组件及应用