未加星标

Power 服务器上 Ceilometer Central Agent 的高可用实践

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏
概述:

随着 Power 服务器逐渐融入 OpenStack 的生态系统以及对 OpenStack 社区支持力度的不断加大,Power 服务器作为计算资源,存储资源已经是云环境中的常用部署方案,如何在云环境中用 Ceilometer 对资源进行监控,并且对 Ceilometer 实现高可用的部署是常见的需求。本文介绍了如何通过借助 IBM LTC OpenStack 团队构建的 RDO(RPM Distribution of OpenStack)在 Power 上所需要的 RPM 包,在 Power 上搭建 OpenStack 环境,并通过 Pacemaker 实现 Ceilometer Central Agent 的主备模式的高可用。

本文将分为以下几个篇章进行说明:

Ceilometer 和 Pacemaker 项目的简介 实验环境的搭建 实验演示 Ceilometer Central Agent 的主备模式高可用 Ceilometer 简介

Ceilometer 是 OpenStack 的一个子项目,负责收集 OpenStack 系统中的计量数据和敏感事件。Ceilometer 通过主动查询和事件监听的方式获取这些数据,并将这些数据传送给包括数据存储和消息队列等多种类型的数据消费者。

Pacemaker 简介

Pacemaker 是一个集群资源管理器,它利用集群基础构件提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现集群服务(资源)的最大可用性。

实验环境的搭建 实验环境拓扑结构

图 1. 实验环境拓扑图


Power 服务器上 Ceilometer Central Agent 的高可用实践
Power 服务器上 Ceilometer Central Agent 的高可用实践
实验环境描述

如图 1 所示,实验环境由两台 Power 节点构成,其中 allinone-newton 节点上部署了 RDO All-in-One 环境并作为 Ceilometer Central Agent 服务的主节点,centos-cloud-hx 节点则仅部署 Ceilometer 服务并作为 Ceilometer Central Agent 服务的备用节点。这两个节点被配置在同一个 Pacemaker 集群中。

allinone-newton 节点:

操作系统:CentOS 7.2 OpenStack 版本:RDO Newton Release CPU: 4 Core RAM: 8 GB Hard Disk: 500 GB

centos-cloud-hx 节点:

操作系统:CentOS 7.2 Ceilometer 版本:RDO Newton Release CPU: 4 Core RAM: 8 GB Hard Disk: 500 GB 搭建控制节点 All-in-One 节点的部署

我们选用 RDO Newton Release 在 allinone-newton 节点上部署一套 All-in-One 的 OpenStack 环境,部署详细过程可以参考 RDO 官方文档 ,这里不再赘述。需要注意的是,由于我们的试验机器是 ppc64el 架构,因此在部署时,需要为 RDO 配置 ppc64el 的 yum 源:

baseurl=ftp://ftp.unicamp.br/pub/ppc64el/centos/7_2/virt/
baseurl=ftp://ftp.unicamp.br/pub/ppc64el/centos/7_2/openstack/ Ceilometer Central Agent 备用节点的部署

我们将 centos-cloud-hx 节点作为 Ceilometer Central Agent 的备用节点,在该节点上安装了 RDO newton release 版本的 Ceilometer 服务。并将 allinone-newton 节点上关于 Ceilometer 服务的所有配置文件(位于/etc/ceilometer 目录下)拷贝到备用节点 centos-cloud-hx 上。

Pacemaker 集群的搭建 节点的准备工作

我们在本次试验中搭建的 Pacemaker 集群由两个节点组成,我们需要在这两个节点上安装 Pacemaker 及其所依赖的软件,需要安装的软件包如下:

pacemaker pcs (CentOS or RHEL) or crmsh corosync fence-agents (CentOS or RHEL) or cluster-glue resource-agents libqb0 在集群的各个节点上启动 pcs 服务

在各节点上执行以下命令启动 pcs 服务

$ systemctl enable pcsd $ systemctl start pcsd 为集群的各个节点配置密码认证

