KVM实战:原理、进阶与性能调优pdf下载

KVM实战:原理、进阶与性能调优百度网盘pdf下载

作者:
简介:KVM实战:原理、进阶与性能调优
出版社:机械工业出版社
出版时间:2019-02-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  这是一部兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。本书在逻辑上分为三大部分:第一部分 基础篇(第1~5章)以云计算、虚拟化的概念开篇,首先,详细介绍了KVM的原理和基础架构,以及KVM生产环境的构建;然后,详细讲解了libvirt、virsh、virt-manager等KVM主流管理工具,以及包括CPU、内存、存储、网络、图形界面等在内的各种核心基础功能。这部分内容将帮助读者打下扎实的KVM虚拟化技术基础。第二部分 进阶篇(第6~9章)从设备管理、内存管理、动态迁移、嵌套虚拟化、安全、CPU指令性能优化等几个特定的相对高阶的知识点详细展开。相信通过这部分内容的系统学习,读者可以对半虚拟化驱动、设备直接分配、设备热插拔、大页内存、NUMA、嵌套虚拟化、安全特性、CPU新指令集等一系列热门及高阶的名词和技术都会有比较深入的理解,并能培养起可以真正动手实践的能力。第三部分 性能测试与调优篇(第10章)从CPU、内存、网络、磁盘等各个方面来介绍性能评估工具与测试参考结果,同时介绍了CPU新指令(如AVX2等)、THP、KSM、NUMA等对性能的影响。读者可以根据本篇介绍的方法来对云服务器做性能评估,也可以对自己搭建的虚拟化环境做性能调优。
目录
版权信息
前言
第一篇 KVM虚拟化基础
第1章 虚拟化简介
1.1 云计算概述
1.1.1 什么是云计算
1.1.2 云计算的历史
1.1.3 云计算的几种服务模型
1.2 虚拟化技术
1.2.1 什么是虚拟化
1.2.2 软件虚拟化和硬件虚拟化
1.2.3 半虚拟化和全虚拟化
1.2.4 Type1和Type2虚拟化
1.3 KVM简介
1.3.1 KVM的历史
1.3.2 KVM的功能概览
1.3.3 KVM的现状
1.3.4 KVM的展望
1.4 其他的虚拟化解决方案简介
1.4.1 Xen
1.4.2 VMware
1.4.3 HyperV
1.4.4 Container
1.5 本章小结
第2章 KVM原理简介
2.1 硬件虚拟化技术
2.1.1 CPU虚拟化
2.1.2 内存虚拟化
2.1.3 I/O虚拟化
2.1.4 Intel虚拟化技术发展
2.2 KVM架构概述
2.3 KVM内核模块
2.4 QEMU用户态设备模拟
2.5 与QEMU/KVM结合的组件
2.6 KVM上层管理工具
2.7 本章小结
第3章 构建KVM环境
3.1 硬件系统的配置
3.2 安装宿主机Linux系统
3.3 编译和安装KVM
3.3.1 下载KVM源代码
3.3.2 配置KVM
3.3.3 编译KVM
3.3.4 安装KVM
3.4 编译和安装QEMU
3.4.1 曾经的qemu-kvm
3.4.2 下载QEMU源代码
3.4.3 配置和编译QEMU
3.4.4 安装QEMU
3.5 安装客户机
3.6 启动第一个KVM客户机
3.7 本章小结
第4章 KVM管理工具
4.1 libvirt
4.1.1 libvirt简介
4.1.2 libvirt的安装与配置
4.1.3 libvirt域的XML配置文件
4.1.4 libvirt API简介
4.1.5 建立到Hypervisor的连接
4.1.6 libvirt API使用示例
4.2 virsh
4.2.1 virsh简介
4.2.2 virsh常用命令
4.3 virt-manager
4.3.1 virt-manager简介
4.3.2 virt-manager编译和安装
4.3.3 virt-manager使用
4.4 virt-viewer、virt-install、virt-top和libguestfs
4.4.1 virt-viewer
4.4.2 virt-install
4.4.3 virt-top
4.4.4 libguestfs
4.5 云计算管理平台
4.5.1 OpenStack简介
4.5.2 ZStack简介
4.6 本章小结
第5章 KVM核心基础功能
5.1 硬件平台和软件版本说明
5.2 CPU配置
5.2.1 vCPU的概念
5.2.2 SMP的支持
5.2.3 CPU过载使用
5.2.4 CPU模型
5.2.5 进程的处理器亲和性和vCPU的绑定
5.3 内存配置
5.3.1 内存设置基本参数
5.3.2 EPT和VPID简介
5.3.3 内存过载使用
5.4 存储配置
5.4.1 存储配置和启动顺序
5.4.2 qemu-img命令
5.4.3 QEMU支持的镜像文件格式
5.4.4 客户机存储方式
5.5 网络配置
5.5.1 用QEMU实现的网络模式
5.5.2 使用直接的网桥模式
5.5.3 用网桥实现NAT模式
5.5.4 QEMU内部的用户模式网络
5.5.5 其他网络选项
5.6 图形显示
5.6.1 SDL的使用
5.6.2 VNC的使用
5.6.3 VNC显示中的鼠标偏移
5.6.4 非图形模式
5.6.5 显示相关的其他选项
5.7 本章小结
第二篇 KVM虚拟化进阶
第6章 KVM设备高级管理
6.1 半虚拟化驱动
6.1.1 virtio概述
6.1.2 安装virtio驱动
6.1.3 使用virtio_balloon
6.1.4 使用virtio_net
6.1.5 使用virtio_blk
6.1.6 内核态的vhost-net后端以及网卡多队列
6.1.7 使用用户态的vhost-user作为后端驱动
6.1.8 kvm_clock配置
6.1.9 对Windows客户机的优化
6.2 设备直接分配(VT-d)
6.2.1 VT-d概述
6.2.2 VFIO简介
6.2.3 VT-d环境配置
6.2.4 VT-d操作示例
6.2.5 SR-IOV技术
6.3 热插拔
6.3.1 PCI设备热插拔
6.3.2 PCI设备热插拔示例
6.3.3 CPU的热插拔
6.3.4 内存的热插拔
6.3.5 磁盘的热插拔
6.3.6 网卡接口的热插拔
6.4 本章小结
第7章 KVM内存管理高级技巧
7.1 大页
7.1.1 大页的介绍
7.1.2 KVM虚拟化对大页的利用
7.2 透明大页
7.3 KSM
7.3.1 KSM基本原理
7.3.2 KSM操作实践
7.3.3 QEMU对KSM的控制
7.4 与NUMA相关的工具
7.4.1 numastat
7.4.2 numad
7.4.3 numactl
7.5 本章小结
第8章 KVM迁移
8.1 动态迁移
8.1.1 动态迁移的概念
8.1.2 动态迁移的效率和应用场景
8.1.3 KVM动态迁移原理
8.1.4 KVM动态迁移实践
8.1.5 VT-d/SR-IOV的动态迁移
8.2 迁移到KVM虚拟化环境
8.2.1 virt-v2v工具介绍
8.2.2 从Xen迁移到KVM
8.2.3 从VMware迁移到KVM
8.2.4 从VirtualBox迁移到KVM
8.2.5 从物理机迁移到KVM虚拟化环境(P2V)
8.3 本章小结
第9章 其他高级功能
9.1 嵌套虚拟化
9.1.1 嵌套虚拟化的基本概念
9.1.2 KVM嵌套KVM
9.2 KVM安全
9.2.1 SMEP/SMAP/MPX
9.2.2 控制客户机的资源使用——cgroups
9.2.3 SELinux和sVirt
9.2.4 其他安全策略
9.3 CPU指令相关的性能优化
9.3.1 AVX/AVX2/AVX512
9.3.2 XSAVE指令集
9.3.3 AES新指令
9.3.4 完全暴露宿主机CPU特性
9.4 QEMU监控器
9.4.1 QEMU monitor的切换和配置
9.4.2 常用命令介绍
9.5 qemu命令行参数
9.5.1 回顾已用过的参数
9.5.2 其他常用参数
9.6 本章小结
第三篇 性能测试与调优
第10章 KVM性能测试及参考数据
10.1 虚拟化性能测试简介
10.2 CPU性能测试
10.2.1 CPU性能测试工具
10.2.2 测试环境配置
10.2.3 性能测试方法
10.2.4 性能测试数据
10.3 内存性能测试
10.3.1 内存性能测试工具
10.3.2 测试环境配置
10.3.3 性能测试方法
10.3.4 性能测试数据
10.4 网络性能测试
10.4.1 网络性能测试工具
10.4.2 测试环境配置
10.4.3 性能测试方法
10.4.4 性能测试数据
10.5 磁盘I/O性能测试
10.5.1 磁盘I/O性能测试工具
10.5.2 测试环境配置
10.5.3 性能测试方法
10.5.4 性能测试数据
10.6 CPU指令集对性能的提升
10.7 其他影响客户机性能的因素
10.8 本章小结
附录A Linux发行版中的KVM
附录B 参与KVM开源社区