快速了解 OpenStack 架构
作者:LinE 2015-08-26 16:17:49云计算OpenStack OpenStack的是一个开源的云计算平台,它提供了一个部署云的操作平台或工具集。本文对OpenStack的架构做出简要说明。
在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助
本文章相关的灵感/说明/图片来自于https://github.com/yongluo2013/osf-openstack-training/blob/master/installation/openstack-icehouse-for-centos65.md
首先放几张图,详细的解释了OpenStack的架构
以及网络拓扑结构
方便了解整个架构
整个OpenStack由控制节点,计算节点,网络节点,存储节点四大部分组成控制节点负责了对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等计算节点负责了虚拟机运行网络节点负责了对外网络与对内网络之间的通信存储节点负责了对虚拟机的额外存储管理等等以下架构仅为本人理解,不尽完全,如有错误欢迎指出
控制节点架构
控制节点包括以下服务
管理支持服务基础管理服务扩展管理服务管理支持服务包含MySQL与Qpid两个服务
MySQL:数据库作为基础/扩展服务产生的数据存放的地方Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务
Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务
Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作控制节点一般来说只需要一个网络端口用于通信/管理各个节点网络节点架构
网络节点仅包含Neutron服务
Neutron:负责管理私有网段与公有网段的通信,以及管理虚拟机网络之间的通信/拓扑,管理虚拟机之上的防火等等
网络节点包含三个网络端口
eth0:用于与控制节点进行通信eth1:用于与除了控制节点之外的计算/存储节点之间的通信eth2:用于外部的虚拟机与相应网络之间的通信计算节点架构
计算节点包含Nova,Neutron,Telemeter三个服务
基础服务
Nova:提供虚拟机的创建,运行,迁移,快照等各种围绕虚拟机的服务,并提供API与控制节点对接,由控制节点下发任务Neutron:提供计算节点与网络节点之间的通信服务扩展服务
Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务
计算节点包含最少两个网络端口
eth0:与控制节点进行通信,受控制节点统一调配eth1:与网络节点,存储节点进行通信存储节点架构
存储节点包含Cinder,Swift等服务
Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等
Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件
存储节点包含最少两个网络接口
eth0:与控制节点进行通信,接受控制节点任务,受控制节点统一调配eth1:与计算/网络节点进行通信,完成控制节点下发的各类任务博文出处:blog.l1n3.net/cloud/openstack/openstack-framework/