深度实践KVM:核心技术、管理运维、性能优化与项目实施出版时间:2015内容简介 《深度实践KVM:核心技术、管理运维、性能优化与项目实施》在中国运维领域将具有“划时代”的重要意义:第一,作者团队是国内的KVM技术专家、虚拟化技术专家和运维专家,是国内第一批研究并将KVM应用到大规模生产环境的人;第二,书中的所有知识、经验和案例都来自金山、盛大等国内一线互联网公司,这些公司的业务规模巨大,生产环境复杂;第三,从核心技术、管理运维、性能优化、项目实施等多个维度系统、深入讲解KVM虚拟化技术的工作原理、应用方法和技术生态,并针对生产环境中的各种难题给出了解决方案;第四,本书内容得到了来自金山、盛大、阿里、猎豹移动、触控科技、英特尔、浪潮等大型IT企业的数十位VP和运维专家的高度认可,并联袂推荐。《深度实践KVM:核心技术、管理运维、性能优化与项目实施》共20章,分为五篇:第一篇(1~8章):虚拟化技术选型及KVM虚拟机技术,详细介绍了虚拟化技术的选型,KVM的CPU和内存虚拟化技术、磁盘虚拟化技术、网络虚拟化技术以及这些技术的生产环境应用场景,物理机转虚拟机,KVM的桌面虚拟化实践。第二篇(9~10章)开源分布式文件系统在KVM中的应用,详细讲解了常见的开源分布式文件系统在KVM环境中的使用,重点讲解比较热的Ceph文件系统,包括配置、使用及常见故障处理。第三篇(11~13章):开源的虚拟化管理平台在生产环境的实践经验,重点讲解了OpenStack、OpenNebula在生产环境的实践与故障处理,还有oVirt、CloudStack、Convirt、WebVirtMgr等几个管理平台的架构和理念。第四篇(14~21章):KVM虚拟化项目的实施及经验系统讲解了业务性能评估、压力模型建立、虚拟机性能测试、宿主机基准测试、业务测试环境测试验证、单机虚拟化技术、集群虚拟化技术、虚拟化正式环境上线等一套完整的虚拟化项目实施过程。第五篇(第22章)KVM虚拟化的典型案例讲解了KVM虚拟化过程中比较典型的一些案例,针对案例中的问题给出了解决思路和方法,方便读者在碰到类似的问题时找到解决方案。目录本书赞誉前 言第一篇 KVM技术详解与实践第1章 企业虚拟化选型与KVM介绍1.1 KVM的前世今生1.2 KVM与常用企业级虚拟化产品的PK1.3 判断企业是否适合使用KVM的标准1.4 本章小结第2章 开始自己的第一台虚拟机2.1 服务器BIOS设置2.2 宿主机CentOS 6.5、CentOS 7系统安装与配置技巧2.3 第一台虚拟机安装2.4 本章小结第3章 CPU、内存虚拟化技术与应用场景3.1 NUMA技术与应用3.1.1 KVM虚拟机NUMA调优3.1.2 CPU绑定操作方法3.2 CPU热添加与应用3.3 CPU host-passthrough 技术与应用3.4 CPU Nested 技术与配置方法3.5 KSM技术与应用3.6 内存气球技术详解与应用3.7 内存限制技术与应用3.8 巨型页内存技术与应用3.9 本章小结第4章 网络虚拟化技术与应用场景4.1 半虚拟化网卡技术详解4.1.1 半虚拟化网卡的配置4.1.2 全虚拟化网卡、半虚拟化网卡性能比较4.1.3 全虚拟化网卡、半虚拟化网卡的应用场景4.2 MacVTap和vhost-net技术原理与应用4.2.1 MacVTap技术与应用4.2.2 vhost_net技术4.3 网卡的中断与多队列4.4 网卡PCI Passthrough技术4.5 SR-IVO虚拟化技术4.6 虚拟化软件交换机Open vSwitch的安装与配置4.6.1 Open vSwitch安装4.6.2 Open vSwitch典型配置4.7 多网卡绑定与建桥4.8 本章小结第5章 KVM磁盘虚拟化技术与应用场景5.1 磁盘虚拟化方式性能比较与应用场景5.1.1 QEMU磁盘虚拟化方式概述5.1.2 IDE与Virtio性能比较测试5.2 Virtio磁盘缓存方式详解、性能比较与应用场景5.2.1 磁盘缓存详解5.2.2 缓存方式的性能比较测试5.2.3 缓存方式的应用场景5.3 磁盘镜像格式5.3.1 QEMU支持的磁盘镜像格式5.3.2 裸设备使用5.3.3 KVM虚拟机镜像管理利器guestfish5.3.4 raw、qcow2、裸盘、lvm性能比较5.3.5 磁盘镜像格式的应用场景5.4 文件系统块对齐5.4.1 什么是块对齐5.4.2 块对齐与块不对齐性能比较5.4.3 生产环境如何配置块对齐5.5 SSD在KVM虚拟化中的使用实践5.5.1 SSD原理与写放大5.5.2 SSD在KVM中的使用5.5.3 Flachcache配置与性能测试5.5.4 DM-cache配置5.5.5 LVM cache配置与性能测试5.5.6 生产环境中SSD使用要点5.6 本章小结第6章 KVM虚拟机的资源限制6.1 哪些场景要做虚拟机的资源限制6.2 使用CGroups6.3 KVM虚拟机CPU资源限制配置6.4 KVM虚拟机网络资源限制6.5 KVM虚拟机磁盘资源限制6.6 本章小结第7章 物理机转虚拟机实践7.1 哪些应用场景适合做物理机转虚拟机7.2 P2V的技术实施方案7.3 Windows系统物理机转虚拟机的操作方法7.3.1 WinPE的制作方法7.3.2 Windows系统P2V操作方法7.4 Linux物理服务器转换虚拟机操作7.5 使用virt-p2v工具进行P2V转换7.6 P2V经验总结7.7 关于V2V7.8 本章小结第8章 KVM桌面虚拟化实践8.1 桌面虚拟化简介及Spice协议8.2 桌面虚拟化实践经验8.3 本章小结第二篇 分布式文件系统第9章 几种常见开源文件系统在KVM中的应用9.1 演示环境基础配置9.2 DRBD在KVM中的应用9.2.1 DRBD介绍9.2.2 DRBD搭建方法及在KVM中的应用9.2.3 DRBD在KVM虚拟化中的优化方案9.3 GlusterFS在KVM虚拟化中的应用9.3.1 GlusterFS介绍9.3.2 GlusterFS集群搭建与使用9.3.3 GlusterFS在KVM虚拟化中的应用9.3.4 GlusterFS在KVM虚拟化中的优化方案9.4 Sheepdog在KVM中的应用9.4.1 Sheepdog介绍9.4.2 Sheepdog搭建方法及在KVM中的应用9.5 MooseFS在KVM中的应用9.5.1 MooseFS介绍9.5.2 MFS搭建方法及在KVM虚拟化中的应用9.6 本章小结第10章 Ceph在KVM虚拟化中的应用与故障处理10.1 Ceph简介10.2 Ceph部署方法及在KVM中的应用10.2.1 使用ceph-deploy工具部署Ceph10.2.2 挂载CephFS10.2.3 通过Librbd方式使用Ceph RBD10.2.4 使用内核方式挂载并使用Ceph RBD10.3 CRUSH算法介绍及调优方法10.3.1 CRUSH算法介绍10.3.2 CRUSH算法调优方法10.4 多角度评估Ceph在KVM虚拟化环境中的应用10.5 Ceph生产环境搭建案例10.5.1 使用CephFS集中备份虚拟机10.5.2 使用Librbd将虚拟机运行在Ceph RBD10.5.3 在CephFS上创建qcow2文件作为云硬盘10.6 Ceph常见故障处理10.6.1 Ceph集群监控状态检查10.6.2 Ceph常见错误提示的含义与处理方法10.7 本章小结第三篇 KVM虚拟化管理平台第11章 利用OpenStack管理KVM11.1 OpenStack搭建11.1.1 OpenStack简介11.1.2 控制节点的安装11.1.3 计算节点的安装11.2 OpenStack实用技巧11.2.1 RabbitMQ Cluster搭建11.2.2 利用Haproxy和Keepalived实现控制节点高可用11.2.3 冷迁移虚拟机的方法11.3 本章小结第12章 利用OpenNebula管理KVM12.1 OpenNebula架构12.1.1 OpenNebula架构介绍12.1.2 OpenNebula组件介绍12.2 在KVM中使用OpenNebula12.2.1 在CentOS 6.5上快速搭建OpenNebula12.2.2 使用OpenNebula创建第一台KVM虚拟机12.2.3 使虚拟机硬盘创建在宿主机本地硬盘上12.3 OpenNebula常见故障处理12.4 本章小结第13章 其他管理平台介绍13.1 ConVirt管理平台介绍13.1.1 ConVirt的理念13.1.2 ConVirt的架构13.2 CloudStack管理平台介绍13.3 oVirt管理平台介绍13.4 WebVirtMgr管理平台介绍13.5 如何选择管理平台13.6 本章小结第四篇 KVM虚拟化项目实施第14章 业务性能评估与压力模型建立14.1 Linux 系统性能数据采集原则与方法14.2 Linux 系统压力模型建立14.3 Windows系统性能数据采集原则与方法14.4 Windows 系统压力模型建立14.5 本章小结第15章 宿主机选型与基础性能测试15.1 宿主机CPU选型原则15.2 宿主机内存选型注意事项15.3 宿主机硬盘选型15.4 RAID卡选型15.5 服务器网卡选型15.6 宿主机性能基准测试实践15.7 本章小结第16章 虚拟机镜像制作、配置与测试16.1 Windows虚拟机制作方法16.1.1 Windows镜像制作16.1.2 Windows虚拟机sysprep初始化封装16.2 Linux镜像制作方法16.2.1 RHEL/CentOS镜像制作方法16.2.2 Ubuntu、Debian虚拟机配置注意点16.3 虚拟机自动配置IP的实现办法16.3.1 通过DHCP给虚拟机配置IP16.3.2 通过Libvirt实现虚拟机自动配置IP16.3.3 笔者生产环境虚拟机IP自动配置的方法16.4 虚拟机镜像测试16.5 本章小结第17章 单机虚拟化技术与生产环境实践17.1 单机虚拟化技术与应用场景17.1.1 单机虚拟化的优势和劣势17.1.2 单机虚拟化技术17.1.3 单机虚拟化应用场景17.2 单机虚拟化生产环境注意点17.2.1 单机虚拟化灾备与应急方案17.2.2 单机虚拟化生产环境部署实践17.3 本章小结第18章 KVM虚拟化集群技术与应用场景18.1 虚拟化集群设计思路与架构18.2 虚拟化集群的实施流程与技术方案18.3 虚拟化集群搭建18.3.1 计算节点配置与管理18.3.2 网络设计与配置18.3.3 虚拟机迁移管理18.3.4 虚拟化集群的备份与恢复18.4 Dell EqualLogic存储的管理实践经验18.5 本章小结第19章 业务迁移到虚拟化环境流程19.1 性能评估与测试环境测试19.2 上线前的检查工作19.3 小规模部署及逐步切换到虚拟化环境19.4 本章小结第20章 宿主机自动化运维管理20.1 Puppet简介与安装部署20.2 利用Puppet管理宿主机的运维架构设计20.3 利用Puppet配置宿主机初始化操作20.4 利用Puppet管理宿主机配置与更新20.5 利用Puppet推送宿主机的非一致性配置20.6 本章小结第21章 虚拟化监控、报警与应急响应方案21.1 虚拟化监控内容21.1.1 宿主机CPU监控要点21.1.2 宿主机内存监控注意点21.1.3 宿主机网络监控注意点21.1.4 宿主机磁盘监控注意点21.1.5 宿主机层面监控虚拟机的方法21.2 监控软件Cacti、Zabbix21.2.1 用Cacti监控宿主机21.2.2 用Zabbix监控宿主机21.3 应急方案21.3.1 应急方案制定注意要点21.3.2 单机虚拟化应急方案21.3.3 集群虚拟化应急方案21.4 本章小结第五篇 KVM虚拟化典型案例第22章 生产环境问题案例与分析22.1 游戏在虚拟机上非常慢的案例22.2 虚拟机流量过高引起网络风暴的案例一22.3 虚拟机流量过高引起网络风暴的案例二22.4 其他生产环境问题案例22.4.1 共享存储集群虚拟机迁移故障案例22.4.2 宿主机异常关机后虚拟机无法启动案例22.4.3 宿主机使用CentOS 5.6系统问题案例22.4.4 Windows虚拟机网络闪断、不通问题案例22.4.5 Windows 7虚拟机只能使用2个CPU案例22.4.6 生产环境非常奇怪的一个案例22.4.7 U盘在虚拟机上挂载问题案例22.4.8 HP ILO4固件Bug引起宿主机重启案例22.4.9 一次机房断电引起的问题案例22.4.10 CPU绑定问题案例22.4.11 生产环境存储故障导致50个虚拟机丢失案例22.4.12 生产环境Ubuntu虚拟机故障问题案例22.5 本章小结附录 笔者推荐的KVM学习资料 上一篇: 正则表达式经典实例 下一篇: Android进阶之光