简述openstack
大家好,我顾某人又回来了,开学第一更。。。。
以下内容均为个人理解和整理,有不对的地方还望dalao指正。。。。。
本文所用图片均已标明来源。
openstack是什么?
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
openstack组成
openstack由以下七个主要部分组成:
- Nova:计算服务
- Neutron:网络管理服务
- Keystone:认证服务
- Swift:对象存储服务
- Cinder:块存储服务
- Glance:镜像管理服务
- Horizon:操作界面
openstack整体架构
图源网络
openstack组成详解
Nova
Nova提供CPU、内存、网络适配器和硬件驱动器等服务器资源虚拟化的功能,提高了资源的利用率。
通过Nova api来接受和响应用户的请求,实时对VM进行启动、挂起、停止等功能。
Nova主要包含的组件有:
- Nova-api
响应用户的请求 - Nova-scheduler
负责VM的调度,决定了VM运行在哪台主机上。 - Nova-compute
管理VM实例的生命周期 - Nova-conductor
计算服务与数据库的交互中介,避免直接访问数据库 - Nova-console
提供访问VM的控制台 - Nova-consoleauth
负责对VM控制台的请求提供Token认证 - Nova-cert
提供证书 - Hypervisor
虚拟化管理程序,用于实现硬件的虚拟化 - database
用于存放一些Nova的数据 - message queue
用于Nova子服务之间的相互协调和通信
Neutron
Neutron架构,图源CloudMan
Neutron通过plugin
和agent
提供的网络服务。
调用网络的API分为以下两种:
- Core API
对外提供network
、subnet
和port
的API - Resource and Attribute Extension API
对外提供管理router
、load balance
、firewall
等资源的API。
Neutron的plugin
分为Neutron Core Plugins
和Neutron Service Plugins
。
- Neutron Core Plugins
Neutron的核心插件,实现Core API
在数据库中维护network
、subnet
和port
的状态,并负责调用相应的agent
在network provider
上执行相关操作. - Neutron Service Plugins
Neutron的扩展插件,实现Extension Plugin API
,在数据库中维护router
、load balance
、security group
等资源的状态,并负责调用相应的agent
在network provider
上执行相关操作.
Message Queue:消息队列
用于Plugins
和Agent
相互之间的调用.
Keystone
keystone为openstack组件提供认证服务和管理用户及其权限。
keystone中有几个重要的概念要了解一下:User(用户)、Role(角色)、Tenant(租户)、Service(服务)。
- User 用户,keystone的授权用户
- Role 角色,表示用户可以访问资源的权限
- Tenant 租户,各个服务中可以访问的资源合集
- Service 服务,租户可以提供的服务
keystone的运作流程大概是这样的:当User想要去访问某个Service时,首先他要向keystone出示它的Credentials,Keystone认证之后会给User一个Token,然后User就可以使用这个Token去访问Service,这时这个Service就会向keystone去验证User的Token,如果验证成功,那么User就成功访问到Service中的Endpoint,且User的Role越高,访问到的Service越多。
通俗的来讲是这样的:
User|住酒店的人
|:-|:-
Tenant|酒店
Credentials|酒店房间钥匙
Authentication|房客认证机制
Token|发给能打开房间的人的凭证,用于享受酒店的服务
Service|酒店提供的一种服务
Endpoint|酒店提供服务中的具体服务
Role|酒店会员等级
Swift
Swift为OpenStack提供一种分布式、持续虚拟对象存储,主要用于存储大的对象文件,比如虚拟机的备份。
Cinder
openstack的一种块存储方式,挂载给虚拟机使用,可以给虚拟机提供额外的空间。
swift和cinder的比较
swift
类似于保存PC的系统,而cinder
类似于保存PC里面的文件。
Glance
openstack中用于保存创建VM的镜像,比如,现在现在需要安装一个win7
的操作系统给公司的某个员工使用,按照传统的操作方式需要花费大量时间,但是现在在云环境中,只需要直接从glance
中按模板启动win7
即可,二七人只许耗费几秒钟的时间
glance
包括glance-api
、glance-registry
和store backend
.
- glance-api
对外提供API,用于响应image
的查询、获取等调用。 - glance-registry
用于处理和存取image
的的元数据,例如大小、类型等,并且戴护具对应到Database
。 - store backend
用于存放image
。
Horizon
简单的来说,Horizon是一个web接口,用于将openstack的资源聚集到一起并进行图形化管理。
最后骗一波流量个人博客
简述openstack的更多相关文章
- CentOS7.4安装部署openstack [Liberty版] (二)
继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...
- CentOS7.4安装部署openstack [Liberty版] (一)
一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...
- 马哥教育Linux网络班结业考试(架构师)-简答题题目(附答案)
1.叙述 centos7 启动图形界面的开机启动流程? 答:新版本的CentOS7里,已经做了调整.具体/etc/inittab 文件的第7行已经做出了说明: 系统已经使用'targets' 取代了运 ...
- OpenStack概念架构简述
什么是OpenStack OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云 ...
- 大型网站技术学习-2. 云计算之OpenStack简述
上一章讲,虚拟化能够充分的利用资源,带来各种各样的好处. 当一个网站不大,只需要四五台机器就可以支撑的时候,可以采用手工的方式虚拟机,但是当网站流量很高,需要成千上万台机器的时候,那就非常不方便了. ...
- Openstack 架构简述
概述 在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助 本文章相关的灵感/说明/图片来自于http ...
- Openstack简述
1.Openstack项目发展概况: Nova 计算服务 Swift 对象存储服务 Glance 镜像服务 Neturon 网络服务 Keystone 身份认证服务 Celimeter 计 ...
- openstack学习心得:keystone 架构、概念、访问流程
1.keystone 介绍及其组成 OpenStack Identity 服务提供了一个单一的功能集合,包括管理认证,授权和服务目录. Identity 服务通常作为和用户第一个交互的服务.一旦认证成 ...
- [转帖]Qemu 简述
Qemu 简述 记得KVM 就是 底层用的qemu https://www.cnblogs.com/bakari/p/7858029.html 本文首发于我的公众号 Linux云计算网络(id: cl ...
随机推荐
- 分布式系统监视zabbix讲解一之zabbix安装--技术流ken
zabbix概述 Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbi ...
- [转]BTC手续费计算,如何设置手续费
本文转自:https://blog.csdn.net/servletcome/article/details/81941334 首先BTC的交易手续费和交易金额是没有关系的.不要误认为交易的金额越大手 ...
- 行为型---命令模式(Command Pattern)
命令模式的定义 命令模式属于对象的行为型模式.命令模式是把一个操作或者行为抽象为一个对象中,通过对命令的抽象化来使得发出命令的责任和执行命令的责任分隔开.命令模式的实现可以提供命令的撤销和恢复功能. ...
- WCF SqlParameter序列化问题解决方案
博文 http://www.cnblogs.com/pan11jing/archive/2011/08/19/2051827.html 通过自定义类,再在WCF端转换的方式解决问题,之后出现了一个很小 ...
- C#隐藏与显示系统任务栏和开始菜单栏按钮
隐藏与显示系统任务栏和开始菜单栏按钮:直接上代码: private const int SW_HIDE = 0; //隐藏 private const int SW_REST ...
- 【Java基础】16、小数的浮点型和定点型
一.简介 1.对于不需要任何准确计算精度的数字可以直接使用浮点型,但是如果需要精确计算的结果,则必须使用定点型(BigDecimal类) 浮点型:float,double 定点型:BigDecimal ...
- Session的原理,大型网站中Session方面应注意什么?
一.Session和Cookie的区别Session是在服务器端保持会话数据的一种方法(通常用于pc端网站保持登录状态,手机端通常会使用token方式实现),存储在服务端. Cookie是在客户端保持 ...
- IIS服务器被配置为不列出此目录的内容
使用 IIS 管理器启用目录浏览. 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录浏览”页上,在“操作”窗格中单击“启用”.
- SAP MM 物料主数据MRP2 视图Rounding Value字段
SAP MM 物料主数据MRP2 视图Rounding Value字段 如下物料号,MRP2视图中,维护了rounding value字段值为50. MRP type :PD Lot size:EX ...
- LEDAPS1.3.0版本移植到windows平台----HuCal定标模块
这个是2012年左右放在百度空间的,谁知百度空间关闭...转移到博客园. 最近项目用到3.1.2版本的LEDAPS,新版本的使用情况会在后续文章中慢慢丰富. HuCal是将LEDAPS项目中的TM/E ...