Openstack百科——系统结构
来源:互联网 发布:火炬之光2mac汉化补丁 编辑:程序博客网 时间:2024/05/02 04:38
计算(Compute):Nova
提供虚拟主机,对应亚马逊的EC2,包括虚拟机、弹性云硬盘等服务。
对象存储(Object):Swift
俗称为云存储,对应亚马逊的S3,通过简单的key/value的方式实现对象文件的存储读取,适用于“一次写入,多次读取,无须修改”的情况,例如图片、视频、邮件附件等海量数据的存储。
镜像(Image):Glance
提供虚拟磁盘镜像的目录分类管理以及镜像库的存储管理,用于OpenStack虚拟机
身份(Identity):Keystone
为OpenStack所有的系统提供统一的授权和身份验证服务
自助门户(Dashboard):Horizon
基于OpenStack API接口开发的WEB呈现。
网络&地址管理:Quantum & Melange
实现了虚拟机的网络资源管理,包括网络连接、子网IP管理、L3的公网映射、后续的负载均衡等
块存储(Block Storage):Cinder
实现了对块存储的管理,与亚马逊的EBS弹性云硬盘类似,为虚拟机提供云硬盘(块设备)服务。
界面展示(Dashboard):horizon
服务器节点划分
计算节点 Compute Node:提供CPU、内存的物理服务器,指安装了nova-compute服务的物理机
存储节点Storage Node:提供存储能力的服务,指安装了nova-volume或者事cinder-volume的服务器
网络节点Network Node:提供网络服务,指安装了nova-network / quantum server的服务器
控制节点Control Node:一般安装了nova-api、调度等模块的服务器统称为控制节点
Openstack采用了职责拆分的设计理念,根据职责不同拆分7个核心子系统,每个子系统都可以独立部署和使用。在每个子系统中,又根据分层layer设计理念,拆分为API、逻辑处理(含数据库存储)、底层驱动适配3个层次。
nova-api就是这个Nova的入口,它接收用户请求,将指令发送到消息队列AMQP指定的主题Topic,由订阅相应主题的Topic的守护进程接收和执行相关指令消息。nova-api包括:WSGI API(公众服务接口),包括数据封装格式转换和数据校验;RPC API(内部),后者是标准化服务的内部实现,包括数据库操作消息传递等,比如compute-api、network-api、volume-api,统称API Server。
nova-compute 是主要的执行守护进程,职责是基于各类虚拟化技术Hyperivisor实现创建和终止虚拟机。nova-compute有两个工作:接收消息队列中的执行指令并执行,如部署KVM虚拟机,维护数据库相关模型的状态数据。
nova-volume/Cinder的职责是创建、挂载和卸载持久化的磁盘虚拟机,运行机制类似nova-compute。一句话,就是为虚拟机增加块设备存储(硬盘)。
nova-network的职责是实现网络资源池的管理,包括IP池、VLAN、网桥接口、防火墙等的管理。
nova-schedule的职责是调度虚拟机在哪个物理宿主机上的部署。
最核心的AMQP通过消息中间件实现各模块之间的消息通信。
也转载一个陈沙克对openstack的组件介绍
http://www.chenshake.com/openstack-component-introduction-2/
官方文档(icehouse版)的各个组件的英文介绍
Service Project name Description
- Openstack百科——系统结构
- Openstack百科——功能剖析
- Openstack百科——计算资源池
- Openstack百科——存储资源池
- IT——百科
- 百科—二分图
- 百科—最短路
- OpenStack环境部署学习笔记——安装linux系统
- centos系统安装openstack—dashboard安装和展示
- IT百科——数据类型
- IT百科——类
- IT百科——标识符
- 车库百科——信息论
- 网络百科——集线器
- 网络百科——网桥
- 网络百科——交换机
- Linux—系统目录结构
- 存储结构(百度百科)
- [LeetCode27]Distinct Subsequences
- android小游戏模版—重力感应
- unity3d之GameObject,Component继承关系
- 基于Servlet、JSP、JDBC、MySQL的登录模块(含过滤器的使用和配置)
- 软件工程师必备技能和工具箱
- Openstack百科——系统结构
- OC中栈区与堆区的内存概念解析
- 我们的语音识别有论坛了……
- Swift编程语言教程-001入门学习基础
- 运动
- CSS创建三角形(小三角)的几种方法
- ubuntu 图形化软件安装
- 淘宝高性能可伸缩平台架构
- jdbc 连接 mysql 时的中文乱码问题