首页>参考读物>计算机科学与技术>软件与程序设计

KVM虚拟化技术:实战与原理解析
作者 : 任永杰 单海涛 著
出版日期 : 2013-10-08
ISBN : 978-7-111-43900-4
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 420
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

首本Linux KVM虚拟化技术专著,由Intel虚拟化技术部门资深虚拟化技术专家和国内KVM技术的先驱者撰写,权威性毋庸置疑。在具体内容上,本书不仅系统介绍了KVM虚拟机的功能、特性和使用方法,而且还深入地剖析了KVM虚拟机的核心技术和工作原理,对KVM做了全面而透彻的讲解。
全书一共9章:第1章介绍了云计算和虚拟化的概念,并对KVM等几种流行的虚拟化技术做了比较;第2章介绍了KVM的基本架构、QEMU的作用以及Intel的硬件虚拟化技术;第3章详细讲解了KVM依赖的硬件环境配置,编译和安装KVM和QEMU的步骤与方法,以及KVM客户机的启动;第4章深入讲解了KVM的基础功能,包括虚拟的CPU、内存、存储、网络、图形显示等的配置和基本原理,以及CPU和内存的过载使用;第5章讲解了KVM的高级功能,包括半虚拟化驱动virtio、设备直接分配VT-d、热插拔、动态迁移、嵌套虚拟化、KSM、透明大页、KVM安全技术、QEMU监控器、QEMU命令行参数以及从物理机或其他虚拟机迁移到KVM的方法;第6章介绍了管理KVM虚拟化的上层软件;第7章介绍了RHEL等所有流行的Linux发行版中的KVM虚拟化功能的使用;第8章首先介绍了虚拟化性能测试,然后详细介绍了对KVM虚拟化的CPU、内存、网络、磁盘I/O等重要组件进行性能测试的方法、工具和步骤;第9章介绍了Linux、KVM、QEMU等开源社区的情况,KVM、QEMU和KVM单元测试代码的基本结构,以及如何向QEMU/KVM开源社区贡献自己的代码和如何提交KVM相关的bug。

图书特色

首本Linux KVM虚拟化技术专著,由Intel虚拟化技术部门资深虚拟化技术专家和KVM研究者撰写
系统介绍KVM虚拟机的功能、特性和使用方法,深入剖析KVM虚拟机的核心技术和原理

KVM虚拟化技术:实战与原理解析
任永杰 单海涛 著

经过几年的发展,云计算服务逐渐成为各行业实现信息化的基础性服务,而虚拟化则是云计算的基础技术。目前,商业化的虚拟化产品和技术几乎被VMware、Citrix和Microsoft三家公司垄断,开源的虚拟化技术则逐渐呈现出KVM一家独大的趋势。从2007年2月Linux 2.6.20内核加入KVM模块至今,KVM受到了以Intel、Redhat、IBM、Novell、Siemens、华为、Google为代表的来自全球的大量软件公司、硬件公司和应用型公司的大力支持,从而在软件、硬件和应用层面发展非常迅速,形成了一个成熟的生态链,成为企业进行系统虚拟化和云平台建设的重要选择。
Intel为KVM虚拟化技术的发展和普及做出了重要的贡献,本书的两位作者来自于Intel虚拟化技术小组,专门从事KVM等虚拟化技术的研究和实践,是国内KVM虚拟化技术领域的先驱者,对KVM的应用和原理都有深刻的认识。本书不仅系统讲解了KVM虚拟机的功能、特性和使用方法,还深入剖析KVM虚拟机的核心技术和原理。

本书主要内容如下:
云计算和虚拟化技术的概念性介绍,主流虚拟化方案的介绍和比较,以及KVM的功能介绍;
KVM的基本原理剖析;
KVM工作环境的搭建;
KVM的核心基础功能的系统,包括CPU配置、内存配置、网络配置、图形显示等;
KVM的高级功能,包括半虚拟化驱动、设备直接分配、热插拔、动态迁移、嵌套虚拟化、KSM技术、安全性、QEMU监控器等;
KVM的管理工具,如libvirt、virsh、virt-manager、virt-viewer、virtinstall、virt-top等;
各个流行的Linux发行版中的KVM虚拟化功能的使用;
KVM的性能测试及参考数据;
KVM开源社区的情况,代码结构,以及如何向KVM贡献代码等。

