openstack

简介: 云操作系统各组件

Openstack

组件介绍

keystone

1.keystone:提供鉴权和浮动目录的(各个组件api的endpoint地址)
两种鉴权方式 pki,uuid

Nova

nova:提供计算资源,提供虚拟机的创建删除等操作
Nova虚拟机创建流程?
1.user发送创建虚拟机请求到nova-api
2.nova-api进行参数解析、记录数据库、转发给novao-conductor
3.nova-conductor将请求信息与scheduler的信息组合,发送给nova-scheduler
4.nova-scheduler接收到数据后,开始筛选主机:filter、权重、随机,将选出合适的主机返还给nova-conductor
5.nova-conductor直接调用该主机对用的nova-compute,要求创建虚拟机
6.nova-compute在数据库中占用资源
7.nova-compute找到neutron创建port
8.nova-compute找到cinder创建disk,并且挂载
9.nova-compute启动虚拟机,glance下载镜像
10.生成虚拟机的xml文件,调用libvirt拉起虚拟机
11.更新数据库

neutron

neutron:提供网络资源的
Neutron分为两大类组件:
1.neutron server:控制节点、多活部署
2.xxx agent:如ovs-agent控制+计算节点多活部署

cinder

cinder:提供块存储资源的,提供卷的挂载删除等操作
Cinder-api:提供服务的入口。控制节点、多活部署。前端通过haporxy负载均衡
Cinder-scheduler:筛选。调度合适的后端存储。控制节点、多活部署。前端通过rabbitMQ进行负载均衡
filter:一种是已经用了最少的胜出。一种是剩下最多的胜出
权重:对应的主机存储胜出最多的胜出
Cinder-Volume:通过不同的dirver对接不同的后端存储。控制+计算节点,多活部署。前端通过rabbitMQ进行负载均衡
cinder创建卷的流程?
1.用户下发创建卷的请求到Cinder-api
2.Cinder-api接收后,向Keystone进行身份认证,通过后,生成卷的ID
3.将该创建卷的消息投放到相对应的Scheduler的队列当中
4.Cinder-Scheduler在队列中去读取创建卷的信息,根据调度策略和权重计算策略筛选出合适的后端存储
5.将该消息投递到相对应的Cinder-Volume队列中
6.Volume从自己的队列当中读取该消息,调用dirver创建卷,然后更新数据库
7.diver发送对应的创建卷的请求到存储,让存储完成创建卷的操作

glance

glance:提供镜像资源的,可以对接swift,本地磁盘,OBS,提供镜像的上传下载删除等操作
api:对外提供服务的入口,有web/cli的方式
1.能够对消息进行认证鉴权处理、并且调用其他组件处理请求:image store
glance registry(glance的核心):操作数据库
DB:mySQL
image store(镜像仓库):Swfit/S3/ceph/本地存储。华为只支持Swift/本地存储/OBS(公有云对象存储服务)
Glance缓存:
1.用户是不可见且不知道使用的是本地还是后端的镜像。
2.可配置:缓存的开关、大小、周期
目的:解决因扩展节点带来的镜像服务性能问题(上传和下载)
原理:由Glance api提供缓存的位置,缓存的位置:计算节点、glance api(官网是这种)
Glance上传:
1.请求者通过web/cli发起上传请求,glance api接收到请求
2.glance api让glance
Registry到DB中记录需要存放的位置
3.  记录完成后,glance api直接上传镜像到image store的后端存储中
Glance下载:
1.请求者通过web/cli发起上传请求,glance api接收到请求
2.glance api找到glance缓存是是否有cache
3.如果没有cache,找到glance registry查找DB,并确认存放位置后,返还给glance api
4.glance api到image
store中下载镜像给请求者

swift

swift:提供对象存储的,在华为的op里仅仅用来给 glance来存放镜像

heat

heat:自动编排服务
流程:创建好一个模板,在这个模板里写好脚本交给heat api 执行,heat api通过MQ将其交给 heat engin执行,heat engin将这个模板解析成具体的时间交由各个组件执行

ceilometer

ceilometer:提供监控计量服务的
通过各种agent来收集信息

服务器虚拟化和私有云的对比

结构上,应用场景,服务对象,实现方式 ,兼容性,产品优势

