您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
OpenStack 架构
 
 来源:ChinaUnix   发布于 2016-5-9
  3367  次浏览      16
 

终于正式进入 OpenStack 部分了。

今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱。

OpenStack 已经走过了 6 个年头。

每半年会发布一个版本,版本以字母顺序命名。现在已经到第 12 个版本 Liberty(字母 L)。

OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发。

面对如此庞大的阵容,作为初学者我们如何起步呢?

这也是 CloudMan 写这个系列教程的初衷:

通过实际操作帮助初学者由浅入深地学习和实践 OpenStack,并最终具备实施 OpenStack 的能力。

我们会把学习的重点放在 OpenStack 最核心的地方。

那什么是核心呢?请看下图

作为 IaaS 层的云操作系统,OpenStack 为虚拟机提供并管理三大类资源:计算、网络和存储。

这三个就是核心,所以我们的学习重点就是:

搞清楚 OpenStack 是如何对计算、网络和存储资源进行管理的。

在 20+ 模块中,管理这三类资源的核心模块其实不多,这几个模块就是我们的重点了。

要达到这个目的,我们自然需要研究 OpenStack 的整体架构。

架构里哪些核心模块负责管理计算资源、网络资源和存储资源?模块之间如何协调工作?

同时我们会构建一个实验环境,进到各个模块的内部,通过实际操作真正理解和掌握 OpenStack。

好,下面我们就从架构开始吧。

OpenStack 架构

架构是个好东西,它能帮助我们站在高处看清楚事物的整体结构,避免过早地进入细节而迷失方向。

下图是 OpenStack 的 Conceptual Architecture

中间菱形是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。

Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。

Neutron:为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM

提供虚拟网络和物理网络连接。

Glance:管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。

Cinder:为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘。

Swift:提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance

可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。

Keystone:为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack

上的每一个操作都必须通过 Keystone 的审核。

Ceilometer:提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据。

Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。

在上面的这些服务中,哪些是 OpenStack 的核心服务呢?

核心服务就是如果没有它,OpenStack 就跑不起来。

很显然

1.Nova 管理计算资源,是核心服务。

2.Neutron 管理网络资源,是核心服务。

3.Glance 为 VM 提供 OS 镜像,属于存储范畴,是核心服务。

4.Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务。

5.Swift 提供对象存储,不是必须的,是可选服务。

6.Keystone 认证服务,没它 OpenStack 转不起来,是核心服务。

7.Ceilometer 监控服务,不是必须的,可选服务。

8.Horizon 大家都需要一个操作界面吧。

现在核心服务有了,接下来我们将镜头拉近点,看看核心服务内部的组成结构。

Logical Architecture

在 Logical Architecture 中,可以看到每个服务又由若干组件组成。

以 Neutron 为例,包含

1.Neutron Server、Neutron plugins 和 Neutron agents

2.Network provider

3.消息队列 Queue

4.数据库 Neutron Database

在后面 Neutron 章节我们会展开学习这些组件。

这里想要强调一点:

上面是 Logical Architecture 描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。

而在实际的部署方案上,各个组件可以部署到不同的物理节点上。

OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。

这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。

当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。

   
3367 次浏览       16
 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   
相关培训课程

云计算原理与应用
Windows Azure 云计算应用

摩托罗拉 云平台的构建与应用
通用公司GE Docker原理与实践
某研发中心 Openstack实践
知名电子公司 云平台架构与应用
某电力行业 基于云平台构建云服务
云计算与Windows Azure培训
北京 云计算原理与应用