您的位置:首页 > 运维架构 > 网站架构

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

2014-08-19 17:01 267 查看
利用PaceMaker+Qpid(持久化消息)+NFS的Qpid高可用配置

环境说明:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: