《KVM实战》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:任永杰,程舟著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111619819
  • 页数:444 页
图书介绍:本书是一本Linux KVM虚拟化技术专著,由Intel虚拟化技术部门资深虚拟化技术专家和KVM研究者撰写。书中系统介绍了KVM虚拟机的功能、特性和使用方法,深入剖析KVM虚拟机的核心技术和原理。本书共分为10章,从基本的概念开始介绍,逐步延伸到各种组件、工具链、硬件环境、上层软件、客户机系统、半虚拟化、内存大页、迁移、优化、测试等各个方面。 附录部分还对Linux发行版中的KVM、参与KVM开源社区进行了介绍。

第一篇 KVM虚拟化基础 2

第1章 虚拟化简介 2

1.1云计算概述 2

1.1.1什么是云计算 2

1.1.2云计算的历史 4

1.1.3云计算的几种服务模型 5

1.2虚拟化技术 6

1.2.1什么是虚拟化 6

1.2.2软件虚拟化和硬件虚拟化 7

1.2.3半虚拟化和全虚拟化 8

1.2.4 Type 1和Type2虚拟化 8

1.3 KVM简介 9

1.3.1 KVM的历史 9

1.3.2 KVM的功能概览 10

1.3.3 KVM的现状 12

1.3.4 KVM的展望 13

1.4其他的虚拟化解决方案简介 14

1.4.1 Xen 14

1.4.2 VMware 14

1.4.3 HyperV 16

1.4.4 Container 17

1.5本章小结 17

第2章 KVM原理简介 18

2.1硬件虚拟化技术 18

2.1.1 CPU虚拟化 18

2.1.2内存虚拟化 20

2.1.3 I/O虚拟化 22

2.1.4 Intel虚拟化技术发展 24

2.2 KVM架构概述 25

2.3 KVM内核模块 26

2.4 QEMU用户态设备模拟 27

2.5与QEMU/KVM结合的组件 28

2.6 KVM上层管理工具 30

2.7本章小结 31

第3章 构建KVM环境 32

3.1硬件系统的配置 32

3.2安装宿主机Linux系统 34

3.3编译和安装KVM 37

3.3.1下载KVM源代码 37

3.3.2配置KVM 39

3.3.3编译KVM 43

3.3.4安装KVM 44

3.4编译和安装QEMU 46

3.4.1曾经的qemu-kvm 46

3.4.2下载QEMU源代码 47

3.4.3配置和编译QEMU 47

3.4.4安装QEMU 49

3.5安装客户机 50

3.6启动第一个KVM客户机 53

3.7本章小结 53

第4章 KVM管理工具 55

4.1 libvirt 55

4.1.1 libvirt简介 55

4.1.2 libvirt的安装与配置 58

4.1.3 libvirt域的XML配置文件 63

4.1.4 libvirt API简介 76

4.1.5建立到Hypervisor的连接 78

4.1.6 libvirt API使用示例 82

4.2 virsh 87

4.2.1 virsh简介 87

4.2.2 virsh常用命令 88

4.3 virt-manager 95

4.3.1 virt-manager简介 95

4.3.2 virt-manager编译和安装 96

4.3.3 virt-manager使用 96

4.4 virt-viewer、 virt-install、 virt-top和libguestfs 105

4.4.1 virt-viewer 105

4.4.2 virt-install 106

4.4.3 virt-top 107

4.4.4 libguestfs 107

4.5云计算管理平台 109

4.5.1 OpenStack简介 109

4.5.2 ZStack简介 111

4.6本章小结 111

第5章 KVM核心基础功能 112

5.1硬件平台和软件版本说明 112

5.2 CPU配置 114

5.2.1 vCPU的概念 115

5.2.2 SMP的支持 116

5.2.3 CPU过载使用 123

5.2.4 CPU模型 124

5.2.5进程的处理器亲和性和vCPU的绑定 127

5.3内存配置 131

5.3.1内存设置基本参数 132

5.3.2 EPT和VPID简介 133

5.3.3内存过载使用 136

5.4存储配置 137

5.4.1存储配置和启动顺序 137

5.4.2 qemu-img命令 142

5.4.3 QEMU支持的镜像文件格式 145

5.4.4客户机存储方式 149

5.5网络配置 150

5.5.1用QEMU实现的网络模式 151

5.5.2使用直接的网桥模式 154

5.5.3用网桥实现NAT模式 161

5.5.4 QEMU内部的用户模式网络 170

5.5.5其他网络选项 174

