KVM实战:原理、进阶与性能调优
2020-04-21 10:13:31 0 举报
AI智能生成
KVM实战:原理、进阶与性能调优
作者其他创作
大纲/内容
附录A Linux发行版中的KVM
A.1 RHEL和Fedora中的KVM
A.2 SLES和openSUSE中的KVM
A.3 Ubuntu中的KVM
附录B 参与KVM开源社区
B.1 开源社区介绍
B.2 代码结构简介
B.3 向开源社区贡献代码
B.4 提交KVM相关的bug
第一篇 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 本章小结
0 条评论
下一页