Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134881
  • 博文数量: 34
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 252
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-27 20:04
文章分类

全部博文(34)

文章存档

2018年(1)

2017年(23)

2016年(10)

我的朋友

分类: 云计算

2017-03-09 15:20:26

在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助

  本文章相关的灵感/说明/图片来自于

  首先放几张图,详细的解释了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:与计算/网络节点进行通信,完成控制节点下发的各类任务

阅读(1479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~