操作系统:rhel6.5
server1 ip : 172.25.62.1
server2 ip : 172.25.62.2
客户主机ip: 172.25.62.250
1.配置高级yum源
[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo
[rhel6.5]
name=rhel
baseurl=http://172.25.62.250/rhel6.5
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.62.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.62.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.62.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.62.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=0
~
2.在server1,server2安装所需软件
[root@server1 ~]# yum install pacemaker -y
[root@server1 ~]# yum install pssh-2.3.1-2.1.x86_64.rpm -y
[root@server1 ~]# yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm -y
[root@server1 ~]#yum install httpd -y
安装pacemaker,获取 pssh, crmsh的安装包,安装
两台主机都做相同操作,并且编写http的测试页。
3.修改配置文件
[root@server1 ~]# cd /etc/corosync/
[root@server1 corosync]# ls
corosync.conf.example corosync.conf.example.udpu service.d uidgid.d
[root@server1 corosync]# cp corosync.conf.example corosync.conf
将配置文件复制并重命名。
[root@server1 corosync]# vim corosync.conf
10 bindnetaddr: 172.25.62.0 #与server1同网段即可
11 mcastaddr: 226.94.1.1 #多播地址
12 mcastport: 5413 #多播端口
13 ttl: 1
35 service {
36 name:pacemaker
37 ver:0
38 }
修改文件。
[root@server1 corosync]# scp /etc/corosync/corosync.conf server2:/etc/corosync/
将文件给server2也发一份。
4.server1,和server2都启动corosync服务
[root@server1 corosync]# /etc/init.d/corosync start
[root@server2 corosync]# /etc/init.d/corosync start
5.设置集群资源
在server2:
[root@server2 corosync]# crm
crm(live)configure# property stonith-enabled=false
crm(live)configure# verify
crm(live)configure# commit
2.先设置集群资源VIP,再设置apache服务
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.62.100 nic=eth1cidr_netmask=24
crm(live)configure# verify
crm(live)configure# commit .
3.添加资源:启动脚本
crm(live)configure# primitive apache lsb:httpd op monitor interval=10s
crm(live)configure# verify
crm(live)configure# commit
此时,可以在server1进行动态监控。
[root@server1 corosync]# crm_mon
动态监控下看到此时的VIP在server1上,httpd在server2上
4.设置资源组
crm(live)configure# group website vip apache
crm(live)configure# verify
crm(live)configure# commit
在server1:
[root@server1 corosync]# crm
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# verify
crm(live)configure# commit
测试:
在客户主机进行测试,当将server2的corosync服务停掉之后,访问到了server1节点,重新大开服务之后,还是访问的server1节点,停掉server1的corosync服务,又访问到了server2,这样就实现了高可用的防止单点故障。