前:
任永杰 资深虚拟化技术工程师和Linux技术工程师,现就职于Intel开源技术中心,担任虚拟化测试团队负责人,负责KVM的功能测试、性能分析及与开源社区的交流工作。对KVM/Xen等主流虚拟化技术有非常深入的研究,曾参与KVM/Xen开源社区的upstream和release测试,以及Redhat和Suse等Linux发行版中虚拟化功能的测试。此外,还精通Linux内核和Linux服务器管理,以及Shell、Python等脚本语言,熟悉C、Java编程。活跃于KVM/Xen/Qemu等开源社区,以及CSDN、ChinaUnix、51testing等论坛,在水木社区担任虚拟化技术版和软件测试版版主。

单海涛 资深虚拟化技术专家和系统软件工程师,现就职于Intel,担任虚拟化相关
技术开发团队的经理,负责KVM、Xen等虚拟化软件的开发以及开发团队的管理。对KVM的原理和应用有非常深入的研究和认识,在Intel工作期间负责开发过与处理器、内存、I/O等相关的虚拟化软件,经验十分丰富。

图书前言

为什么要写这本书
  近几年,云计算大潮风起云涌,Amazon的AWS是公共云计算平台的先驱和领导者,Google的GAE、GCE也取得了一定的成绩,国内大型互联网公司也分别推出自己的云计算服务,如阿里云、腾讯云、盛大云、新浪SAE、百度BAE等。云计算已成为IT技术领域最热门的词汇之一,现在很多互联网服务都声称自己是“云”服务。在云计算发展的大背景下,支撑着云计算服务的最底层、最基础的虚拟化技术也得到了快速发展,成为技术研究和应用的热点之一。
  在虚拟化领域也有很多的技术和产品种类,包括传统的老牌虚拟化软件VMware、Microsoft的Hyper-V、Citrix的XenServer/XenClient、Oracle的VirtualBox等,还有在Linux平台上比较流行的开源虚拟化技术KVM、Xen等,甚至包括Linux上的轻量级虚拟化技术LXC。随着Linux服务器广泛地应用在互联网等热门行业,KVM作为Linux内核原生的虚拟化技术受到了开发者和用户广泛的关注,并且已经得到了较大规模的应用,如Google的公有云计算引擎GCE就是在底层完全使用KVM作为虚拟化技术来实现的。
  KVM虚拟机最初是由以色列一家创业公司Qumranet员工Avi Kivity等人开发,于2006年8月完全开源并推向Linux内核社区,当年10月被Linux社区接受。2007年2月发布的Linux 2.6.20 是第一个带有KVM模块的Linux内核正式发布版本。Red Hat公司于2008年9月正式将Qumranet公司收购,接着投入了较多的资源到KVM虚拟化的开发中。在2010年11月,Red Hat公司发布的RHEL 6中完全用KVM替换了RHEL 5中默认支持的Xen,让KVM成为RHEL操作系统默认的虚拟化方案。
  KVM必须依赖CPU提供的硬件虚拟化技术,以Intel、AMD为代表的x86硬件平台在最近几年也推出了很多与虚拟化相关的硬件特性,包括最初基本的CPU的VT支持和EPT、VPID,以及I/O设备的VT-d、SR-IOV,还包括最新的APIC-v、Shadow VMCS等特性。随着x86硬件对虚拟化技术的支持越来越成熟,KVM在最新的硬件平台上的虚拟化效率也得到很大的提高。
  除了硬件方面的虚拟化技术逐渐成熟之外,KVM作为Linux内核虚拟机,受到许许多多Linux软件开发者的青睐。Red Hat公司无疑是KVM开发中最大的一股力量,很多Red Hat工程师在KVM、QEMU、libvirt等开源社区中成为核心开发成员。除了Red Hat之外,还有许多知名公司都有不少软件开发者为KVM贡献自己的代码,如IBM、 Intel、 Novell、 AMD、 Siemens、 华为等。除了这些大公司的开发者之外,还有许多小公司和个人独立开发者活跃在KVM开源社区,为KVM开发代码或者做测试工作。
