《OpenStack高可用集群(下册):部署与运维》—11.4.4 Memcache缓存系统高可用部署
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。
- 点赞
- 收藏
- 关注作者
评论(0)