5.6图形显示 175

5.6.1 SDL的使用 175

5.6.2 VNC的使用 177

5.6.3 VNC显示中的鼠标偏移 186

5.6.4非图形模式 187

5.6.5显示相关的其他选项 189

5.7本章小结 191

第二篇 KVM虚拟化进阶 194

第6章 KVM设备高级管理 194

6.1半虚拟化驱动 194

6.1.1 virtio概述 194

6.1.2安装virtio驱动 196

6.1.3使用virtio balloon 203

6.1.4使用virtio net 208

6.1.5使用virtio blk 210

6.1.6内核态的vhost-net后端以及网卡多队列 212

6.1.7使用用户态的vhost-user作为后端驱动 215

6.1.8 kvm clock配置 216

6.1.9对Windows客户机的优化 218

6.2设备直接分配(VT -d) 219

6.2.1 VT -d概述 219

6.2.2 VFIO简介 220

6.2.3 VT -d环境配置 221

6.2.4 VT-d操作示例 230

6.2.5 SR-IOV技术 240

6.3热插拔 251

6.3.1 PCI设备热插拔 252

6.3.2 PCI设备热插拔示例 253

6.3.3 CPU的热插拔 259

6.3.4内存的热插拔 260

6.3.5磁盘的热插拔 264

6.3.6网卡接口的热插拔 265

6.4本章小结 266

第7章 KVM内存管理高级技巧 268

7.1大页 268

7.1.1大页的介绍 268

7.1.2 KVM虚拟化对大页的利用 271

7.2透明大页 274

7.3 KSM 277

7.3.1 KSM基本原理 278

7.3.2 KSM操作实践 280

7.3.3 QEMU对KSM的控制 286

7.4与NUMA相关的工具 288

7.4.1 numastat 289

7.4.2 numad 290

7.4.3 numactl 294

7.5本章小结 295

第8章 KVM迁移 297

8.1动态迁移 297

8.1.1动态迁移的概念 297

8.1.2动态迁移的效率和应用场景 298

8.1.3 KVM动态迁移原理 299

8.1.4 KVM动态迁移实践 302

8.1.5 VT-d/SR-IOV的动态迁移 306

8.2迁移到KVM虚拟化环境 307

8.2.1 virt-v2v工具介绍 307

8.2.2从Xen迁移到KVM 308

8.2.3从VMware迁移到KVM 310

8.2.4从VirtualBox迁移到KVM 311

8.2.5从物理机迁移到KVM虚拟化环境(P2V) 312

8.3本章小结 313

第9章 其他高级功能 314

9.1嵌套虚拟化 314

9.1.1嵌套虚拟化的基本概念 314

9.1.2 KVM嵌套KVM 315

9.2 KVM安全 318

9.2.1 SMEP/SMAP/MPX 318

9.2.2控制客户机的资源使用——cgroups 319

9.2.3 SELinux和sVirt 327

9.2.4其他安全策略 336

9.3 CPU指令相关的性能优化 340

9.3.1 AVX/AVX2/AVX512 340

9.3.2 XSAVE指令集 342

9.3.3 AES新指令 343

9.3.4完全暴露宿主机CPU特性 349

9.4 QEMU监控器 351

9.4.1 QEMU monitor的切换和配置 351

9.4.2常用命令介绍 352

9.5 qernu命令行参数 358

9.5.1回顾已用过的参数 358

9.5.2其他常用参数 363

9.6 本章小结 372

第三篇 性能测试与调优 374

第10章 KVM性能测试及参考数据 374

10.1虚拟化性能测试简介 374

10.2 CPU性能测试 376

10.2.1 CPU性能测试工具 376

10.2.2测试环境配置 378

10.2.3性能测试方法 381

10.2.4性能测试数据 382

10.3内存性能测试 384

10.3.1内存性能测试工具 384

10.3.2测试环境配置 385

10.3.3性能测试方法 385

10.3.4性能测试数据 387

10.4网络性能测试 388

10.4.1网络性能测试工具 388

10.4.2测试环境配置 389

10.4.3性能测试方法 391

10.4.4性能测试数据 393

10.5磁盘I/O性能测试 394

10.5.1磁盘I/O性能测试工具 394

10.5.2测试环境配置 395

10.5.3性能测试方法 397

10.5.4性能测试数据 400

10.6 CPU指令集对性能的提升 403

10.7其他影响客户机性能的因素 405

10.8本章小结 407

附录A Linux发行版中的KVM 408

附录B参与KVM开源社区 417