在硬件方面的虚拟化支持和软件方面的功能开发、性能优化的共同作用下,目前KVM虚拟化技术已经拥有非常丰富的功能和非常优秀的性能。而且,KVM虚拟化的上层应用软件和云计算平台(如libvirt、Ovirt、Virt-Manager、OpenStack等)也是日渐成熟。因此,KVM已经成为个人和企业在进行系统虚拟化或云平台建设的底层虚拟化时一个非常不错的选择。
  在2012年,我们接受了机械工业出版社杨福川老师的邀请,决定写一本书来专门介绍KVM虚拟化的功能和原理,经过1年多的精心准备和努力写作,本书终于顺利出版。
  本书所有作者在虚拟化技术领域有多年的学习和工作经验,积累了比较丰富的知识和经验。任永杰在2011年年初加入Intel的云计算与虚拟化部门,专注于Linux开源虚拟化的功能测试、性能分析以及与开源社区交流等工作。单海涛于2007年加入Intel虚拟化部门,一直从事KVM、Xen等虚拟化软件的开发及开发团队的管理。本书内容由任永杰统筹规划,单海涛编写了本书的第1、2两章,其余的第3至9章由任永杰编写。
  在国内,本书是目前唯一一本专门介绍KVM虚拟化技术的书籍,而且在英文书籍中也没有任何一本书是在专门介绍KVM技术。本书可以让大家对Linux内核虚拟机—KVM的原理、技术、功能和性能有较为详细的了解,也希望能通过本书让更多的读者在学习和工作中实际应用KVM虚拟化技术,并且能够参与到Linux、KVM、QEMU等开源社区中去。
读者对象
  本书适合对Linux下虚拟化或云计算基础技术感兴趣的读者,包括Linux运维工程师、KVM开发者、云平台开发者、虚拟化方案决策者、KVM的用户以及其他对KVM虚拟机感兴趣的计算机爱好者。希望本书对这些读者了解KVM提供以下帮助。
  运维工程师:了解KVM的使用方法、功能和基本的性能数据,能够搭建高性能的KVM虚拟化系统并将其应用于生产环境中。
  KVM开发者:了解KVM的基本原理和功能,了解其基本用法和一些调试方法,以及如何参与到KVM开源社区中去贡献代码。
云平台开发者:了解底层KVM虚拟化的基本原理和用法,以促进云平台上层应用的开发和调试的效率。
  虚拟化方案决策者:了解KVM的硬件环境需求和它的功能、性能概况,以便在虚拟化技术选型时做出最优化的决策。
  普通用户:了解KVM的功能和如何使用KVM,用KVM虚拟化技术来促进相应的学习、开发和测试。
如何阅读本书
  本书分为9章,具体介绍如下内容:
  第1章简单介绍了云计算的概念和技术,然后简单介绍了目前比较流行的包括KVM在内的几种虚拟化技术。
  第2章简单介绍了Linux的基本历史、KVM的基本架构、QEMU的作用以及Intel的硬件虚拟化技术概况。
  第3章详细介绍了KVM依赖的硬件环境配置、编译以及安装KVM和QEMU的步骤与方法,最后演示了如何启动一个KVM客户机。
  第4章详细介绍了客户机系统的CPU、内存、存储、网络、图形显示等方面的配置和基本原理,以及CPU和内存的过载使用。
  第5章详细介绍了除了第4章的基础功能之外的高级功能,包括半虚拟化驱动virtio、设备直接分配VT-d、热插拔、动态迁移、嵌套虚拟化、KSM、透明大页、KVM安全技术、QEMU监控器、QEMU命令行参数以及从物理机或其他虚拟机迁移到KVM的方法。在介绍每个功能时,都尽量对其背后的原理和技术做了简单的介绍。
  第6章介绍了管理KVM虚拟化的上层软件,包括libvirt、virt-manager、virt-viewer、virt-install以及OpenStack云计算平台。
  第7章分别介绍了RHEL、Fedora、SLES、OpenSuse、Ubuntu等Linux发行版中的KVM虚拟化功能的使用。
  第8章首先简单介绍了虚拟化性能测试,然后详细介绍对KVM虚拟化的CPU、内存、网络、磁盘I/O等重要组件进行性能测试的方法、常见工具和具体测试步骤,并且分享了作者在实际性能测试实验中得到的一些数据供读者参考,以便读者对KVM的性能有基本的认识。
  第9章简单介绍了Linux、KVM、QEMU等开源社区的基本情况,也简单介绍了KVM、QEMU和KVM单元测试代码的基本结构,接着详细介绍了如何向QEMU/KVM开源社区贡献自己的代码以及如何提交KVM相关的bug。
  本书中每章后面都有“本章小结”,部分章节后面有“本章注释和参考阅读”。 “本章注释”是本章正文中一些需要详细说明的地方,“参考阅读”中包含了笔者推荐的与本章内容相关的一些参考资料供有兴趣的读者对相关内容做更多的了解。
