OpenStack概念架构简述
什么是OpenStack
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
OpenStack项目是一个支持所有云环境的开源云计算平台。提升易用性,支持大规模扩展和提供更多优秀的特性。全球的云计算专家都在为openstack项目作出贡献。Openstack 通过一系列服务,形成了一个IaaS解决方案,每一个服务都提供了相应的API来更好地使用。
Openstack服务简述
|
DashBoard |
Horizon |
提供WEB界面 |
|
Computer |
Nova |
计算也就是虚拟机 |
|
Networking |
Neutron |
提供给nova网络支持 |
|
Object Storage |
Swift |
提供对象存储 |
|
Block Storage |
Cinder |
提供云硬盘给nova,同时备份到Swift |
|
Identity Sservice |
Keystone |
提供所有组件的认证 |
|
Image Service |
Glance |
提供给nova镜像服务 |
|
Telemetry Service |
Cellometer |
监控 cinder,neutron,nova,glance |
|
Orchestration Service |
Heat |
与AWS cloud兼容 |
1)Dashboard
该服务的工程名为Horizon,目的是提供基于Web的自服务门户,来实现用户与底层服务的交互,比如启动实例,分配IP地址,配置访问控制策略等等。
2)Compute
该服务的工程名为Nova,目的是管理运行在Openstack环境中的计算实例,比如按需创建,调度和销毁虚拟机。
3)Networking
该服务的工程名为Neutron,目的是为Openstack的服务,比如计算服务,提供网络连接服务。提供了API供用户定义网络及其相关内容。基于"插件式"的架构,支持众多主流的网络提供商和技术。
4)Object Storage
该服务工程名为Swift。目的是通过REST API的形式存储和检索非结构化数据。由于采用了数据复制和高扩展性架构,所以具有很高的容错性。该项目的实现并不像具有可挂载目录的文件服务器,Object Storage通过写对象和文件到多个驱动器的实现方式,确保了数据能够在群集之间复制。
5)Block Storage
该服务的工程名为Cinder。提供一个持久化的块存储来运行实例。该服务的"可插拔驱动器"模式,提升了创建和管理块存储设备的能力。
6)Identity Service
该服务的工程名为Keystone。为Openstack服务提供认证和授权,为Openstack服务提供了服务端点目录。
7)Image Service
该服务的工程名为Glance。存储和检索虚拟机磁盘镜像,Openstack 计算服务在实例配置的过程中会使用到这个服务。
8)Telemetry
该服务的工程名为Ceilometer。监控和计量Openstack云服务,为Openstack提供计费,阀值管理,扩展和分析等服务。
9)Orchestration
该服务的工程名为Heat。通过本地的HOT模板格式或者AWS CloudFormation模板格式,甚至Openstack本地REST API和兼容CloudFormation的Query API,来编排多个混合的基于云的应用。
10)Database Service
该服务的工程名为Trove。为数据库引擎提供了可靠的,高扩展性的"云数据库即服务"。
11)Data Processing Service
该服务的工程名为Sahara。提供了在Openstack中配置和扩展Hadoop群集的能力,而实现这一点只需要传hadoop版本,群集拓扑结构和节点的硬件信息即可。
Openstack 概念架构图

在部署过程中,最精简的架构需要四个节点组成,控制节点(Controller),计算节点(Compute),网络(Networking),存储(Storage),其他的节点是可选的,根据实际需要进行选择,各个节点主要服务安装情况如下:
1)控制节点
安装Identity Service,Image Service,计算和网络服务的管理部分,网络部分的插件及Dashboard。
2)网络节点
安装Networking服务及相关的Agent来配置网络,分配交换机,路由器,提供NAT,DHCP服务。
3)计算节点
安装KVM 作为Hpervisor,部分网络服务。
4)存储节点
安装Storage服务。
各个部分的内容如下图:

OpenStack概念架构简述的更多相关文章
- OpenStack的架构详解(转)
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云.小云提供可扩展的.灵活的 ...
- OpenStack的架构详解
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云.小云提供可扩展的.灵活的 ...
- Openstack 架构简述
概述 在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助 本文章相关的灵感/说明/图片来自于http ...
- 深入理解openstack网络架构(1)
原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...
- HDFS 架构简述
HDFS 架构简述 Hadoop分布式文件系统(HDFS)是一个分布式的文件系统,运行在廉价的硬件上.它与现有的分布式文件系统有很多相似之处.然而与其他的分布式文件系统的差异也是显着的.HDFS是高容 ...
- OpenStack的架构详解[精51cto]
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云.小云提供可扩展的.灵活的 ...
- (转)OpenStack —— 原理架构介绍(一、二)
原文:http://blog.51cto.com/wzlinux/1961337 http://blog.51cto.com/wzlinux/category18.html-------------O ...
- OpenStack 组成 架构
Components of OpenStack OpenStack is on a mission: to provide scalable, elastic cloud computing for ...
- 【转】Linux 概念架构的理解
转:http://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=400583492&idx=1&sn=3b18c463dcc451 ...
随机推荐
- CGLib缺少jar出现 java.lang.ClassNotFoundException: org.objectweb.asm.Type
CGLib实现动态代理区别于JDK动态代理,不需要目标类实现任何接口,是通过生成代理类子类的方式,而且据说速度要快于JDK动态代理.所以我想要试验一下CGlib的动态代理,网上找了些例子,自己动手写了 ...
- django-template-forloop
forloop.counter0 # 是每次循环的index 红色的div标签,居然可以这样写. ex:第一次循环的结果 <div class="item active" ...
- sqlalchemy--表关系
通过表关系查数据能更简洁的查询到需要的内容 user, user1, article, user_article(为中间表user_article关联article和user)四个表 from dat ...
- 二维数组 cudaMallocPitch() 和三维数组 cudaMalloc3D() 的使用
▶ 使用函数 cudaMallocPitch() 和配套的函数 cudaMemcpy2D() 来使用二维数组.C 中二维数组内存分配是转化为一维数组,连贯紧凑,每次访问数组中的元素都必须从数组首元素开 ...
- HTML5 浏览器接收的常用 content-type
<1> 常见的设置方法 response.setHeader("content-type", 'text/html'); <2> 浏览器接收的常用 cont ...
- 门禁系统socket通讯编程
最近遇到一个socke udp协议通讯的需求,而且是16进制数据接收.这样在传输参数的时候老是提示参数错误,因为计算机是不能直接传输16进制的,会自行转换,所有以下代码非常完美的解决我的问题,同时也让 ...
- 基于二进制RPC协议法的轻量级远程调用框架 ---- Hessian
使用Java创建Hessian服务有四个步骤: 1.创建Java接口作为公共API (client和server端 创建一个相同的借口) 2.使 ...
- ansible之条件语句when
注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...
- 使用FIO测试磁盘iops
我们如何衡量一个存储的性能呢?IOPS(Input/Output OperationsPer Second),即每秒进行读写(I/O)操作的次数是国际上通用的存储性能衡量标准,IOPS越高意味着在同一 ...
- Spoon新建repository的时候
Spoon新建repository的时候,下面选项选择‘否’,不要选择‘是’,不然可能会出错.