openstack集群架构

摸索openstack一段时间了,我们自己数据中心也搭了一套。今天分享给大家,有不妥的地方还望列为技术大师不吝赐教。

关于openstack架构等相关概念就不在这介绍了(这些东西资料一大坨,都被说烂了)。

先来看看我们的系统资源吧,我们的环境中有100台物理服务器,磁盘RAID采用raid 5,之前曾尝试过raid 6,发现对性能的损耗很大,得不偿失啊。服务器都是双网卡,eth0跑虚拟机业务,eth1跑数据业务。

我们是基于openstack的F版本进行开发部署的,再来看一下我们的openstack部署架构吧。


  • 安装部署主控节点

安装部署主控节点用于对openstack进行自动化的批量部署,其中spanner为我们团队自编写的可视化的用于批量安装脚本。

  • 控制节点

控制节点充当着全部节点的“大脑”,安装了除nova-compute外的全部服务,其中包括:前端界面(horizon),数据库(mysql),消息队列(rabbitmq),验证服务(keystone),镜像管理(glance),虚拟机管理(nova),云硬盘管理(cinder),对象存储管理(swift),监控服务(ceilometer)。控制节点全部服务安装在1台物理服务器上。

注:这里的虚拟机管理服务(nova)开启了除nova-compute之外的全部nova服务

  • 存储节点

存储节点用于存储虚拟机实例(nova-instance)数据、对象存储(swift)或块存储(cinder)数据。存储节点用6台物理服务器组成glusterfs分布式共享存储集群,采用写一份数据写一份副本(replica=2)的存储策略,建立3个卷(volume),分别挂载到nova-instance、swift、cinder的数据存储目录。关于glusterfs的详细介绍大家可以看我博客中的其它文章。

  • 计算节点

计算节点是一台一台虚拟机的宿主机们,理论上每个计算节点上只需要安装nova-compute服务即可。但在我们的环境中,考虑到控制节点,特别是当nova-api及nova-network服务都只部署在控制节点上时,其承载的压力过大,而且容易发生单点故障。所以我们在计算节点上同时安装部署了nova-api和nova-network服务,采用这种分布式的方式部署后,nova-api和nova-network都指向计算节点本身的nova-api和nova-network服务,而不再指向控制节点的nova-api和nova-network服务。以nova-network为例,每个虚拟机实例出口网关不再是控制节点的相应网卡,而是其宿主机的相应网卡。关于这点有兴趣的读者可以看我上一篇文章。

  • 服务高可用节点

服务高可用节点主要是针对消息队列负载过大和单点故障情况,应用HAProxy及keepalived对消息队列服务进行负载均衡。后台采用mongodb存储监控数据,以提高查询效率。


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值