代码改变世界

初识OpenStack(2)

2016-04-06 22:15  dream_er  阅读(237)  评论(0编辑  收藏  举报

OpenStack架构

openstack模块简介

openstack主要由七个核心组建组成,分别为计算(Compute),对象存储(Object Storage),认证(Identity),用户界面(Dashboard),块存储(Block Storage),网络(Network)和镜像服务(Image Service),而每个组建又是多个服务的集合。

这里写图片描述

这里写图片描述

Compute(Nova)

Copmute的代号为Nova,它根据需求提供虚拟机服务,比如创建虚拟机或者对虚拟机做热迁移。
Nova主要分为一下几个组件:

  • API Server (nova-api)
  • Message Queue (rabbit-mq server)
  • Compute Workers (nova-compute)
  • Network Controller (nova-network)
  • Volume Worker (nova-volume)
  • Scheduler (nova-scheduler)

这里写图片描述

Nova在OpenStack中的位置如下图:

这里写图片描述

详细的关于Nova的内容参见 OpenStack-Nova

Object Storage(Swift)

Object Storage的项目代号为Swift,他允许存储或检索对象,也可以认为他允许存储或检索文件,它能以低成本的方式通过RESTful API管理大量的无结构数据。
Swift主要由一下一系列进程或者服务组成:

  • proxy-server
  • account-server
  • container-server
  • object-server

Swift典型部署结构

Swift典型部署结构

Swift架构示意图

Swift对象存储模型

Swift对象存储模型

想要深入了解,点击:Swift入门 或者Swift资料整理及CAP原理 或者 Swift 原理、架构与 API 介绍

Identity(Keystone)

Identity的项目代号为Keystone,为所有OpenStack服务提供身份验证和授权,跟踪用户以及他们的权限,提供一个可用的服务以及API的列表.

Keystone构成比较简单,只包含接收前台请求的Keystone API和后台的Keystone-db,但是却在整个系统中占据这至关重要的位置。

keystone在openstack的位置如下:

这里写图片描述

详细内容参见:openstack keystone整体架构与功能

Dashboard(Horizon)

Dashboard的项目代号是Horizon,他为所有OpenStack的服务提供一个模块化的基于Django的界面,通过这个界面,不论是最终用户还是运维管理人员都可以完成大多数的操作,比如启动虚拟机,分配IP地址,动态迁移等。
详见:openstack horizon小结

Block Storage(Cinder)

Block Storage的项目代号为Cinder,提供块存储服务。
Cinder由一下几个部分组成:

  • cinder-api
  • cinder-volume
  • cinder-db
  • volumeprovider
  • cinder-scheduler

详见:OpenStack之Cinder块存储服务初探

Network(Neutron)

Network的项目代号为Neutron,用于提供网络连接服务,允许用户创建自己的虚拟网络并连接各种网络设备接口。
详细内容参见:OpenStack 网络-Neutron 初探

Image Service(Glance)

Image Service的项目代号为Glance,他是Openstack的镜像服务组件,相对于其他组件来说,Glance功能比较单一代码量也比较的少。
Glance由glance-api,glance-registry和glance-db三个组件组成。
关于Glance详细参见:OpenStack Glance简介