利用PaceMaker+Qpid(持久化消息)+NFS的Qpid高可用配置

利用PaceMaker+Qpid(持久化消息)+NFSQpid高可用配置

环境说明:

Qpid-vip192.168.11.34

Qpid-server01192.168.11.22

Qpid-server02192.168.11.23

软件版本:

qpid-cpp-server-0.18

pacemaker-1.1.10

关于pacemaker详细配置请参见<OpenStack组件高可用手册>,这里只做简单配置介绍。

Qpid高可用

说明:pacemaker+qpid的方式存在消息丢失的可能,主备机需要配置Qpid消息持久化到本地并且使用NFS(或这其他共享形式)共享/var/lib/qpidd目录,但当主备服务切换过程中消息服务是不工作的,存在消息丢失的可能性。

以下操作在主备节点均操作

安装Qpid服务

yum install -y qpid-tools qpid-cpp-clientpython-qpid qpid-qmf python-qpid-qmf qpid-cpp-server qpid-cpp-server-store

关闭Qpid服务自启动操作,此目的是为了让pacemaker接管Qpid服务的启动关闭。

chkconfig qpidd off

增加持久化qpid消息参数

vim /etc/qpidd.conf

#增加如下参数

amqp_durable_queues=true

将主机的qpid配置复制到备机

scp -r /etc/qpid/ 192.168.11.23:/etc/

scp /etc/qpidd.conf 192.168.11.23:/etc/

本方案中Qpid在主备节点配置了消息持久化,因此需要共享/var/lib/qpidd/目录

mount 192.168.11.21:/nfs/qpid /var/lib/qpidd

在任意一台节点上配置Qpid crm 脚本

crm configure

primitive p_vip_qpidd ocf:heartbeat:IPaddr2 \

  paramsip="192.168.11.34" cidr_netmask="24" \

  opmonitor interval="30s" timeout="30s"

commit

exit

crm configure

primitive p_qpidd lsb:qpidd

op monitor interval="30s"timeout="30s"

group g_qpidd p_vip_qpidd p_qpidd

colocation col_p_qpidd_on_vip inf: p_qpiddp_vip_qpidd

order ord_vip_before_p_qpidd inf: p_vip_qpiddp_qpidd

commit

exit

#################

#    开启资源    #

#################

crm resource start g_qpidd

#################

#    停止资源    #

#################

crm resource stop g_qpidd

#################

#    删除资源    #

#################

crm resource stop g_qpidd

crm resource cleanup g_qpidd

crm resource delete g_qpidd

修改OpenStack配置中的qpid IP地址为VIP并重启服务,确保服务正常

/etc/glance/glance-api.conf

/etc/glance/glance-registry.conf

/etc/cinder/cinder.conf

/etc/nova/nova.conf

/etc/neutron/neutron.conf

/etc/ceilometer/ceilometer.conf

猜你喜欢

转载自blog.csdn.net/mrz001/article/details/38684753