openstack的定位优势

华为op底层对接了各种计算、存储、网络等资源,它是云操作系统软件,是一种经过商业加固的Openstack,可以对资源进行统一管理与调配,未来还可以接入更多的资源。
部署:原生的OP部署复杂难度大门槛高,华为的OP部署相对简单且规划方便
稳定性:原生的OP一年更新2次,但是每个版本都可能存在不稳定因素,而华为针对M版进行了大量的改进与改良,修复了许多BUG,打了很多补丁,很大程度上提升了稳定与安全性
高可靠:原生OP的组件默认都不是冗余部署的,华为的私有云控制节点至少都是3个节点冗余部署
健康检查:原生OP的健康检查功能少,华为的OP检查项目多、功能多样,可以提供报表、告警、硬件状态信息等数据
服务:原生的OP没有服务提供,运维门槛高难度大,华为的OP有官方的维护,需要服务可以按需求购买添加,售后有保障
页面:原生的OP页面比较简陋且单一,华为OP页面华丽美观,更适合中国人的使用习惯版本:华为的OP是基于M版(2016-04)进行改良,版本架构较老,对新功能新特性支持程度较低。

openstack网络平面规划

internal_base:openstack内部组件、子组件通信平面,安全等级最高。
external_OM:openstack内部组件与FSM\VRM\service OM通信平面,安全等级次之。
external_api:openstack内部组件与外部管理员、租户通信平面,安全等级最低。
tunnel_bearing:vxlan的承载平面,任意节点都有。
storage_data:管理存储和业务存储走的平面,控制流走external_om平面。 
pubilc server:云服务后端网络,提供公共组件后端通信的网络,如lvs nginx  ntp
dmz server:云服务前端网络,提供各个服务的console,比如登录SC
heat bate:云心跳平面,监控各个组件的心跳,对接eshige
bmc_base:用来和裸金属服务器的IPMI接口三层互通,对主机进行上下电操作。

privsion:用来给裸金属pxe安装系统的平面,操作系统镜像包的下载及安装。前身是internal_base平面,部署完成之后Privsion平面会切换成租户网络平面。

云硬盘和本地磁盘对比

定义,性能,vdc配额,生命周期,高级特性,可靠,场景
云硬盘的类型,模式
ssi锁机制,共享运营爬满
云硬盘高级特性:快照,升降配,备份,高可用,迁移

私有云项目规划

调研,评估,规划,实施(安装流程),测试,交付

云基础概念

Domain:域,keystone 中资源(project、user、group)的持有者 region 在 keystone 里基本代表一个数据中心 
Service:服务,一组相关功能的集合,比如计算服务、网络服务、镜像服务、存储服 务等。 
Endpoint: 必须和一个服务关联,代表这个服务的访问地址,一般一个服务需要提供 三种类型的访问地址:public、internal、admin 以阿里云为利 : Aliyun.com ---domian 地域(华北 1) ---region 可用区(可用区 B ) ---az Identity.aliyun.com
 一个 domain 中可以包含 N 多个 region,一个 region 可以包含 N 多个可用区(AZ), 一个 AZ 中包含 N 多个服务,这些服务组成向上组成为 VDC,VPC 等资源。一个 keystone 作用于一个 domain。
相关文章
|
4月前
|
存储 消息中间件 API
浅谈OpenStack(一)
OpenStack始于NASA和Rackspace的合作,起初包含Nova(计算)和Swift(存储)两个组件。这个开源项目现拥有超过1000万行代码,由8000多名开发者贡献。起初的组件如nova和swift后来演变成包括glance、cinder、neutron等多个服务,体现了其松耦合架构,组件间通过RESTful API和消息队列交互。这种设计提高了开发效率,允许独立更新和维护,是OpenStack的核心优势。
|
存储 API Swift
一文秒懂什么是OpenStack?
一文秒懂什么是OpenStack?
485 0
|
存储 监控 调度
OpenStack
OpenStack
229 0
|
存储 API 云计算
Openstack
OpenStack云平台技术是云计算技术中的主流技术,已得到大量主流商业厂商和研究机构的大力支持。在未来的几年中,OpenStack会对云计算以及IT领域产生极大的影响。
4759 1