KVM组成原理及使用指南
KVM虚拟化系统组成原理及使用指南
(仅供内部使用)
For internal use only
1 / 44
修订记录Revision record
Catalog 目录
2 / 44
1KVM虚拟化系统组成原理 (6)
1.1KVM总体介绍 (6)
1.1.1简介 (6)
1.1.2特性 (10)
1.2Qemu总体介绍 (11)
1.2.1简介 (11)
1.2.2特性 (11)
1.3虚拟化工作原理 (12)
1.3.1CPU虚拟化 (12)
1.3.1.1Intel X86硬件VT-X技术 (14)
1.3.2内存虚拟化 (15)
1.3.2.1Intel EPT技术 (17)
1.3.2.2Intel VPID技术 (18)
1.3.2.3THP透明大页表 (19)
1.3.2.4KSM透明页共享 (20)
1.3.3IO虚拟化 (21)
1.3.3.1存储虚拟化 (25)
1.3.3.2网络虚拟化 (26)
2KVM虚拟机管理 (26)
2.1准备工作 (26)
2.1.1虚拟机概念 (26)
2.1.2虚拟机与物理机的区别 (27)
2.1.3创建虚拟机的条件 (27)
2.1.3.1确定机器有VT (27)
2.1.3.2确保BIOS里开启VT (28)
2.1.3.3确保内核版本较新,支持KVM (28)
2.1.4虚拟机生命周期概览 (28)
2.2增加和删除虚拟机 (29)
2.2.1Xml文件 (30)
2.2.2定义、启停和删除虚拟机 (33)
3 / 44
2.2.3镜像制作 (33)
2.2.4镜像制作 (36)
2.2.4.1安装 (36)
2.2.4.2检查是否使用virto驱动 (37)
2.3查看虚拟机 (38)
2.3.1查看单板虚拟机情况 (38)
2.3.2VNC查看 (38)
2.3.3virsh console查看 (39)
2.3.4远程连接 (40)
2.4修改虚拟机配置 (40)
2.5网桥配置 (40)
2.6建议配置 (42)
2.6.1IO调度策略使用deadline (42)
2.6.2镜像文件格式选择 (42)
2.6.3网络相关配置 (42)
2.6.4内存相关配置 (43)
2.6.5高精度定时器相关配置 (44)
2.7其他 (44)
Keywords 关键词:KVM,Qemu,虚拟化
Abstract 摘要:简要说明基于X86架构的KVM虚拟化系统的组成原理及使用方法。
List of abbreviations 缩略语清单:
4 / 44
5 / 44
6 / 44
1 KVM 虚拟化系统组成原理 1.1 KVM 总体介绍
1.1.1 简介
KVM (Kernel-based Virtual Machine )是以色列Qumranet 公司(08年被redhat 收购)开发的一个开源虚拟机监控器,从Linux-2.6.20开始被包含在Linux 内核中,它是将Linux 内核变成Hypervisor 的一种虚拟化技术,属于硬件级虚拟化类型的全虚拟化的解决方案。
简要地概括,KVM 是基于Linux 内核特性,可借助于硬件辅助虚拟化技术,结合Qemu 完成对I/O 的模拟和操作,共同支撑多个Guest OS 在同一套硬件上运行的虚拟化系统。
一般认为,虚拟机监控的实现模型有两类:Type 1型和Type 2型。目前的我们区分依据定为Hypervisor 在硬件之上的为Type 1,Hypervisor 在OS 之上的为Type 2。KVM 属于比较特殊的部署方式,KVM 定义为Type 1型。
Type 2
Type 1(2)Type 1(1)
图表 1虚拟化系统类型
KVM 可归结于Type 1(2)类型,以下通过与其他类型的Hypervisor 比较的方式,从整体上了解KVM 的相对优势点,参见下表。
表格 1 Hypervisor 特性比较
Type 1(1)
Type 1(2)
Type 2
可靠性
中。
高。
高。
Domain0崩溃会导致所有虚拟机异常进程崩溃不会影响内
核
进程崩溃不会影响内
核
兼容性中。
基于不同的硬件可能
会引起修改OS内核高。
嵌入到OS的内核实
现,OS本身支撑
Hypervisor
中。
运行于OS用户态,OS
不负责做兼容
复杂性高。
Hypervisor和Domain0
结合起来才能支持虚
拟化低。
充分利用linux内核功
能,小体积轻量级代
码实现,I/O虚拟化工
作借助Qemu完成
中。
运行于OS用户态,一
些特权访问较复杂
扩展性中。
新技术应用起来复杂
度和难度较大高。
可以随着Linux内核的
发展而发展,新技术
便于应用,比如NUMA
高。
因为基于OS之上实
现,一些技术应用应
该无问题
效率高。
借助于硬件辅助虚拟
化,充分利用硬件支
持的虚拟化特性情况高。
借助于硬件辅助虚拟
化,充分利用硬件支
持的虚拟化特性情况
低。
数据流需要经过多层
传递,实时性和性能
相对较低
KVM的优势:
(1)兼容性好。
(2)内存易于管理,虚拟机就是一个进程。
(3)性能相对较高,KVM与OS内核的代码资源可直接调用。
(4)充分利用硬件支持的虚拟化,专注于虚拟化。
(5)可扩展性好,以自然地使用Linux内核提供的内存管理、多处理器支持等功能。
(6)简单,目前KVM的I/O虚拟化工作是借助Qemu完成的,也显著地降低了实现的工作量。
7 / 44
简单介绍KVM的背景后,我们通过对无虚拟化系统与KVM虚拟化系统的比较分析,可以从KVM的结构组成中更直观认知KVM虚拟化系统。
图表 2 无虚拟化系统组成结构
图表 3KVM虚拟化系统组成结构
KVM作为Hypervisor运行在宿主机内核(Host OS Kernel),支持对CPU、内存、I/O的模拟,对虚拟机的监控,并为Qemu提供实体支撑。
Qemu作为进程运行在宿主机的用户态,它基于KVM及内核的特性,为Guest OS模拟出CPU、内存、I/O等硬件,支撑Guest OS在进程中运行。
8 / 44
虚拟化管理服务有多种,大部分都基于libvirt实现,libvirt 库是一种实现 Linux 虚拟化功能的 Linux API,它支持各种虚拟机监控程序。
从架构组成上了解了KVM之后,我们从当前业界的KVM的实际应用上,结合硬件的特性进行分析。目前KVM虚拟化系统主要基于支持提供硬件虚拟化技术的X86架构,下面以基于Intel X86硬件并应用了硬件辅助虚拟化技术实现的开源KVM为例,进一步解析KVM的基本原理及应用。
图表 4 KVM-X86虚拟化系统特征
在KVM-X86虚拟化系统中,每个虚拟客户机都是一个由Linux调度程序管理的标准进程。一个普通的Linux进程有两种运行模式:内核和用户。而KVM增加了第三种模式客户模式(有自己的内核和用户模式),不同模式的分工如下:
(1)非根模式(Non-Root):客户机运行所处的模式。在无虚拟化场景,物理机的内核态和用户态都运行在同一模式,无根模式和非根模式的区分;在有虚拟化场景,由于 x86指令集的缺陷,比如有些特权指令在低优先级运行不会引发trap,所以intel不得不引入root模式来补救;其次,客户机也存在内核态和用户态的差别,可能导致宿主机也需要做修改。基于上述的原因,Intel X86增加了非根模式的概念。客户机与传统的x86
9 / 44
处理器兼容,最大的差别在于当客户机执行一些访问全局资源的指令时将导致客户机
退出非根模式(VM exit),从而使宿主机获得控制权,以便对访问全局资源的指令进
行模拟。
(2)根模式(Roo …… 此处隐藏:8911字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




