首页>参考读物>计算机科学与技术>计算机网络

深度实践KVM:核心技术、管理运维、性能优化与项目实施
作者 : 肖力 汪爱伟 杨俊俊 赵德禄 著
出版日期 : 2015-08-26
ISBN : 978-7-111-51193-9
定价 : 95.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 559
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书分为五篇。
第一篇介绍虚拟化选型及KVM虚拟机技术,包含八章,介绍实施虚拟化可以带给我们那些收益,KVM虚拟化CPU、内存、磁盘、网络技术及生产环境应用场景,物理机转虚拟机、KVM桌面虚拟化实践。
第二篇 介绍开源分布式文件系统在KVM虚拟化的的应用,包含两章,介绍一些常见的开源分布式文件系统如何在KVM环境使用,重点详细介绍最近一两年比较热的CEPH文件系统,包括配置、使用、及常见故障处理。
第三篇 介绍开源的虚拟化管理平台在生产环境的实践经验,包含三章,重点介绍OPENSTACK、OPENNEBULA在生产环境的实践及故障处理,还有OVIRT、CLOUDSTACK、 CONVIRTURE几个管理平台的概念。
第四篇 介绍KVM虚拟化项目实施经验,包含八章,介绍业务性能评估、压力模型建立、虚拟机性能测试、宿主机基准测试、业务测试环境测试验证、单机虚拟化技术、集群虚拟化技术、虚拟化正式环境上线等一套完整的虚拟化项目实施过程。
第五篇 介绍KVM虚拟化过程中比较典型的一些案例,包含四章,主要介绍一些在生产环境中的案例及解决思路、方法,方便读者碰到类似的问题时找到解决方案。

图书特色

内容简介

