Openstack 架构简述
概述
在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助
本文章相关的灵感/说明/图片来自于https://github.com/yongluo2013/osf-openstack-training/blob/master/installation/openstack-icehouse-for-centos65.md
首先放几张图,详细的解释了OpenStack的架构以及网络拓扑结构.

架构

拓扑
Openstack架构详解
整个OpenStack由控制节点,计算节点,网络节点,存储节点四大部分组成
- 控制节点负责了对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等
- 计算节点负责了虚拟机运行
- 网络节点负责了对外网络与对内网络之间的通信
- 存储节点负责了对虚拟机的额外存储管理等等
以下架构仅为本人理解,不尽完全,如有错误欢迎指出
控制节点架构
控制节点包括以下服务
- 管理支持服务
- 基础管理服务
- 扩展管理服务
管理支持服务包含MySQL与Qpid两个服务
- MySQL:数据库作为基础/扩展服务产生的数据存放的地方
- Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务
基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务
- Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库
- Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
- Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
- Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板
- Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard
扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务
- Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板
- Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板
- Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板
- Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
- Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作
控制节点一般来说只需要一个网络端口用于通信/管理各个节点
网络节点架构
网络节点仅包含Neutron服务
- Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等
网络节点包含三个网络端口
- eth0:用于与控制节点进行通信
- eth1:用于与除了控制节点之外的计算/存储节点之间的通信
- eth2:用于外部的虚拟机与相应网络之间的通信
计算节点架构
计算节点包含Nova,Neutron,Telemeter三个服务
基础服务
- Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务
- Neutron:提供计算节点与网络节点之间的通信服务
扩展服务
- Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务
计算节点包含最少两个网络端口
- eth0:与控制节点进行通信,受控制节点统一调配
- eth1:与网络节点,存储节点进行通信
存储节点架构
存储节点包含Cinder,Swift等服务
- Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等
- Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件
存储节点包含最少两个网络接口
- eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配
- eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务
以上就是大概的Openstack存储架构。
Openstack 架构简述的更多相关文章
- OpenStack概念架构简述
什么是OpenStack OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云 ...
- Openstack架构概念图-简单汇总
OpenStack是一个云平台管理的项目,它不是一个软件.这个项目由几个主要的组件组合起来完成一些具体的工作.想要了解openstack,第一步我们可以观察他的概念图: 针对上图的翻译+解释: 上图主 ...
- OpenStack 架构 - 每天5分钟玩转 OpenStack(15)
终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...
- 发现 OpenStack: 架构、功能和交互
原文:http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-overview/index.html OpenStack 是由 ...
- HDFS 架构简述
HDFS 架构简述 Hadoop分布式文件系统(HDFS)是一个分布式的文件系统,运行在廉价的硬件上.它与现有的分布式文件系统有很多相似之处.然而与其他的分布式文件系统的差异也是显着的.HDFS是高容 ...
- OpenStack入门篇(二)之OpenStack架构
1.OpenStack 架构 中间菱形是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍. Nova:管理 VM ...
- openstack架构
终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...
- openstack架构简单介绍J版(更新中)
title : OPENSTACK架构简单介绍 openstack的发展及历史 openstack是什么? OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算软件,以A ...
- O015、OpenStack 架构
参考https://www.cnblogs.com/CloudMan6/p/5340622.html 终于正式进入OpenStack 部分了. 今天开始正式学习OpenStack,OpenSt ...
随机推荐
- sql NextResult()多个结果集
转自 http://blog.csdn.net/limlimlim/article/details/8626898 注意:当SQL语句中出现两条Select语句,例如:string sql = &q ...
- Linux非阻塞IO(八)使用epoll重新实现非阻塞的回射服务器
本文无太多内容,主要是几个前面提到过的注意点: 一是epoll的fd需要重新装填.我们将tcp_connection_t的指针保存在数组中,所以我们以这个数组为依据,重新装填fd的监听事件. //重新 ...
- Codeforces Round #262 (Div. 2)解题报告
详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks http ...
- cpu、内存、磁盘
例一:内存使用率 #!/bin/bash total=$(free -m|grep Mem|awk '{print $2}') used=$(free -m|grep Mem|awk '{print ...
- OpenStack 网络总结之:openstack中网络的基本概念
原文:openstack-install-guide-yum-icehouse.pdf/7. Add a networking service/Networking concepts OpenStac ...
- 【Lucene】Apache Lucene全文检索引擎架构之构建索引2
上一篇博文中已经对全文检索有了一定的了解,这篇文章主要来总结一下全文检索的第一步:构建索引.其实上一篇博文中的示例程序已经对构建索引写了一段程序了,而且那个程序还是挺完善的.不过从知识点的完整性来考虑 ...
- 如何快速复制BAT级的DevOps工具链
1.流水线改变世界 1910年,福特汽车在引入流水线生产之后,Model-T 的组装时间缩短了8倍,从12.5小时降到了1.5小时,这就是流水线改变世界的神话,造就了汽车上的国家! 那流水线怎么改变软 ...
- angularjs中的$q
先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过 ...
- Cocos2D-X2.2.3学习笔记5(UI系统)
前言: 1.字体 2.标签 3.菜单 4.进度条 5.计时器 Cocos2d-x中得UI控件没有几个.在游戏制作的过程中也不须要什么UI.即使有些复杂的UI,那都得我们自己来封装的.比方.关卡选择. ...
- Sqlserver------SQLServer2008R2中新增用户并设定表的访问权限
在进行项目对接时,有时候处于系统安全性考虑,我们需要设置数据库的访问权限,这个时候,我们可以新增一个用户,然后设定用户的访问权限,具体步骤如下: 1, 新建登录对象 2, 点击用户映射 3, 操 ...