《OpenStack高可用集群(下册):部署与运维》—11.4.4 Memcache缓存系统高可用部署

举报
华章计算机 发表于 2019/05/29 21:38:31 2019/05/29
【摘要】 本书摘自《OpenStack高可用集群(下册):部署与运维》一书中的第11章,第11.4.4节,作者是山金孝。

11.4.4 Memcache缓存系统高可用部署

Memcache缓存主要用于缓解后端数据库查询压力并提高客户端响应速率,Memcache缓存系统高可用主要通过客户端配置文件来设置,缓存服务器无须特别的集群配置,仅需运行Memcache服务即可。关于更多Memcache缓存系统的配置使用和工作原理等内容请参考第6章集群缓存系统部分,本节仅介绍Memcache在Pacemaker集群中的资源创建过程。在本节介绍的OpenStack高可用部署方案中,Memcache同时运行在三个控制节点上,即控制节点同时作为Memcache缓存系统集群。Memcache在Pacemaker集群中的配置部署很简单,只需在各个控制节点安装Memcached软件包,同时将Memcache配置为Pacemaker的Clone资源即可,具体配置过程如下。

在全部控制节点上安装Memcached软件包,在集群管理节点上参考如下脚本在全部控制节点上循环安装Memcached:

for (( i = 1; i <=$ha_cluster_node_num; i++ ))

do

echo "beging install memcached on ${hacluster_node[i]}"

ssh root@${hacluster_node[i]} "yum install -y memcached"

done

其中,${ha_cluster_node_num}为控制节点数目,${hacluster_node[i]}为第i个控制节点主机名,上述脚本将在全部控制节点上自动安装Memcached。Memcached软件包安装完成之后,在Pacemaker集群任意节点上创建Memcache资源,具体命令如下:

pcs resource create memcached systemd:memcached --clone interleave=true"

Memcache资源创建完成后,各个控制节点上Memcached服务的启停将由Pacemaker集群资源管理器自动管理,因此不需要手动设置Memcached服务的启停。通过Pacemaker集群资源查看命令pcs resource可以看到当前集群中的资源运行情况,具体如下:

[root@controller1-vm ~]# pcs resource

 Clone Set: lb-haproxy-clone [lb-haproxy]

     Started: [ controller1-vm controller2-vm controller3-vm ]

 vip-db (ocf::heartbeat:IPaddr2):       Started controller1-vm

 vip-rabbitmq   (ocf::heartbeat:IPaddr2):       Started controller2-vm

 vip-keystone   (ocf::heartbeat:IPaddr2):       Started controller3-vm

 vip-glance     (ocf::heartbeat:IPaddr2):       Started controller1-vm

 vip-cinder     (ocf::heartbeat:IPaddr2):       Started controller2-vm

 vip-swift      (ocf::heartbeat:IPaddr2):       Started controller3-vm

 vip-neutron    (ocf::heartbeat:IPaddr2):       Started controller1-vm

 vip-nova       (ocf::heartbeat:IPaddr2):       Started controller2-vm

 vip-horizon    (ocf::heartbeat:IPaddr2):       Started controller3-vm

 vip-heat       (ocf::heartbeat:IPaddr2):       Started controller1-vm

 vip-ceilometer (ocf::heartbeat:IPaddr2):       Started controller2-vm

 vip-qpid       (ocf::heartbeat:IPaddr2):       Started controller3-vm

 Master/Slave Set: galera-master [galera]

     Masters: [ controller1-vm controller2-vm controller3-vm ]

 Clone Set: memcached-clone [memcached]

     Started: [ controller1-vm controller2-vm controller3-vm ]

可以看到,Memcached服务同时运行在controller1-vm、controller2-vm和controller3-vm三个控制节点上。为了实现集群Memcache缓存系统的高可用,用户在配置缓存系统使用客户端时,只需同时指定Memcache缓存服务器为controller1-vm、controller2-vm和controller3-vm即可,这样任何一个Memcached服务器故障,集群都可以继续为客户端提供缓存功能。本节介绍的Memcache缓存系统高可用部署源代码可参考笔者位于Github上的开源项目(https://github.com/ynwssjx/Openstack-HA-Deployment),对应的部署脚本为4_create_memcached_resource_on_pacemaker.sh。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。