写在最前面-每天5分钟的OpenStack(1)


最近在追《每天5分钟玩转 OpenStack》,感觉有必要记录到自己的blog上。

《每天5分钟玩转 OpenStack》是一个 OpenStack 教程,这是第 1 篇。

这个教程有下面两个特点:

系统讲解 OpenStack从架构到各个组件;从整体到细节逐一讨论

重实践并兼顾理论;主要从实际操作的角度带着大家学习 OpenStack。

为啥要写这个?

简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大

先做一个自我介绍吧。

本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所以 J2EE相关的技术搞得比较多。后来入职一家大型IT公司,公司的产品从中间件到操作系统,从服务器到存储,虚拟化到云计算都有涉及。

本人所在的部门是专门做 IT 基础设施实施服务的,项目涉及服务器、存储、网络、虚拟化、云各个方面。而且这个部门的重要任务是为公司在IT市场最新和最热门的领域开疆扩土。比如前几年的虚拟化,这两年的云计算和大数据。

可以说部门的这个定位非常符合我的技术偏好。我对新技术长期保持着浓厚的兴趣和学习热情,所以在这个部门一待就是十几年,而且一直搞技术,虽然现在的头衔是架构师,平时还是一直坚持实际动手操作,否则会没有安全感。

好,现在回到OpenStack这个主题。

本人是在2013年开始接触 OpenStack,虽然具备比较扎实的技术功底,在经过一段时间的学习后,还是感觉 OpenStack这个东西上手不太容易,个人认为有以下几个原因:

  1. OpenStack 涉及的知识领域极广

可以说涵盖了IT基础设施的所有范围。计算、存储、网络、虚拟化、高可用、安全、灾备。。。。。。无所不包。即便是像CloudMan这种每天都在这个领域工作的人也感觉压力颇大

  1. OpenStack 是一个平台,不是一个具体的实施方案

OpenStack的各个组件都采用Driver的架构,支持各种具体的实现技术。比如 OpenStack的存储服务Cinder只定义了上层抽象API,具体的实现交给下面的各种Driver,比如基于LVM的iSCSI Driver,EMC、IBM等商业存储产品的Driver,或者是开源的分布式存储软件,比如Ceph、GlusterFS的Driver。

正是因为这种架构上的灵活性,使得初学者在学习OpenStack的时候不会像学习其他具体软件产品那样容易上手。

  1. OpenStack 本身是一个分布式系统

大多数搞 IT 的对分布式计算都不会太熟悉。直接冲进来会被 OpenStack 繁多的组件以及他们之间的交互方式搞得云里雾里。

虽然 OpenStack 学习曲线比较陡峭,掌握起来难道较大,但 OpenStack 目前已经是 IaaS 云的事实标准,而且前途一片光明,对于我们搞 IT 的如果能啃下这个骨头,必定能大大提升自身的竞争力。

写给谁看

这套教程的目标读者包括:

  1. OpenStack初学者

CloudMan 学习 OpenStack 也是经历了一个艰辛曲折的过程。其主要原因在于没有找到一个系统教授OpenStack的教程,特别是针对初学者。大部分资料都比较分散,对于初学者无法有机地串起来。也正是因为这个原因,让我萌发了编写这样一套教程的想法,能够让初学者能够少走弯路,系统地学习、掌握和实践 OpenStack。

  1. OpenStack 实施工程师

之前说了,CloudMan在公司的职位是架构师,但骨子里我更把自己定位成一个能到一线攻城拔寨的实施工程师。所以这个教程也是针对 OpenStack 的实施人员,让他们能够通过学习真正掌握部署OpenStack 的知识、技能以及故障排查技巧。

  1. 我自己

写这个教程同时也是对自己这几年学习和实践 OpenStack 的一个总结。 我觉得:对于知识,只有把它写出来并能够让其他人理解才能真正说明自己掌握了这项知识。

包含哪些内容?

如下图,两大块:

  1. 预备知识

因为面向初学者,首先会有虚拟化和云计算的“预备知识”,会介绍 KVM,IaaS 等技术。

  1. OpenStack核心

这是主要内容,包含OpenStack的架构和和各个核心组件。将会通过大量的案例、操作步骤、截图、日志来帮助大家理解 OpenStack 各组件是如何工作的。

其目标是让各位可以根据客户的需求进行配置和调整。