上篇文章:heartbeat v1版CRM的高可用集群的实现
集群架构图 :
主节点(172.16.31.10)
客户端(172.16.31.12) Vitual IP(172.16.31.166) NFS IP(172.16.31.12)
从节点(172.16.31.11)
注:心跳信息传递借助eth0网卡实现
网络以及IP地址规划如下所示:
节点类型 IP地址规划 主机名 类型
主用节点 eth0:172.16.31.10 node1 Public IP
eth0:0 :172.16.31.180 Virtual IP
备用节点 eth0:172.16.31.11 node2 Public IP
存储节点 eth0:172.16.31.12 nfs
一.关闭heartbeat服务
node1和node2都需要关闭:
# service heartbeat stop
Stopping High-Availability services:
Done.
二.正式开始配置heartbeat v2 版本的CRM
开启heartbeat v2版本的CRM,只需要在ha.cf主配置文件末尾加入“crm on”即可,而且haresources文件设置的资源就会失效。
[root@node1 ~]# cat /etc/ha.d/ha.cf |grep-v ^#
logfacility local0
mcast eth0 225.131.31.23 694 1 0
auto_failback on
node node1.stu31.com
node node2.stu31.com
ping 172.16.0.1
crm on
三.集群配置
1.由于我们需要使用图形化界面配置heartbeatv2集群,而安装heartbeat后会生成一个hacluster用户,我们需要设置密码,可以让我们来访问图形化界面:
node1和node2主机都要配置:
# echo oracle |passwd --stdin hacluster
2.使用Linux的GNONE桌面进入heartbeatv2 版本的图形化CRM配置:
首先开启heartbeat服务:
[root@node1 ~]# /etc/init.d/heartbeat start ; ssh node2 ‘service heartbeat start‘
logd is already running
Starting High-Availability services:
Done.
logd is already running
Starting High-Availability services:
Done.
由于无资源配置文件,启动非常快速。
查看监听端口:
[root@node1 ~]# ss -tunl |grep 5560
tcp LISTEN 0 10 *:5560 *:*
3.图形化配置
登录GUI界面
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnrwmT6jn-AACMIuAJanM601.jpg" title="1.jpg" alt="wKiom1SnrwmT6jn-AACMIuAJanM601.jpg" width="650" style="vertical-align:top;border:none;" />
输入用户名密码登录:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1Snr-CiK_-iAAEGsXYueDU052.jpg" title="2.jpg" alt="wKioL1Snr-CiK_-iAAEGsXYueDU052.jpg" width="650" style="vertical-align:top;border:none;" />
4.新建资源类型webip:定义VIP
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/02/wKioL1SnsBTT5J33AAGuavXTP0o894.jpg" title="3.jpg" alt="wKioL1SnsBTT5J33AAGuavXTP0o894.jpg" width="650" style="vertical-align:top;border:none;" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/04/wKiom1Snr0PjphoQAAK0S6Wh4ow659.jpg" title="4.jpg" alt="wKiom1Snr0PjphoQAAK0S6Wh4ow659.jpg" width="650" style="vertical-align:top;border:none;" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1Snr26DCuEPAALC4x4Id5o058.jpg" title="5.jpg" alt="wKiom1Snr26DCuEPAALC4x4Id5o058.jpg" width="650" style="vertical-align:top;border:none;" />
添加完成后就点击Add即可:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsD3CECI6AALhr0466eY211.jpg" title="6.jpg" alt="wKioL1SnsD3CECI6AALhr0466eY211.jpg" width="650" style="vertical-align:top;border:none;" />
5.新建资源类型webserver,定义httpd服务
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1Snr5Sw8blIAAJaZDEs-88387.jpg" title="7.jpg" alt="wKiom1Snr5Sw8blIAAJaZDEs-88387.jpg" width="650" style="vertical-align:top;border:none;" />
完成后启动资源测试:启动webip和webserver即可
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1Snr-ayjFVTAAJs51UTcEk768.jpg" title="8.jpg" alt="wKiom1Snr-ayjFVTAAJs51UTcEk768.jpg" width="650" style="vertical-align:top;border:none;" />
启动完成,但是资源未一起在同一节点启动,符合公平分配原则,我们需要使用排列约束,分组,顺序约束实现资源的启动节点。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsMmBOdPkAAIUrSd6Mx4563.jpg" title="9.jpg" alt="wKioL1SnsMmBOdPkAAIUrSd6Mx4563.jpg" width="650" style="vertical-align:top;border:none;" />
6.协同限制配置
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnsErCpgZdAAGukN7u4Ic579.jpg" title="10.jpg" alt="wKiom1SnsErCpgZdAAGukN7u4Ic579.jpg" width="650" style="vertical-align:top;border:none;" />
设置成webip所在节点,webserver也会在那个节点启动:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1SnsSCgJu2EAAHDeanCzZ8262.jpg" title="11.jpg" alt="wKioL1SnsSCgJu2EAAHDeanCzZ8262.jpg" style="vertical-align:top;border:none;" />
效果出现,因为开始webip在node2节点启动,所以配置协同约束后,webserver自动就切换到node2启动:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/04/wKiom1SnsIHCXPtDAALQ_-93EDY433.jpg" title="12.jpg" alt="wKiom1SnsIHCXPtDAALQ_-93EDY433.jpg" width="650" style="vertical-align:top;border:none;" />
7.顺序约束配置:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/02/wKioL1SnsWGhzmxSAAG357nt45Q774.jpg" title="13.jpg" alt="wKioL1SnsWGhzmxSAAG357nt45Q774.jpg" width="650" style="vertical-align:top;border:none;" />
设置先启动webip资源,然后再启动webserver资源:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1SnsL6CJ6DiAALmOs9ouR0686.jpg" title="14.jpg" alt="wKiom1SnsL6CJ6DiAALmOs9ouR0686.jpg" width="650" style="vertical-align:top;border:none;" />
8.位置约束:让资源偏向运行于某个节点
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsY6yO8lMAAHJ8hY7LAI282.jpg" title="15.jpg" alt="wKioL1SnsY6yO8lMAAHJ8hY7LAI282.jpg" width="650" style="vertical-align:top;border:none;" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnsOSAJof4AAHjB_XHQ4g311.jpg" title="16.jpg" alt="wKiom1SnsOSAJof4AAHjB_XHQ4g311.jpg" width="650" style="vertical-align:top;border:none;" />
表达式判断:uname eq node1.stu31.com ,偏向于node1节点:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1Snsa7zEJ5eAAMcjN6h9gI335.jpg" title="17.jpg" alt="wKioL1Snsa7zEJ5eAAMcjN6h9gI335.jpg" width="650" style="vertical-align:top;border:none;" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/58/05/wKiom1SnsQuzztHIAALq9iKij7s747.jpg" title="18.jpg" alt="wKiom1SnsQuzztHIAALq9iKij7s747.jpg" width="650" style="vertical-align:top;border:none;" />
9.配置NFS服务器
配置nfs服务器
[root@nfs ~]# mkdir /www/htdocs -pv
[root@nfs ~]# vim /etc/exports
www/htdocs 172.16.31.0/16(rw,no_root_squash)
[root@nfs ~]# service nfs start
[root@nfs ~]# showmount -e172.16.31.12
Export list for 172.16.31.12:
/www/htdocs 172.16.31.0/16
创建一个测试网页:
[root@nfs ~]# echo "page from nfsfilesystem" > /www/htdocs/index.html
客户端node1挂载nfs文件系统:
[root@node1 ~]# mount -t nfs 172.16.31.12:/www/htdocs/var/www/html/
[root@node1 ~]# ls /var/www/html/
index.html
访问测试:
[root@nfs ~]# curl http://172.16.31.166
page from nfs filesystem
卸载nfs:
[root@node1 ~]# umount /var/www/html/
10.使用集群图形化客户端配置添加存储资源
添加存储:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/05/wKiom1SnsWSAFodqAAILkKc37VE566.jpg" title="19.jpg" alt="wKiom1SnsWSAFodqAAILkKc37VE566.jpg" width="650" style="vertical-align:top;border:none;" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1Snsg-RyypXAAKol5Ps5s8759.jpg" title="20.jpg" alt="wKioL1Snsg-RyypXAAKol5Ps5s8759.jpg" width="650" style="vertical-align:top;border:none;" />
启动存储
11.协同约束配置
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsqaQuRdSAAOMxbch058881.jpg" title="21.jpg" alt="wKioL1SnsqaQuRdSAAOMxbch058881.jpg" width="650" style="vertical-align:top;border:none;" />
顺序约束配置:
先启动webip,然后启动webstore,最后启动webserver
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/05/wKiom1SnskSTFfcxAANVM6PerXk239.jpg" title="22.jpg" alt="wKiom1SnskSTFfcxAANVM6PerXk239.jpg" width="650" style="vertical-align:top;border:none;" />
查看节点IP地址:主节点在node1上
[root@node1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000
link/ether 08:00:27:db:35:e6 brd ff:ff:ff:ff:ff:ff
inet 172.16.31.10/16 brd 172.16.255.255 scope global eth0
inet 172.16.31.166/16 brd 172.16.31.255 scope global secondary eth0:0
inet6 fe80::a00:27ff:fedb:35e6/64 scope link
valid_lft forever preferred_lft forever
网页访问:
[root@nfs ~]# curl http://172.16.31.166
page from nfs filesystem
由于使用的是共享文件系统,所以访问的网页是文件系统中的资源!
本文出自 “眼眸刻着你的微笑” 博客,请务必保留此出处http://dengaosky.blog.51cto.com/9215128/1964581
heartbeat v2版CRM的高可用web集群的实现
原文地址:http://dengaosky.blog.51cto.com/9215128/1964581