千家信息网

OpenStack中如何理解KVM和QEMU

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,OpenStack中如何理解KVM和QEMU,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、KVM概述KVM是Kern
千家信息网最后更新 2025年12月02日OpenStack中如何理解KVM和QEMU

OpenStack中如何理解KVM和QEMU,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、KVM概述

KVM是Kernel-based Virtual Machine的缩写,即基于linux内核的虚拟机,是一种的完全虚拟化的解决方案,也就是说普通的操作系统不需经过修改就可以在KVM上运行。它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少。KVM的虚拟化需要硬件的支持(如intel VT技术或者AMD V技术),是基于硬件的完全虚拟化。

准确来说,KVM是Linux的一个模块。可以用modprobe去加载KVM模块。加载了模块后,就可以使用KVM模块创建虚拟机,实现虚拟内存的分配,虚拟CPU寄存器的读写以及管理虚拟CPU的运行。但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,所以还必须有一个用户空间的工具才行。这个用户空间的工具,开发者选择了已经成型的开源虚拟化软件 QEMU,使用它来模拟PC硬件的用户空间组件,模拟I/O设备模型以及提供访问外设的途径。后边会详细的介绍QEMU,这里先知道它用了QEMU就好了。

KVM基本架构如下图所示。

其中KVM被加入到标准的Linux内核中,被组织成Linux中标准的字符设备(/dev/kvm)。Qemu利用KVM提供的LibKvm应用程序接口,通过ioctl系统调用创建和运行虚拟机。KVM Driver使得整个Linux成为一个虚拟机监控器。并且在原有的Linux两种执行模式(内核模式和用户模式)的基础上,新增加了客户模式,客户模式拥有自己的内核模式和用户模式。在虚拟机运行下,三种模式的分工如下:

  • 客户模式:执行非I/O的客户代码,虚拟机运行在客户模式下。

  • 内核模式:实现到客户模式的切换,处理因为I/O或者其它指令引起的从客户模式的退出,KVM Driver工作在这种模式下。

  • 用户模式:代表客户执行I/O指令Qemu运行在这种模式下。

KVM的具体工作流程如下:
用户模式的qemu利用libkvm通过ioctl进入内核模式,kvm模块未虚拟机创建虚拟内存,虚拟CPU后执行VMLAUCH指令进入客户模式。加载Guest OS并执行。如果Guest OS 发生外部中断或者影子页表缺页之类的情况,会暂停Guest OS的执行,退出客户模式出行异常处理,之后重新进入客户模式,执行客户代码。如果发生I/O事件或者信号队列中有信号到达,就会进入用户模式处理。

二、 QEMU概述

QEMU(Quick Emulator)是一个独立的开源虚拟机软件,它是通过纯软件来仿真X86平台处理器的取指、解码和执行,虚拟客户机的指令并不在物理平台上直接执行,它利用其中的微型代码生成器模块进行动态翻译,将需要模拟的客户机的代码架构转换成主机代码架构并最终执行。QEMU虚拟机是一个纯软件的实现(KVM需要硬件虚拟化技术支持),所以性能低下。但是,其优点是虚拟机可以与宿主机并不是同一个架构。与KVM不同的是,QEMU的代码中有整套的虚拟机实现,包括处理器虚拟化、内存虚拟化,以及KVM使用到的虚拟设备模拟(比如网卡、显卡、存储控制器和硬盘等)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

模式 客户 用户 模块 内核 代码 运行 处理 指令 架构 硬件 软件 内存 技术 空间 设备 支持 信号 处理器 客户机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 泰安网络时间服务器 中小学网络安全简笔画 安全通服务器机房是哪家 银行网络安全周宣传活动 怎么用数据库计算三角形面积 高并发数据库设计 北京新数据库猿科技公司 环保网络技术定做价格 固原营销型网站服务器 网络安全方面工作计划 网络安全宣传日照片 网络安全的有关文字 linux服务器限制平板访问 网络安全法针对未成年的条款 宪法网络安全宣传手抄报大学 连接不到数据库 登陆不正确 当前无法连接服务器正在恢复连接 邹平陶瓷软件开发定制 台州乐淘网络技术有限公司 西安做网络安全的公司 树莓派 搭建服务器 实况足球关于数据库更新的说明 tbc怀旧服服务器人口查询 wps每隔几行取数据库 局域网可以访问数据库吗 浏览器访问服务器 3代网络安全技术创新 修改数据库的文件怎么偷 软件开发公司采购电脑记账 天域互联网科技中心物管
0