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服务显示在同一台主机上
测试:如果一台主机挂了,另一台会接管他,屏蔽故障节点,同时将服务转移到正常节点来执行,从而保证了服务的高可用。
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服务显示在同一台主机上
测试:如果一台主机挂了,另一台会接管他,屏蔽故障节点,同时将服务转移到正常节点来执行,从而保证了服务的高可用。
相关文章推荐
- XP下使用虚拟机安装配置Solaris[多图]
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- Linux下三大免费桌面虚拟机评测
- 当存储无可用空间时无法启动虚拟机
- Windows 8虚拟机不能全屏的解决方法
- 使用VMware Workstation虚拟机保护数据
- 用 GNOME Boxes 下载一个操作系统镜像
- Hyper-V虚拟机不能上网问题的解决方法
- win2008 r2 hyper-v虚拟机的安装使用图文教程第1/2页
- android 使用虚拟机安装apk(图文教程)
- master数据库损坏的解决办法有哪些
- Vmware虚拟机的安装及配置方法
- SQLServer中master数据库分析
- 在数据库‘master’中拒绝CREATE DATABASE权限问题的解决方法
- 深入解析java虚拟机
- Java虚拟机JVM性能优化(二):编译器
- 如何配置Apache服务器中的虚拟机
- apache虚拟机配置步骤和修改访问端口的方法(虚拟机端口映射)
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)
- 用C语言来实现一个简单的虚拟机