毫无疑问,开源技术已经被越来越多的企业所应用,不仅仅是各种互联网巨头们玩耍的领域了。云计算、大数据、人工智能等领域都离不开开源技术的支撑。OpenStack作为云计算领域最为受关注的开源云管平台,已经在业界风靡多时,很多的小伙伴只知其名,苦于无处着手。今天就给大家介绍6本学习OpenStack的经典书籍,通过学习这些,让读者快速领悟OpenStack的原理、如何部署以及架构设计。认真学习,使小白蜕变为OpenStack方面的资深大拿。废话不多说了,直接推荐干货!
1、《鸟哥的Linux私房菜-基础学习篇》
本书全面的介绍了Linux操作系统。全书分为5个部分:一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。这本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。算是初学者学习Linux不可多得的一本入门好书。
2、《深度实践KVM》
本书从核心技术、管理运维、性能优化、项目实施等多个维度系统、深入讲解KVM虚拟化技术的工作原理、应用方法和技术生态,并针对生产环境中的各种难题给出了解决方案。作者团队是国内的KVM技术专家、虚拟化技术专家和运维专家,是国内第一批研究并将KVM应用到大规模生产环境的人。书中的所有知识、经验和案例都来自金山、盛大等国内一线互联网公司,这些公司的业务规模巨大,生产环境复杂。这本书的干货很多,详细介绍了虚拟化技术的选型,KVM的CPU和内存虚拟化技术、磁盘虚拟化技术、网络虚拟化技术以及这些技术的生产环境应用场景,物理机转虚拟机,KVM的桌面虚拟化实践。讲解了常见的开源分布式文件系统在KVM环境中的使用,重点讲解比较热的Ceph文件系统,包括配置、使用及常见故障处理。讲解了OpenStack、OpenNebula在生产环境的实践与故障处理,还有oVirt、CloudStack、Convirt、WebVirtMgr等几个管理平台的架构和理念等等。
3、《OpenStack设计与实现》
本书覆盖了OpenStack 的学习方法、设计与实现等各个方面内容,致力于帮助读者形成 OpenStack 及其各个主要组件与项目的拓扑。书籍本身也较为通俗易懂,利于初学者学习和掌握。通过各种拓扑,深入介绍了OpenStack底层设计与实现原理,详细叙述了各个组件的功能与组件间的通信。按照循序渐进的手法,讲述了OpenStack的前世今生,在业界的主要应用和发展,以及将来的发展战略。读者可以通过学习本书,简单的部署和操作OpenStack,对OpenStack有一个更深的了解。
4、《OpenStack高可用集群【上册】原理与架构【下册】部署与运维》
本书分为上下两册,上册主要介绍了OpenStack高可用集群的原理和架构,下册主要介绍了OpenStack架构的部署和运维。通过学习本书,可以深入的了解OpenStack的各种高可用架构设计以及原理解释。对于实际的生产环境,结合本书的部署和运维章节,可以更好的对生产环境进行运维。OpenStack在不同存储下所采用的架构有哪些不同,工作流如何贯穿等都有比较详细的介绍。
5、《Python编程从入门到实践》
这是我非常喜欢的一本很实用的python学习书籍,适用范围较广,从入门到精通。全书分成基础和实践两个大部分,基础篇介绍基本的编程概念,如列表、字典、类和循环,并指导读者编写整洁且易于理解的代码。另外还介绍了如何让程序能够与用户交互,以及如何在代码运行前进行测试。实战篇介绍如何利用新学到的知识开发功能丰富的项目,游戏设计、数据可视化实战、Web应用程序等。
6、《OpenStack运维指南》
本书不用过多的介绍了吧,可能很多从事OpenStack运维的同学都拥有一本。此书分两部分,全面介绍如何构建基于参考架构的OpenStack云系统和执行日常管理任务。一部分全面介绍如何充分发挥OpenStack强大的灵活性,通过各种正确决策打造很好配置,主要内容涉及架构示例、自动部署与配置、云控制器设计与云系统管理、计算节点、扩展与隔离、存储决策和网络设计。第二部分讲解OpenStack云系统的日常操作,主要内容包括OpenStack控制面板、项目和用户管理、面向用户的运维、故障与调试、网络排障、日志功能与监控、备份与恢复、定制化、通过OpenStack社区获得支持、高级配置以及如何升级。
以上书籍是按照一定的阅读顺序进行推荐的,考虑到不同人员的基础知识不同而定。OpenStack毕竟是基于Linux操作系统部署,所以:
首先要具备较好的Linux系统知识,包括编写简单的bash-shell脚本技能,为部署OpenStack打好基础。
第二要学习KVM相关的虚拟化技术,OpenStack往大了说只是一个云管理及调度平台,底层的虚拟化依然是靠KVM或者其他受支持的虚拟化技术。Linux下主流的是KVM(基于内核的虚拟化),所以要学好KVM。
第三要学习OpenStack的原理,做到知其然知其所以然,了解原理为后期的各种组件部署及组合做准备。
第四学习OpenStack的架构设计,可以基于各种业务需求设计符合要求的系统架构。
第五要学好Python语言,众所周知,OpenStack的源码是由Python所写,所以学会Python对阅读源码有好处,处理问题会更准备。
最后学习OpenStack的排错逻辑和方法,便于后期在运维OpenStack的过程中,定位问题及解决问题。
以上内容由社区专家张志强分享
领取专属 10元无门槛券
私享最新 技术干货