教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

KVM组成原理及使用指南

来源:网络收集 时间:2026-07-31
导读: 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特

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

KVM组成原理及使用指南.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/336685.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)