读者可以根据自己的兴趣和已经掌握的知识来有选择地阅读各个章节。如果对KVM基本没有什么了解,建议按本书顺序阅读,通读一遍之后再对感兴趣的章节进行仔细阅读。今后可能会经常使用KVM的读者,在阅读本书之时,可以根据书中示例进行实际操作,如果是开发者也可以查看相应的源代码。另外,如果对某些章节中的内容比较感兴趣,建议阅读每章末尾笔者推荐的一些参考资料。
勘误和支持
  KVM、QEMU等开源社区非常活跃,QEMU/KVM发展迅速,经常有新的功能加进去或者原有功能被改进,特别是QEMU命令行参数很可能会有所改动。因此本书中QEMU命令行参数只能适用于本书中提及的QEMU版本,若使用不同的版本,命令行参数可能并不完全相同。另外,本书中的QEMU命令行示例一般都没有添加“-enable-kvm”参数,这是由于笔者写作本书时使用的qemu-kvm是默认启用KVM加速的,如果读者使用普通的QEMU来启动KVM客户机,就请根据需要自行在QEMU命令行中添加“-enable-kvm”参数。
  由于KVM和QEMU的发展变化比较快,加之作者的技术水平有限和编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者朋友批评指正。读者朋友对本书相关内容有任何的疑问、批评和建议,都可以通过作者之一(任永杰)的博客网站 http://smilejay.com/ 进行讨论,作者会尽力回复每一条留言信息并帮助读者得到满意的答案。全书中涉及的示例代码程序(不包含单行的命令)和重要的配置文件,都可以从网站https://github.com/smilejay/kvm-book 查看和下载。
  如果读者朋友们有更多的宝贵意见或者任何关于KVM虚拟化技术的讨论,欢迎发送电子邮件至smile665@gmail.com,我们感谢并期待能够得到朋友们的真挚反馈。

上架指导

计算机\程序设计

封底文字

经过几年的发展,云计算服务逐渐成为各行业实现信息化的基础性服务,而虚拟化则是云计算的基础技术。目前,商业化的虚拟化产品和技术几乎被VMware、Citrix和Microsoft三家公司垄断,开源的虚拟化技术则逐渐呈现出KVM一家独大的趋势。从2007年2月Linux2.6.20内核加入KVM模块至今,KVM受到了以Intel、Red Hat、IBM、Novell、Siemens、华为、Google为代表的来自全球的大量软件公司、硬件公司和应用型公司的大力支持,从而在软件、硬件和应用层面发展非常迅速,形成了一个成熟的生态链,成为企业进行系统虚拟化和云平台建设的重要选择。
Intel为KVM虚拟化技术的发展和普及做出了重要的贡献,本书的两位作者来自于Intel虚拟化技术小组,专门从事KVM等虚拟化技术的研究和实践,是国内KVM虚拟化技术领域的先驱者,对KVM的应用和原理都有深刻的认识。本书不仅系统讲解了KVM虚拟机的功能、特性和使用方法,深入剖析KVM虚拟机的核心技术和原理。
本书主要内容如下:
(1)云计算和虚拟化技术的概念性介绍,主流虚拟化方案的介绍和比较,以及KVM的功能介绍;
(2)KVM的基本原理剖析;
(3)KVM工作环境的搭建;
(4)KVM的核心基础功能的系统,包括CPU配置、内存配置、网络配置、图形显示等;
(5)KVM的高级功能,包括半虚拟化驱动、设备直接分配、热插拔、动态迁移、嵌套虚拟化、KSM技术、安全性、QEMU监控器等;
(6)KVM的管理工具,如libvirt、virsh、virt-manager、virt-viewer、virt-install、virt-top等;
(7)各个流行的Linux发行版中的KVM虚拟化功能的使用;
(8)KVM的性能测试及参考数据;
(9)KVM开源社区的情况,代码结构,以及如何向KVM贡献代码等。

作者简介

任永杰 单海涛 著:任永杰 资深虚拟化技术工程师、测试工程师和Linux技术专家,精通Linux服务器管理,精通Shell、Python等脚本语言,熟悉C、Java编程,熟悉大型网站性能测试与性能调优.

图书目录