本书在中国运维领域将具有“划时代”的重要意义:第一,作者团队是国内顶尖的KVM技术专家、虚拟化技术专家和运维专家,是国内第一批研究并将KVM应用到大规模生产环境的人;第二,书中的所有知识、经验和案例都来自金山、盛大等国内一线互联网公司,这些公司的业务规模巨大,生产环境复杂;第三,从核心技术、管理运维、性能优化、项目实施等多个维度系统、深入讲解KVM虚拟化技术的工作原理、应用方法和技术生态,并针对生产环境中的各种难题给出了解决方案;第四,本书内容得到了来自金山、盛大、阿里、猎豹移动、触控科技、英特尔、浪潮等大型IT企业的数十位VP和运维专家的高度认可,并联袂推荐。
本书共22章,分为五篇:
第一篇(第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已经非常成熟和稳定,逐渐取代Xen等商业虚拟化技术和产品,成为该领域事实上的标准。因为采用KVM技术的业务规模都比较大,生产环境大多比较复杂,加上KVM整个技术生态中涉及的技术较多,使用起来有一定的门槛,企业的学习成本较高。
当KVM技术在国内鲜有人使用时,本书作者团队就开始钻研并在生产环境中使用,短短几年内,就为公司节省了上亿的运营成本,帮助公司多个处于生命周期末的游戏项目实现扭亏为盈。本书中所有的知识和经验都来自国内一线的互联网公司的生产环境,比如金山西山居、盛大游戏等,最大的特点就是业务规模大、环境复杂,非常具有代表性,极为珍贵。
本书从多个维度详细讲解了KVM虚拟化原理、技术及性能调优、软硬件选型,生产环境虚拟化项目实施方法,开源管理平台介绍及部署,虚拟化后端存储方案,开源分布式文件系统GlusterFS、Ceph在虚拟化中的使用方法,虚拟化监控、报警、应急方案的制定,并附有大量生产环境案例。
作者简介
肖力 资深运维专家,拥有15年运维经验,就职于金山西山居,担任系统运维经理,曾就职于盛大游戏,在运维圈有极大的影响力。国内最顶尖的KVM专家之一,从2009年开始研究KVM技术,是国内较早在生产环境大规模实践KVM的人之一,积累了非常丰富的经验。
热衷于技术传播,一直在无私地为运维领域的发展做贡献,维护有微信订阅号“KVM虚拟化实践”,分享了大量KVM和运维领域的干货内容,同时还运营着多个运维相关的微信群。此外,他还是华章“运维前线”系列图书的总策划,无偿地在组织大量愿意无私分享经验的运维工程师们来参与写作。
汪爱伟 资深运维专家,安居客资深系统工程师,曾就职于阿里云、UCloud、盛大游戏等知名互联网公司。对KVM技术有深入的研究,在虚拟化集群方面有丰富的生产环境经验,擅长KVM虚拟化项目的实施和运维。
杨俊俊 资深虚拟化技术专家和运维工程师,就职于盛大,担任盛大游戏公有云“G云”运维负责人和Intel联合实验室技术负责人,曾任职51.com,精通虚拟化项目的评估与实施,精通开源分布式文件系统在生产环境的运维与实践。
赵德禄 资深运维工程师和虚拟化工程师,就职于携程,担任高级云平台运维工程师,曾就职于盛大游戏,担任资深虚拟化工程师。 精通KVM、OpenStack、Open vSwitch、桌面虚拟化等技术,在生产环境下的实践经验非常丰富。

图书前言

目前,国内新一代的公有云底层采用的都是KVM,据笔者了解,国内原来一些采用Xen的公有云也逐步在向KVM迁移。许多企业的私有云项目招标中,已经明确要求使用KVM。在全球范围内,OpenStack就是云建设的标准,而当前OpenStack底层默认就是KVM。经过几年的快速发展,KVM技术已经非常成熟稳定,在任何Linux发行版中,KVM都是标配。虚拟化已经成为一项必备的技术技能,而学习Linux就必须学习KVM。
为什么写这本书
2009年,当虚拟化在互联网业内鲜有使用时,我们虚拟化小组在国内已经在生产环境率先开始KVM虚拟化技术的探索。通过实施虚拟化,我们几年内为公司节省了上亿元的运营成本,帮助公司多个处于生命周期末的游戏项目实现扭亏为盈。
当时,KVM还是一个小众产品,国内文档较少,我们只能通过钻研国外的英文资料甚至阅读源代码来学习。RedHat是KVM的重要支持者,因此与其公司RHEL系统同源的CentOS成为了研究KVM的重要资料。从当时刚发布的CentOS 5.5版本开始,我们一路追随CentOS系统的升级,每有一个版本发布,我们都要测试评估新的KVM虚拟化特性,然后逐步在生产环境部署,这样的工作方法一直持续到最新的CentOS 6.6及CentOS 7.1。这也是我们小组人员快速成长的一个阶段,我们对KVM技术的热爱一直保持了下来,我们在周围普及KVM技术的热情一直没有改变。
时至今日,KVM经过几年的快速发展,已经成为了最炙手可热的虚拟化引擎,国内新一代的公有云全部选择了KVM。而与KVM如火如荼的发展形成鲜明对比的是中文资料依然匮乏,尤其是介绍实践经验的资料。在我们周围和各种技术论坛上,经常碰到一些运维工程师,在实施一个KVM虚拟化项目时,不知道从哪里开始;也碰到对KVM技术感兴趣的运维人员在重复问一些相近的问题。于是,我们几个人萌生了一个想法,为什么不把我们的KVM项目运维实践经验一一记录下来,分享给大家。与此同时,我们也犹豫过,因为有许多问题我们也并未完全理解。但是,经过认真思考后的我们认为,即便在这种情况下,我们几年积累下来的实践经验对于想要了解和学习KVM虚拟化技术的工程师来说也是非常有意义的,毕竟实践更能检验真理。回想当初自己遇到问题的时候,我们也得到了一些论坛朋友、圈内专家的热心解答。互联网精神崇尚开放,这更加坚定了我们创作此书的决心。我们愿意将自己对KVM技术的理解和认识,以及在KVM虚拟化中解决问题的思路和方法分享出来,让大家少走一些我们走过的弯路,同时能够与所有运维工程师共同学习提升!
本书特色
本书是KVM一线项目运维实践经验总结,在KVM CPU、内存、网络、磁盘方面拥有丰富的技术积累,在KVM虚拟化开源分布式与商业存储、KVM桌面虚拟化方面有的大量实践,我们还会指出踩过的“技术坑”,这些都是弥足珍贵的经验。
本书对Linux系统和虚拟化有一定了解,但是对KVM不了解或者是了解不多,而准备在测试或者生产环境部署KVM虚拟化的读者,本书会介绍虚拟化项目如何评估、如何逐步实施,并介绍相关的技术与运维实践,希望对读者的生产环境虚拟化实施有所帮助。
对于正在做KVM虚拟化日常运维的读者,本书有相应的技术、实践经验、问题案例分享,便于这些读者碰到相似的问题时查询或者找到解决思路。
本书面向的读者
KVM已经是Linux系统的标配,是Linux的必备技能,希望本书对广大Linux从业者能够有所帮助。
本书适用于以下读者:
Linux系统工程师。
从事Linux虚拟化开发的程序员。
虚拟化工程师。
IDC机房管理员。
有志于从事虚拟化的在校大学生。
如何阅读本书
本书分为五篇。
第一篇(第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_virt”二维码为:

欢迎读者扫描关注,“KVM虚拟化实践”会定时发布笔者对KVM虚拟化新的认识和经验总结。也欢迎读者通过这个微信订阅号和笔者交互,书中的勘误和更新也会通过这个订阅号发布。
致谢
感谢盛大游戏高级总监陈桂新,盛大游戏副总监、G云COO冯祯旺对我们的支持,我们四个人都曾经或者现在在盛大游戏虚拟化小组工作,桂总、冯总一路上支持我们,坚定地支持我们沿着KVM的方向前进,即使中间碰到多次挫折。回首看,我们坚持了下来,也很高兴我们这些年的成果终于开花结果,孵化出了G云(www.gicloud.com.cn),一款专门针对游戏行业物理机和云主机的混合云。
感谢金山西山居运维总监赫宝生对本书写作的鼓励和支持。感谢金山西山居运维架构师刘宇对本书的帮助和建议。
感谢曾经在盛大游戏虚拟化小组工作过的刘晓光、秦洁、杨树林,感谢现在还在盛大游戏虚拟化小组工作的夏学峰、闫强,这本书也是我们所有人的经验总结。
感谢盛大游戏网络技术负责人、G云网络架构师苏永华,金山西山居资深网络工程师李正奇在网络方面的支持和帮助。
感谢金山西山居资深系统工程师、Zabbix权威专家薛群在宿主机监控方面的帮助。
特别感谢金山西山居高级系统工程师赵斌,提供了部分虚拟化生产环境实践案例及测试结果。
感谢盛大游戏资深工程师杨帆、季青、武文对我们在服务器知识方面的支持和帮助。
感谢国内顶尖的数据库专家叶金荣在本书成书过程中的支持和协助。
感谢机械出版社的杨福川和高婧雅,福川兄出版了一系列互联网技术图书,在认识福川兄之前,我们已经购买了多本福川兄出版的书,和福川兄的合作是我们的梦想。相信随着时间的推移,会有更多的人认识到福川兄对中国互联网技术巨大的贡献。高婧雅编辑的专业、细致、认真、耐心令我们非常敬佩,和高婧雅合作的大半年内,我们受益匪浅,很感谢、很庆幸有机会和杨兄、高编辑合作。
致我们的家人
感谢我的舅舅、舅妈、表哥、表姐,你们对我的人生观影响很大;感谢我的父亲、母亲,是你们一直在默默支持我;感谢我妻子和女儿一直以来的理解和支持,你们是我的动力。
——肖力,2015年6月
感谢父母辛苦的培养,没有你们就没有今天的我。感谢老婆在我一无所有的时候默默陪在我的身边,还有可爱的儿子,你们是我一直前进的动力。
——汪爱伟,2015年6月
感谢生我养我的父亲母亲,这些年,你们辛苦了,儿子长大了,你们却老了。感谢所有一路和我走过来的人,你们的支持和信任,给了我前进的勇气和力量。感谢相信我,愿意和我一路走下去的人,无论明天怎样,我都希望一路有你。
——杨俊俊,2015年6月
参与这本书的写作对我来说非常荣幸,首先要感谢肖力等前辈传授经验并耐心支持,其次还要感谢家人对我业余时间不能陪伴的理解!
——赵德禄,2015年6月

专家评论

这本书干货太多,都是作者亲身经历和经验之分享,运维人说实话,做实事,拒绝浮夸,在这本书体现得很好,希望能引起你的共鸣。
——赫宝生,金山西山居运维总监
云计算是一个令人兴奋的领域,作者在书中系统、详尽且量化地总结了一系列的方法与准则,这些方法与准则都在盛大游戏中进行过大规模的应用实践,不仅实用且大大开拓了读者视野。
更难能可贵的是,作者肖力是一位很注重实践和乐意分享的人。他发自内心、长期热爱这份事业,这一点在盛大游戏任职期间表现得淋漓尽致,盛大游戏G云的发展也得益于肖力及其团队对技术的深刻理解与不断探索。我相信,正是这份质朴的热爱和执著的追求成就了这本极具含金量的专业书籍。感谢他为盛大游戏所做的贡献,同时,诚挚分享此书给所有相关从业人员,希望更多的朋友能精读此书,从中得到更多启发和借鉴,一起成为云计算的弄潮儿。
——陈桂新,盛大游戏G云负责人、技术保障高级总监
很高兴看到越来越多的朋友加入云计算的大军,但对技术人员来说,从理论、实现到支撑业务会遇到不少的挑战。肖力、俊俊等把G云在技术方面走过的路、踩过的坑总结并分享出来,对有志于加入这个领域的同学有很大的实用参考价值。
感谢本书作者肖力、俊俊、爱伟和德禄对盛大游戏G云做出的贡献,G云正是在你们的努力下一步步成长起来,并成为用户首选的、高性价比的定制云的。
——冯祯旺,盛大游戏G云COO、技术保障副总监
在这个风起云涌的年代,虚拟化是各家云公司的核心和门槛。可以说没有虚拟化就谈不上IaaS的云服务。该书很好地诠释了时下最流行的Hypervisor——KVM的前生与今世,并且由浅入深,从实战的角度展现给读者怎么搭建、使用、运维大规模的KVM集群,非常值得读者深入研读。
——宋伟,金山云合伙人、技术VP、政企事业部总经理
KVM技术虽已出现多年,并在云计算浪潮中发挥重要作用,但相关技术深度实践的书籍并不多见。本书作者为国内KVM技术早期研究者及实践者之一,本书内容由浅入深、图文并茂,适合各种级别的KVM技术人员查阅学习。
——萧田国,触控科技运维总监、InfoQ金牌专栏《高效运维最佳实践》作者
不管你是否承认云时代已经来临,VMware、Xen、KVM、Docker等虚拟机技术层出不穷,KVM作为内核级的虚拟化技术,一直受到很多工程师的青睐,不管是性能还是安全性都算是其中的佼佼者。
本书作者有多年KVM运维实践经验,把自己对KVM的理解及工作中遇到的问题,通过这本书深入浅出地告诉大家,特别是还介绍了Ceph和OpenStack等案例,希望大家看完这本书后可以对KVM有一个新的认识,对虚拟化技术有一个新的认识。
——南非蜘蛛,开源爱好者
认识肖力已经很长时间,从盛大游戏时期参与建设盛大G云的前身,到如今在西山居从事游戏虚拟化工作,肖力是我在业界见过为数不多的既有实操能力,又有宏观格局,同时具备海量运维经验的云计算从业者。作为国内最早一批KVM实践者,本书是肖力多年实战经验和思考的积累,站在应用者的角度剖析了利用KVM建设私有云平台的过程和经验,这本书不仅适合KVM爱好者,对于所有的云计算爱好者和从业人员都大有裨益,郑重推荐。
——吴磊,阿里云多媒体云总经理,兼通用业务总监
现在是思维横行的时代,我们每天在微博和朋友圈刷着各种信息,很容易变得浮躁。认识老肖快十年了吧,从盛大到西山居,一直在踏踏实实地研究虚拟化相关领域,可以说在老肖身上能看到互联网运维圈子里出来的人所固有的执着与沉静。
其实,现在这类技术书籍很多,但这本书的宝贵之处在于是一群互联网资深匠者,以真诚与严谨的方式,对待自己孩子般地去雕琢技术细节,里面珍贵的经验或许可以帮助我们少踩很多坑。而更重要的是,你在这里收获的不仅仅是技术,还有互联网资深老兵的经验和感悟。本书是适合从事互联网行业以及服务器领域的技术工程师们仔细研读的一部作品。
——李刚,浪潮互联网行业部技术总监
随着近些年互联网的发展,虚拟化技术的日益成熟,虚拟化和云也逐步被大家接受和应用。
伴随需求的增长,公有云厂商也不断崛起和扩大。海外的亚马逊云、RackSpace、谷歌云、微软云,都在拓展中国市场;国内的阿里云、金山云、盛大云、腾讯云、UCloud也日渐壮大,还有百花齐放的私有云,甚至近两年流行的容器技术,这些现象向我们暗示着未来的技术走向。
虚拟化作为云服务的基石,其重要性不言而喻。或许你很早就知道VMware,然后可能你开始听说Xen/Citrix、Hyper-V。没错,然后KVM横空出世,一发不可收拾!
相信现在的运维、开发或测试人员,或多或少会用到虚拟化。无论你使用哪种虚拟化方案,KVM作为当下主流的虚拟化方案都值得你去了解和学习。
肖力同学专注于虚拟化工作多年,有着极其丰富的实战经验。善于总结和分享的他,提笔撰写本书必定会成为KVM运维技术的经典之作。
本书涵盖知识面非常广,能很好地拆分讲解并实现由浅入深,可用“从入门到精通”来形容。开篇介绍了虚拟化选型和KVM的发展史,让读者很容易融入进来;接下来,很贴切地从“第一台虚拟机”开始动手实战;然后,分类解读各种虚拟化技术及应用场景、怎样做资源控制;而后接地气地介绍了物理机转换到虚拟机的实践以及桌面虚拟化实践。实现了从技术的基本介绍深入到“你想用,怎么做”的自然延伸。
第二篇介绍分布式文件系统,是云平台的另一个基础组件,和KVM密不可分。文中详细介绍了各大主流分布式存储系统与KVM的结合使用,分布式存储完善KVM的健壮性,同时保证数据的安全性。随后,高大上地介绍了主流的KVM管理平台,以及虚拟化项目实施的实践经验分享。本书内容丰富精彩、层次清晰,无论初学者还是“老司机”,都能从中受益。
——胡凯,猎豹移动运维总监
“基石”这个词,可以形象地描述开源虚拟化技术对互联网的价值,也代表着互联网基础设施技术的未来。但“开源”对普通的技术人员来说,意味着需要在缺乏路标的海洋中航行。
这本书难得之处在于,是由一群奋战在互联网第一线的牛人总结的经验宝典,本书的内容,让我不断回想起多年来和各个互联网公司的小伙伴们在虚拟化技术实验、部署、侦错、管理过程中不下几百次的各种研讨,历历在目。他们成功运营着成千上万台的服务器,处理上亿客户的海量业务请求,他们所做的技术探索,在目前的互联网行业具有广泛的代表性和实用性。
而今天,有幸他们能够把自己的经验和体会全面地分享,全都是干货。我想,这就是互联网所崇尚的开放精神吧。这本书的作者和读者,以及这一代在互联网开源技术领域勤奋工作的人们,将会构成中国互联网基础架构技术的基石。
——陆晴,英特尔互联网及云计算业务部经理
知其因,晓其理;漫步在云端,然不知处处都是虚无缥缈的浮夸;落地、上云都离不开底层技术的支持,一线大量实战经验的总结是对垂直领域最好的诠释。这本书恰恰是这一领域的佼佼者,深入、全面并包含大量实践,不仅能帮助我们晓其理,一步步学习虚拟机技术,而且能帮助我们快速将云落地。
——刘宇,西山居运维架构师
基于KVM的虚拟化方案在业界已应用多年,而且越来越多的云计算服务商使用该方案对外提供服务,这对运维人员来说是一个大的挑战,因为国内还没有一本关于KVM运维实践的权威的书籍,大部分的问题都是靠运维人员自己摸索,不成体系。这本书的出版对从事KVM虚拟化方案的运维人员来说是个福音,从内容看,作者很用心,而且对运维和从事虚拟化平台开发的人员也有很好的参考作用,相信此书的出版能推动我国虚拟化乃至云计算方面的运维水平和国际接轨。
——叶理灯,UCloud云主机开发部经理
得知力哥要写一本关于KVM的书,我的第一感觉是国内做KVM人有福了。当年我和力哥一起搞KVM的时候,就深感他功底扎实,思维缜密,而且动手能力快得惊人。后来,我转向PaaS领域,力哥又不间断地在KVM上深耕数载,如今已是该领域的专家。相信无论是虚拟化领域的新手还是资深从业人员,都能从他的书中得到很多借鉴。
——刘晓光,Cloud Foundry工程师
从力哥的博客和“KVM虚拟化实践”的公众号就可以看出这是一位注重实践、乐于分享、很有互联网精神的人。
实践出真知,本书全面性佳、实战性强,相信对KVM有兴趣以及正在做KVM相关虚拟化、云计算相关的兄弟来说必定会备感亲切,喜爱有加,强烈推荐!
——秦洁,安居客运维负责人
在虚拟化道路上,选型KVM是一个深思熟虑的决定,通过小规模部署验证,最终大规模部署到生产环境中。在虚拟化的道路上,我们学习到很多,想要尽可能和大家去分享。本书将会给大家带来KVM在生产环境中的、资深运维角度所理解的最佳实践。
云计算改变了传统运维的思维方式,短短几分钟可以实现快速部署,扩容生产业务。想要通过KVM虚拟化技术结合存储构建一个稳定、高效的生产集群,支撑业务弹性伸缩,这本书不可不读。
——杨树林,动视SRE
说来有缘,肖兄的这本书还算是我牵的线。自知我在KVM方面并非专家,因此不敢多加点评。我和肖兄认识的时间并不长,但从肖兄的微信公众号分享的持续性可见他对知识积累的专注和专业,让我非常敬佩,也让我相信此书绝对能成为国内KVM领域的巅峰之作,对诸多同行们有所帮助。
——叶金荣,http://imysql.com创始人,Oracle ACE(MySQL)

上架指导

计算机\网络

封底文字

虚拟化技术是大数据和云计算应用中的核心技术,经过几年的发展,KVM已经非常成熟和稳定,逐渐取代Xen等商业虚拟化技术和产品,成为该领域事实上的标准。因为采用KVM技术的业务规模都比较大,生产环境大多比较复杂,加上KVM整个技术生态中涉及的技术较多,使用起来有一定的门槛,企业的学习成本较高。
当KVM技术在国内鲜有人使用时,本书作者团队就开始钻研并在生产环境中使用,短短几年内,就为公司节省了上亿的运营成本,帮助公司多个处于生命周期末的游戏项目实现扭亏为盈。本书中所有的知识和经验都来自国内一线的互联网公司的生产环境,比如金山西山居、盛大游戏等,最大的特点就是业务规模大、环境复杂,非常具有代表性,极为珍贵。
本书从多个维度详细讲解了KVM虚拟化原理、技术及性能调优、软硬件选型,生产环境虚拟化项目实施方法,开源管理平台介绍及部署,虚拟化后端存储方案,开源分布式文件系统GlusterFS、Ceph在虚拟化中的使用方法,虚拟化监控、报警、应急方案的制定,并附有大量生产环境案例。

作者简介

肖力 汪爱伟 杨俊俊 赵德禄 著:暂无简介

图书目录

本书赞誉
前  言
第一篇 KVM技术详解与实践
第1章 企业虚拟化选型与KVM介绍 2
1.1 KVM的前世今生 2
1.2 KVM与常用企业级虚拟化产品的PK 7
1.3 判断企业是否适合使用KVM的标准 9
1.4 本章小结 10
第2章 开始自己的第一台虚拟机 11
2.1 服务器BIOS设置 11
2.2 宿主机CentOS 6.5、CentOS 7系统安装与配置技巧 13
2.3 第一台虚拟机安装 15
2.4 本章小结 21
第3章 CPU、内存虚拟化技术与应用场景 22
3.1 NUMA技术与应用 22
3.1.1 KVM虚拟机NUMA调优 24
3.1.2 CPU绑定操作方法 27
3.2 CPU热添加与应用 32
3.3 CPU host-passthrough 技术与应用 36
3.4 CPU Nested 技术与配置方法 38
3.5 KSM技术与应用 39
3.6 内存气球技术详解与应用 40
3.7 内存限制技术与应用 43
3.8 巨型页内存技术与应用 44
3.9 本章小结 47
第4章 网络虚拟化技术与应用场景 48
4.1 半虚拟化网卡技术详解 48
4.1.1 半虚拟化网卡的配置 49
4.1.2 全虚拟化网卡、半虚拟化网卡性能比较 50
4.1.3 全虚拟化网卡、半虚拟化网卡的应用场景 63
4.2 MacVTap和vhost-net技术原理与应用 63
4.2.1 MacVTap技术与应用 64
4.2.2 vhost_net技术 66
4.3 网卡的中断与多队列 66
4.4 网卡PCI Passthrough技术 71
4.5 SR-IVO虚拟化技术 72
4.6 虚拟化软件交换机Open vSwitch的安装与配置 75
4.6.1 Open vSwitch安装 75
4.6.2 Open vSwitch典型配置 77
4.7 多网卡绑定与建桥 79
4.8 本章小结 82
第5章 KVM磁盘虚拟化技术与应用场景 83
5.1 磁盘虚拟化方式性能比较与应用场景 83
5.1.1 QEMU磁盘虚拟化方式概述 83
5.1.2 IDE与Virtio性能比较测试 84
5.2 Virtio磁盘缓存方式详解、性能比较与应用场景 85
5.2.1 磁盘缓存详解 86
5.2.2 缓存方式的性能比较测试 87
5.2.3 缓存方式的应用场景 89
5.3 磁盘镜像格式 89
5.3.1 QEMU支持的磁盘镜像格式 89
5.3.2 裸设备使用 96
5.3.3 KVM虚拟机镜像管理利器guestfish 97
5.3.4 raw、qcow2、裸盘、lvm性能比较 106
5.3.5 磁盘镜像格式的应用场景 107
5.4 文件系统块对齐 108
5.4.1 什么是块对齐 108
5.4.2 块对齐与块不对齐性能比较 109
5.4.3 生产环境如何配置块对齐 110
5.5 SSD在KVM虚拟化中的使用实践 111
5.5.1 SSD原理与写放大 111
5.5.2 SSD在KVM中的使用 112
5.5.3 Flachcache配置与性能测试 117
5.5.4 DM-cache配置 120
5.5.5 LVM cache配置与性能测试 122
5.5.6 生产环境中SSD使用要点 123
5.6 本章小结 126
第6章 KVM虚拟机的资源限制 127
6.1 哪些场景要做虚拟机的资源限制 127
6.2 使用CGroups 130
6.3 KVM虚拟机CPU资源限制配置 142
6.4 KVM虚拟机网络资源限制 144
6.5 KVM虚拟机磁盘资源限制 150
6.6 本章小结 151
第7章 物理机转虚拟机实践 152
7.1 哪些应用场景适合做物理机转虚拟机 152
7.2 P2V的技术实施方案 152
7.3 Windows系统物理机转虚拟机的操作方法 153
7.3.1 WinPE的制作方法 153
7.3.2 Windows系统P2V操作方法 155
7.4 Linux物理服务器转换虚拟机操作 155
7.5 使用virt-p2v工具进行P2V转换 157
7.6 P2V经验总结 160
7.7 关于V2V 160
7.8 本章小结 160
第8章 KVM桌面虚拟化实践 161
8.1 桌面虚拟化简介及Spice协议 161
8.2 桌面虚拟化实践经验 162
8.3 本章小结 167
第二篇 分布式文件系统
第9章 几种常见开源文件系统在KVM中的应用 170
9.1 演示环境基础配置 170
9.2 DRBD在KVM中的应用 172
9.2.1 DRBD介绍 172
9.2.2 DRBD搭建方法及在KVM中的应用 173
9.2.3 DRBD在KVM虚拟化中的优化方案 183
9.3 GlusterFS在KVM虚拟化中的应用 184
9.3.1 GlusterFS介绍 184
9.3.2 GlusterFS集群搭建与使用 189
9.3.3 GlusterFS在KVM虚拟化中的应用 195
9.3.4 GlusterFS在KVM虚拟化中的优化方案 198
9.4 Sheepdog在KVM中的应用 199
9.4.1 Sheepdog介绍 199
9.4.2 Sheepdog搭建方法及在KVM中的应用 201
9.5 MooseFS在KVM中的应用 207
9.5.1 MooseFS介绍 208
9.5.2 MFS搭建方法及在KVM虚拟化中的应用 208
9.6 本章小结 213
第10章 Ceph在KVM虚拟化中的应用与故障处理 214
10.1 Ceph简介 214
10.2 Ceph部署方法及在KVM中的应用 217
10.2.1 使用ceph-deploy工具部署Ceph 217
10.2.2 挂载CephFS 221
10.2.3 通过Librbd方式使用Ceph RBD 223
10.2.4 使用内核方式挂载并使用Ceph RBD 226
10.3 CRUSH算法介绍及调优方法 228
10.3.1 CRUSH算法介绍 228
10.3.2 CRUSH算法调优方法 230
10.4 多角度评估Ceph在KVM虚拟化环境中的应用 234
10.5 Ceph生产环境搭建案例 240
10.5.1 使用CephFS集中备份虚拟机 240
10.5.2 使用Librbd将虚拟机运行在Ceph RBD 241
10.5.3 在CephFS上创建qcow2文件作为云硬盘 242
10.6 Ceph常见故障处理 242
10.6.1 Ceph集群监控状态检查 243
10.6.2 Ceph常见错误提示的含义与处理方法 244
10.7 本章小结 245
第三篇 KVM虚拟化管理平台
第11章 利用OpenStack管理KVM 248
11.1 OpenStack搭建 248
11.1.1 OpenStack简介 248
11.1.2 控制节点的安装 249
11.1.3 计算节点的安装 266
11.2 OpenStack实用技巧 269
11.2.1 RabbitMQ Cluster搭建 269
11.2.2 利用Haproxy和Keepalived实现控制节点高可用 271
11.2.3 冷迁移虚拟机的方法 277
11.3 本章小结 277
第12章 利用OpenNebula管理KVM 278
12.1 OpenNebula架构 278
12.1.1 OpenNebula架构介绍 278
12.1.2 OpenNebula组件介绍 279
12.2 在KVM中使用OpenNebula 280
12.2.1 在CentOS 6.5上快速搭建OpenNebula 280
12.2.2 使用OpenNebula创建第一台KVM虚拟机 285
12.2.3 使虚拟机硬盘创建在宿主机本地硬盘上 288
12.3 OpenNebula常见故障处理 291
12.4 本章小结 293
第13章 其他管理平台介绍 294
13.1 ConVirt管理平台介绍 294
13.1.1 ConVirt的理念 294
13.1.2 ConVirt的架构 295
13.2 CloudStack管理平台介绍 295
13.3 oVirt管理平台介绍 297
13.4 WebVirtMgr管理平台介绍 299
13.5 如何选择管理平台 303
13.6 本章小结 304
第四篇 KVM虚拟化项目实施
第14章 业务性能评估与压力模型建立 306
14.1 Linux 系统性能数据采集原则与方法 306
14.2 Linux 系统压力模型建立 311
14.3 Windows系统性能数据采集原则与方法 314
14.4 Windows 系统压力模型建立 317
14.5 本章小结 319
第15章 宿主机选型与基础性能测试 320
15.1 宿主机CPU选型原则 320
15.2 宿主机内存选型注意事项 322
15.3 宿主机硬盘选型 324
15.4 RAID卡选型 326
15.5 服务器网卡选型 327
15.6 宿主机性能基准测试实践 328
15.7 本章小结 345
第16章 虚拟机镜像制作、配置与测试 346
16.1 Windows虚拟机制作方法 346
16.1.1 Windows镜像制作 346
16.1.2 Windows虚拟机sysprep初始化封装 361
16.2 Linux镜像制作方法 362
16.2.1 RHEL/CentOS镜像制作方法 362
16.2.2 Ubuntu、Debian虚拟机配置注意点 364
16.3 虚拟机自动配置IP的实现办法 365
16.3.1 通过DHCP给虚拟机配置IP 365
16.3.2 通过Libvirt实现虚拟机自动配置IP 365
16.3.3 笔者生产环境虚拟机IP自动配置的方法 365
16.4 虚拟机镜像测试 375
16.5 本章小结 375
第17章 单机虚拟化技术与生产环境实践 376
17.1 单机虚拟化技术与应用场景 376
17.1.1 单机虚拟化的优势和劣势 377
17.1.2 单机虚拟化技术 378
17.1.3 单机虚拟化应用场景 380
17.2 单机虚拟化生产环境注意点 381
17.2.1 单机虚拟化灾备与应急方案 381
17.2.2 单机虚拟化生产环境部署实践 382
17.3 本章小结 385
第18章 KVM虚拟化集群技术与应用场景 386
18.1 虚拟化集群设计思路与架构 386
18.2 虚拟化集群的实施流程与技术方案 389
18.3 虚拟化集群搭建 392
18.3.1 计算节点配置与管理 392
18.3.2 网络设计与配置 403
18.3.3 虚拟机迁移管理 404
18.3.4 虚拟化集群的备份与恢复 407
18.4 Dell EqualLogic存储的管理实践经验 414
18.5 本章小结 419
第19章 业务迁移到虚拟化环境流程 420
19.1 性能评估与测试环境测试 420
19.2 上线前的检查工作 428
19.3 小规模部署及逐步切换到虚拟化环境 429
19.4 本章小结 430
第20章 宿主机自动化运维管理 431
20.1 Puppet简介与安装部署 431
20.2 利用Puppet管理宿主机的运维架构设计 436
20.3 利用Puppet配置宿主机初始化操作 441
20.4 利用Puppet管理宿主机配置与更新 442
20.5 利用Puppet推送宿主机的非一致性配置 445
20.6 本章小结 449
第21章 虚拟化监控、报警与应急响应方案 450
21.1 虚拟化监控内容 450
21.1.1 宿主机CPU监控要点 450
21.1.2 宿主机内存监控注意点 455
21.1.3 宿主机网络监控注意点 458
21.1.4 宿主机磁盘监控注意点 460
21.1.5 宿主机层面监控虚拟机的方法 461
21.2 监控软件Cacti、Zabbix 463
21.2.1 用Cacti监控宿主机 464
21.2.2 用Zabbix监控宿主机 471
21.3 应急方案 487
21.3.1 应急方案制定注意要点 487
21.3.2 单机虚拟化应急方案 491
21.3.3 集群虚拟化应急方案 495
21.4 本章小结 497
第五篇 KVM虚拟化典型案例
第22章 生产环境问题案例与分析 500
22.1 游戏在虚拟机上非常慢的案例 500
22.2 虚拟机流量过高引起网络风暴的案例一 502
22.3 虚拟机流量过高引起网络风暴的案例二 517
22.4 其他生产环境问题案例 520
22.4.1 共享存储集群虚拟机迁移故障案例 520
22.4.2 宿主机异常关机后虚拟机无法启动案例 522
22.4.3 宿主机使用CentOS 5.6系统问题案例 523
22.4.4 Windows虚拟机网络闪断、不通问题案例 523
22.4.5 Windows 7虚拟机只能使用2个CPU案例 524
22.4.6 生产环境非常奇怪的一个案例 524
22.4.7 U盘在虚拟机上挂载问题案例 526
22.4.8 HP ILO4固件Bug引起宿主机重启案例 528
22.4.9 一次机房断电引起的问题案例 529
22.4.10 CPU绑定问题案例 531
22.4.11 生产环境存储故障导致50个虚拟机丢失案例 532
22.4.12 生产环境Ubuntu虚拟机故障问题案例 533
22.5 本章小结 538
附录 笔者推荐的KVM学习资料 539

教学资源推荐
作者: 吴桦,丁伟,夏震
作者: [美]詹姆斯·F. 库罗斯(James F. Kurose)基思·W. 罗斯(Keith W. Ross) 著
作者: 朱先强 杨国利 朱承 张维明 著
参考读物推荐
作者: [美] 克里斯托弗 C.埃里森(Christopher C. Elisan)迈克尔·戴维斯(Michael Davis)肖恩· 伯德莫(Sean Bodmer)阿伦·勒马斯特斯 (Aaron LeMasters) 著
作者: 冠群工作室