首先在各个节点上为集群用户 hacluster 设置密码

$ echo my-secret-password | passwd --stdin hacluster

密码设置完成后,让各个节点通过用户名密码验证

$ pcs cluster auth allinone-newton centos-cloud-hx -u hacluster -p my-secret-password force

双节点集群的配置

Pacemaker 集群存在脑裂的可能,即个别节点不能和其他集群中的节点再进行通信了,这时 Pacemaker 会把这些不能通信的节点踢出集群。但有一个要求是活跃的节点数必须大于总节点数的一半,否则所有节点都会停止服务。所以一般要求集群节点数是基数个。对双节点集群来说,理论上如果一个节点停止服务了,另外一个节点由于没超过总节点数的一半也会停止服务。所以对本次试验环境中的双节点 Pacemaker 集群我们需要做以下配置,禁止 stonith 服务和 quorum 服务:

$ pcs property set no-quorum-policy=ignore $ pcs property set stonith-enabled=false 启动集群

完成所有安装配置工作后,就可以启动集群了

$ pcs cluster setup --force --name my-first-openstack-cluster allinone-newton centos-cloud-hx $ pcs cluster start --all 在 Pacemaker 中配置 Ceilometer 服务 将 Ceilometer Central Agent 服务添加到 Pacemaker 集群

$ pcs resource create ceilometer-central systemd:openstack-ceilometer-central op monitor start-delay=10s

实验演示 Ceilometer Central Agent 服务的高可用性

经过上面的步骤,我们已经成功的搭建了实验环境。下面我们在实验环境上测试 Ceilometer Central Agent 服务的高可用性。

查看集群状态

可以看到集群中两个节点都在正常运行,Ceilometer Central Agent 服务运行在 allinone-newton 节点上:

图 2. 集群状态


Power 服务器上 Ceilometer Central Agent 的高可用实践
Power 服务器上 Ceilometer Central Agent 的高可用实践
计量数据查询

我们通过 Ceilometer 命令查询系统中的计量数据,以验证 Ceilometer Central Agent 服务是否正常工作,我们选择 storage.objects.containers 作为查询对象:

图 3. 计量数据查询


Power 服务器上 Ceilometer Central Agent 的高可用实践
Power 服务器上 Ceilometer Central Agent 的高可用实践

可以看到能够正常获得所查询到计量数据。

模拟节点失效

我们通过命令将 allinone-newton 节点从 Packmaker 集群中去除,以模拟节点失效的情况:

$ pcs cluster stop allinone-newton

此时我们再次查看集群状态,可以看到 Ceilometer Central Agent 服务已经自动切换到 centos-cloud-hx 节点上:

图 4. 服务在集群节点间的自动切换


Power 服务器上 Ceilometer Central Agent 的高可用实践
Power 服务器上 Ceilometer Central Agent 的高可用实践
确认服务正常工作

服务自动切换到新节点后,我们再次查询 storage.objects.containers 计量数据,可以看到仍然可以成功查询:

图 5. 再次查询计量数据


Power 服务器上 Ceilometer Central Agent 的高可用实践
Power 服务器上 Ceilometer Central Agent 的高可用实践

通过上面的实验,我们可以看到,当 Ceilometer Central Agent 服务所在节点失效后,服务将自动切换到 Pacemaker 集群中的其他可用节点上,并继续正常运行,实现了高可用。

总结

本文对 Ceilometer 和 Pacemaker 进行了简单介绍,并说明了利用 Pacemaker 集群搭建 Ceilomter Central Agent 的高可用环境的步骤,最后在实验环境中演示了当节点失效时,服务在 Pacemaker 集群中的其他节点间的自动切换,达到高可用的目的。

参考资料

Ceilometer 项目主页

Pacemaker 项目主页

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:Power 服务器上 Ceilometer Central Agent 的高可用实践
本站链接:http://www.codesec.net/view/534266.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(15)