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

pecamaker+corosync高可用集群的搭建

2016-07-27 23:28 525 查看
实验环境:两台虚拟机
server1:172.25.50.1 #master主机
server2:172.25.50.2 #slave主机
iptables:off selinux:disabled

所需的软件包:crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm
在server1上:yum install pacemaker corosync crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y
在server2上:yum install pacemaker corosync crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y
在server1上:cd /etc/corosync/
cp corosync.conf.example corosync.conf
vim corosync.conf
修改:
bindnetaddr: 172.25.50.0 #添加网段地址
在文件的最后添加:
service {
name: pacemaker
ver: 0
}

scp corosync.conf root@172.25.50.2:/etc/corosync/
在两台虚拟机上:
/etc/init.d/pacemaker start
/etc/init.d/corsync start
执行命令:crm_mod 可以看到两个节点在运行
crm_verify -L
crm_verity -LV
在真机上把配置好的/etc/cluster/fence_xvm.key文件scp到server1和server2上
两台虚拟机上:yum install fence_* -y 不然使用下面的命令找不到所需的文件
分别在两台虚拟机上:cd /etc/cluster/
然后: stonith_admin -a fence_xvm -M
stonith_admin -I
执行命令crm可进入交互的命令行界面
[root@server4 corosync]# crm
crm(live)# configure
crm(live)configure# show
node server2.example.com
node server4.example.com
property $id="cib-bootstrap-options" \
dc-version="1.1.10-14.el6-368c726" \
cluster-infrastructure="classic openais (with plugin)" \
expected-quorum-votes="2"
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server4.example.com:vm4;server2.example.com:vm2" op monitor interval=1min
crm(live)configure# commit
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.50.100 cidr_netmask=
cidr_netmask (string): CIDR netmask
The netmask for the interface in CIDR format
(e.g., 24 and not 255.255.255.0)

If unspecified, the script will also try to determine this from the
routing table.

crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.50.100 cidr_netmask=32 op monitor interval=30s
crm(live)configure# commit
crm(live)configure# primitive website ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval
interval-origin= interval=
crm(live)configure# primitive website ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=lmin
crm(live)configure# commit
WARNING: website: default timeout 20s for start is smaller than the advised 40s
WARNING: website: default timeout 20s for stop is smaller than the advised 60s
vim /etc/httpd/conf/httpd.conf 修改
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
如果另一台主机挂了 可以同步httpd服务 使httpd服务显示在同一台主机上
测试:如果一台主机挂了,另一台会接管他,屏蔽故障节点,同时将服务转移到正常节点来执行,从而保证了服务的高可用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  虚拟机 master server1