前言
第1章 虚拟化与云计算 1
1.1 云计算概念 1
1.1.1 发展历史和现状 1
1.1.2 概念 2
1.1.3 云计算模式 3
1.2 云计算技术 4
1.2.1 Map/Reduce 4
1.2.2 资源管理平台 5
1.2.3 虚拟化 5
1.3 虚拟化技术 5
1.3.1 软件虚拟化和硬件虚拟化 6
1.3.2 准虚拟化与全虚拟化 8
1.4 KVM简介 9
1.4.1 KVM的历史 9
1.4.2 KVM功能概览 9
1.4.3 KVM的前景 11
1.5 Xen简介 11
1.5.1 Xen的历史 11
1.5.2 Xen功能概览 12
1.5.3 Xen的前景 13
1.6 其他虚拟化方案简介 13
1.6.1 VMware 14
1.6.2 VirtualBox 14
1.6.3 Hyper-V 15
1.7 本章小结 15
1.8 本章注释 15
第2章 KVM原理简介 17
2.1 Linux操作系统简介 17
2.2 虚拟化模型 18
2.3 KVM架构 19
2.4 KVM模块 21
2.5 QEMU设备模型 22
2.6 Intel虚拟化技术 22
2.7 本章小结 23
第3章 构建KVM环境 24
3.1 硬件系统的配置 24
3.2 安装宿主机Linux系统 26
3.3 编译和安装KVM 28
3.3.1 下载KVM源代码 28
3.3.2 配置KVM 30
3.3.3 编译KVM 33
3.3.4 安装KVM 35
3.4 编译和安装qemu-kvm 37
3.4.1 下载qemu-kvm源代码 37
3.4.2 配置和编译qemu-kvm 38
3.4.3 安装qemu-kvm 39
3.5 安装客户机 40
3.6 启动第一个KVM客户机 42
3.7 本章小结 43
3.8 本章注释和参考阅读 44
第4章 KVM核心基础功能 45
4.1 硬件平台和软件版本说明 45
4.2 CPU配置 48
4.2.1 vCPU的概念 48
4.2.2 SMP的支持 49
4.2.3 CPU过载使用 54
4.2.4 CPU模型 55
4.2.5 进程的处理器亲和性和vCPU的绑定 57
4.3 内存配置 61
4.3.1 内存设置基本参数 61
4.3.2 EPT和VPID简介 64
4.3.3 大页(Huge Page) 66
4.3.4 内存过载使用 68
4.4 存储配置 70
4.4.1 存储配置和启动顺序 70
4.4.2 qemu-img命令 75
4.4.3 QEMU支持的镜像文件格式 78
4.4.4 客户机存储方式 80
4.5 网络配置 82
4.5.1 QEMU支持的网络模式 83
4.5.2 使用网桥模式 85
4.5.3 使用NAT模式 90
4.5.4 QEMU内部的用户模式网络 98
4.5.5 其他网络选项 102
4.6 图形显示 103
4.6.1 SDL的使用 103
4.6.2 VNC的使用 105
4.6.3 VNC显示中的鼠标偏移 112
4.6.4 非图形模式 113
4.6.5 显示相关的其他选项 115
4.7 本章小结 116
4.8 本章注释和参考阅读 116
第5章 KVM高级功能详解 120
5.1 半虚拟化驱动 120
5.1.1 virtio概述 120
5.1.2 安装virtio驱动 122
5.1.3 使用virtio_balloon 128
5.1.4 使用virtio_net 133
5.1.5 使用virtio_blk 137
5.1.6 kvm_clock配置 138
5.2 设备直接分配(VT-d) 140
5.2.1 VT-d概述 140
5.2.2 VT-d环境配置 141
5.2.3 VT-d操作示例 150
5.2.4 SR-IOV技术 160
5.3 热插拔 170
5.3.1 PCI设备热插拔 170
5.3.2 PCI设备热插拔示例 171
5.3.3 CPU和内存的热插拔 176
5.4 动态迁移 177
5.4.1 动态迁移的概念 177
5.4.2 动态迁移的效率和应用场景 178
5.4.3 KVM动态迁移原理和实践 180
5.4.4 VT-d/SR-IOV的动态迁移 187
5.5 嵌套虚拟化 188
5.5.1 嵌套虚拟化的基本概念 188
5.5.2 KVM嵌套KVM 188
5.6 KSM技术 191
5.6.1 KSM基本原理 191
5.6.2 KSM操作实践 193
5.7 KVM其他特性简介 197
5.7.1 1GB大页 197
5.7.2 透明大页 200
5.7.3 AVX和XSAVE 203
5.7.4 AES新指令 205
5.7.5 完全暴露宿主机CPU特性 210
5.8 KVM安全 212
5.8.1 SMEP 212
5.8.2 控制客户机的资源使用—cgroups 213
5.8.3 SELinux和sVirt 220
5.8.4 可信任启动—Tboot 228
5.8.5 其他安全策略 237
5.9 QEMU监控器 241
5.9.1 QEMU monitor的切换和配置 241
5.9.2 常用命令介绍 242
5.10 qemu-kvm命令行参数 249
5.10.1 回顾已用过的参数 249
5.10.2 其他常用参数 253
5.11 迁移到KVM虚拟化环境 261
5.11.1 virt-v2v工具介绍 261
5.11.2 从Xen迁移到KVM 262
5.11.3 从VMware迁移到KVM 265
5.11.4 从VirtualBox迁移到KVM 266
5.11.5 从物理机迁移到KVM虚拟化环境(P2V) 266
5.12 本章小结 267
5.13 注释和参考阅读 268
第6章 KVM管理工具 272
6.1 libvirt 272
6.1.1 libvirt简介 272
6.1.2 libvirt的编译、安装和配置 275
6.1.3 libvirt和libvirtd的配置 281
6.1.4 libvirt域的XML配置文件 285
6.1.5 libvirt API简介 297
6.1.6 建立到Hypervisor的连接 299
6.1.7 libvirt API使用示例 303
6.2 virsh 308
6.2.1 virsh简介 308
6.2.2 virsh常用命令 310
6.3 virt-manager 316
6.3.1 virt-manager简介 316
6.3.2 virt-manager编译和安装 317
6.3.3 virt-manager使用 317
6.4 virt-viewer、virt-install和virt-top 324
6.4.1 virt-viewer 324
6.4.2 virt-install 325
6.4.3 virt-top 327
6.5 OpenStack云计算平台 327
6.5.1 OpenStack简介 327
6.5.2 使用DevStack安装和配置OpenStack开发环境 330
6.5.3 在OpenStack中使用KVM 332
6.6 本章小结 334
6.7 本章注释和参考阅读 334
第7章 Linux发行版中的KVM 336
7.1 RHEL和Fedora中的KVM 336
7.1.1 Red Hat、RHEL、Fedora和CentOS简介 336
7.1.2 RHEL中的KVM 337
7.1.3 Fedora中的KVM 338
7.2 SLES和openSUSE中的KVM 339
7.2.1 SLES中的KVM 339
7.2.2 openSUSE中的KVM 341
7.3 Ubuntu中的KVM 341
7.4 本章小结 343
7.5 本章注释和参考阅读 344
第8章 KVM性能测试及参考数据 345
8.1 虚拟化性能测试简介 345
8.2 CPU性能测试 347
8.2.1 CPU性能测试工具 347
8.2.2 测试环境配置 349
8.2.3 性能测试方法 350
8.2.4 性能测试数据 352
8.3 内存性能测试 354
8.3.1 内存性能测试工具 355
8.3.2 测试环境配置 356
8.3.3 性能测试方法 356
8.3.4 性能测试数据 357
8.4 网络性能测试 360
8.4.1 网络性能测试工具 360
8.4.2 测试环境配置 361
8.4.3 性能测试方法 362
8.4.4 性能测试数据 364
8.5 磁盘I/O性能测试 367
8.5.1 磁盘I/O性能测试工具 367
8.5.2 测试环境配置 368
8.5.3 性能测试方法 369
8.5.4 性能测试数据 370
8.6 本章小结 373
8.7 本章注释和参考阅读 373
第9章 参与KVM开源社区 375
9.1 开源社区介绍 375
9.1.1 Linux开源社区 375
9.1.2 KVM开源社区 377
9.1.3 QEMU开源社区 377
9.1.4 其他开源社区 378
9.2 代码结构简介 379
9.2.1 KVM代码 379
9.2.2 QEMU代码 381
9.2.3 KVM单元测试代码 383
9.2.4 KVM Autotest代码 385
9.3 向开源社区贡献代码 386
9.3.1 开发者邮件列表 386
9.3.2 代码风格 387
9.3.3 生成patch 391
9.3.4 检查patch 394
9.3.5 提交patch 396
9.4 提交KVM相关的bug 399
9.4.1 通过邮件列表提交bug 399
9.4.2 使用bug管理系统提交bug 401
9.4.3 使用二分法定位bug 401
9.5 本章小结 404
9.6 本章注释和参考阅读 404

教学资源推荐
作者: 杨颂华 熊海灵 主编 杨明 黄春伦 等编著
作者: [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著
作者: 顾治华 陈天煌 贺国平
参考读物推荐
作者: Bruce Eckel
作者: [瑞典]托尼·奥尔森(Tony Olsson) 著