首页 » openstack » 正文

如何通过pacemaker撘建一个高可用的apache集群

实验环境:

操作系统fedora21

serverc的eth0的配置文件如下:

两台虚拟机的主机名称分别设置为离serverc ,和serverd,并且加入离/etc/hosts,保证两个虚拟机之间能够解析

然后配置两台主机可以相互免密码登陆

安装相关软件(两台):

yum install -y pacemaker pcs psmisc policycoreutils-python

防火墙:

firewall-cmd –permanent –add-service=high-availability
firewall-cmd –reload

直接关闭也行

setenforce 0

启动
systemctl start pcsd.service

systemctl enable pcsd.service

修改密码passwd hacluster
如上所有操作都是两台

好了,我们开始把两台关联起来,因为上边所有的步骤都没牵扯到另外的一台机器

pcs cluster auth serverc serverd

pcs cluster setup –name mycluster serverc serverd

好了,然后我们就撘建好了….当然,没蛋用,因为还没有设置

先启动

通过如下命令检验

好了,我们增加一个虚拟IP:

首先这个192.168.122.120现在是没有的,我们增加之后就形成两一个主备两台机器,然后其中一台来充当这个120

校验配置:
crm_verify -L -V

修正:
pcs property set stonith-enabled=false

一定要校验之后添加,否则会出现其不来的情况

然后这个时候我们就能够Ping 120了

注意:pacemaker有apache相关打模块,可以添加一个apache服务相关的,但是我感觉下边的方法要简单一些
然后我们在两台机器上都安装apache

yum install httpd

然后启动

systemctl start httpd

然后,我们编辑

vi /var/www/html/index.html

serverc,我们输入serverc

serverd,我们输入serverd

如上结果说明我们现在访问的是serverc上的apache

好了,现在我们制造一些麻烦

我们把serverc上的pacermaker停掉,相当于关机什么的,看看能不能自动调转过去

pcs cluster stop serverc

然后我们再访问

发现自动跳到serverd去了

此情况仅仅适用于特殊情况,apache配置文件的更新在这个例子中是一个问题,当然如故使用pacemaker自带的apache模块的话这个问题就没有两

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)