OpenStack 架构 - 每天5分钟玩转 OpenStack(15)


终于正式进入 OpenStack 部分了。 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱。

OpenStack 已经走过了 6 个年头。 每半年会发布一个版本,版本以字母顺序命名。现在已经到第 12 个版本 Liberty(字母 L)。 OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发。

   image45.png

面对如此庞大的阵容,作为初学者我们如何起步呢? 这也是 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 比一般系统复杂,学习难度也更大。

后面章节我们会深入学习 Keystone、Glance、Nova、Neutron 和 Cinder 这几个 OpenStack 最重要最核心的服务。

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署 DevStack - 每天5分钟玩转 OpenStack(17)

本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作系统 安装 Ubuntu 14.04,并配置 eth0 的 IP devstack-controller 192.168.104.10 devstak-c…

理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)

作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情: 管理用户及其权限维护 OpenStack Services 的 EndpointAuthentication(认证)和 Authorization(鉴权)学习 Keystone,得理解下面这些概…

C++11 Lambda函数(匿名函数)

C11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问。 Lambda表达式的语法通过下图来介绍: Lambda表达式的引入标志,在‘[]’里面可以填入‘’或‘&…

时序约束与分析

时序约束与分析 设计约束所处的环节:约束输入、分析实现结果、设计优化。 设计约束分类 物理约束I/O接口约束(例如引脚分配、电平标准设定等物理属性的约束)、布局约束、布线约束以及配置约束。 时序约束:设计FPGA内部的各种逻辑或走线的延时,反应系统的频率和速度的约束…

通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

上一节介绍了 Keystone 的核心概念。本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。 User admin 要查看 Project 中的 image 第 1 步 登录 当点击时,OpenStack 内部发生了哪些事情?请看下面 Token 中包含了 User 的 R…

从Linux到Meego

网上看到一个Intel的强写的一篇关于meego的文章,很是受用,一篇好的文章就好比一顿每餐,在这里与大家分享。 从2月份Meego发布后一直在学习,现在把一些学到的内容跟大家共享一下。 首先想说说Meego是什么,Meego首先是…

理解 Glance - 每天5分钟玩转 OpenStack(20)

OpenStack 由 Glance 提供 Image 服务。 理解 Image 要理解 Image Service 先得搞清楚什么是 Image 以及为什么要用 Image? 在传统 IT 环境下,安装一个系统是要么从安装 CD 从头安装,要么用 Ghost 等克隆工具恢复。这两种方式有如下几个问题&…

四选一多路器

四选一多路器 状态转换 d0 11 d1 10 d2 01 d3 00 信号示意图 timescale 1ns/1ns module mux4_1( input [1:0]d1,d2,d3,d0, input [1:0]sel, output[1:0]mux_out ); //*************code***********//reg [1:0] mux_out_reg;always(*)begincase(sel)2b00:mux_out_reg d3;2b0…

了解OPhone平台---OPhone平台架构和主要开发组件

OPhone平台基于Linux和开放手机联盟(OHA)的Android系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强 了浏览器能力和WAP兼容性,优化了多媒体领域的OpenCORE、浏览器领域的WebKit等业内众…

如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)

本节首先讨论 image 删除操作,然后介绍 OpenStack CLI 的使用方法,最后讨如何 Troubleshoot。 Web UI 删除 image admin 登录后,Project -> Compute -> Images在列表中选择格式为 ARI 和 AKI 的 image,点击点击确认删除 …

异步复位的串联T触发器

异步复位的串联T触发器 T触发器的特征方程 Qn1 T Qn ’ T ’ Qn T⊕Qn T触发器的特征表 信号示意图 timescale 1ns/1ns module Tff_2 ( input wire data, clk, rst, output reg q ); //*************code***********//reg m;always(posedge clk or negedge rst)beginif…

Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

本节通过日志详细分析 Nova Pause/Resume 操作。 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中。当需要恢复的时候,执行 Resume 操作,从内存中读回 instance 的状态,然后继续运行 ins…

Windows® CE 系统中的同步机制

看到篇好文章,呵呵,独乐乐,不如众乐乐 本文转自http://blog.csdn.net/thl789/archive/2006/01/17/582246.aspx ,转载请注明出处 摘要 ... 1 目录 ... 1 一、 WinCE进程 /线程模型概览 ... 1 二、临…

Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)

本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作。 Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上。当需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态…

关于奇偶校验

关于奇偶校验 奇校验(Odd Parity):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如: 1 0110,0101 0 0110,0101 偶校验(Even Parity):所有传送的数位&am…

移位运算与乘法

移位运算与乘法 题目描述 已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效) 信号示意图 波形示意图 timescale 1ns/1ns module multi_sel( input [7:0]d …

Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)

本节我们通过日志详细讨论 instance 的 snapshot 操作。 有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了。当然前提是我们之前对instance做过备份。 Nova 备份的操作叫 Snapshot,其工作原理是对 insta…

Rebuild Instance 操作详解 - 每天5分钟玩转 OpenStack(37)

上一节我们讨论了 snapshot,snapshot 的一个重要作用是对 instance 做备份。 如果 instance 损坏了,可以通过 snapshot 恢复,这个恢复的操作就是 Rebuild。 Rebuild 会用 snapshot 替换 instance 当前的镜像文件,同时保持 instanc…

突发传输模式

突发传输模式 突发传输(Burst transmission),一般也称为数据突发,其在通信领域中一般指在短时间内进行相对高带宽的数据传输。 突发传输一般表示的是两个设备之间进行数据传送的一种模式,也可将其称为突发模式下的数据传输。而突发(Burst)是指在同一行中相邻的存储单元…

Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析

Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析 上篇文章中,我们模拟了WAV API。现在进入我们正在要解析的Wave 驱动的架构。我们了解一个驱动的时候,先不去看具体跟硬件操作相关的东西,而是从流程入手,把整个流程搞清…