天天看点

heartbeat v2版CRM的高可用web集群的实现

集群架构图 :

                                    主节点(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:

由于无资源配置文件,启动非常快速。

查看监听端口:

[root@node1 ~]# ss -tunl |grep 5560

tcp   LISTEN     0      10                     *:5560                  *:*

3.图形化配置

登录GUI界面

<a href="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnrwmT6jn-AACMIuAJanM601.jpg" target="_blank"></a>

输入用户名密码登录:

<a href="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1Snr-CiK_-iAAEGsXYueDU052.jpg" target="_blank"></a>

4.新建资源类型webip:定义VIP

<a href="http://s3.51cto.com/wyfs02/M00/58/02/wKioL1SnsBTT5J33AAGuavXTP0o894.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/58/04/wKiom1Snr0PjphoQAAK0S6Wh4ow659.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1Snr26DCuEPAALC4x4Id5o058.jpg" target="_blank"></a>

添加完成后就点击Add即可:

5.新建资源类型webserver,定义httpd服务

<a href="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1Snr5Sw8blIAAJaZDEs-88387.jpg" target="_blank"></a>

完成后启动资源测试:启动webip和webserver即可

<a href="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1Snr-ayjFVTAAJs51UTcEk768.jpg" target="_blank"></a>

启动完成,但是资源未一起在同一节点启动,符合公平分配原则,我们需要使用排列约束,分组,顺序约束实现资源的启动节点。

6.协同限制配置

<a href="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnsErCpgZdAAGukN7u4Ic579.jpg" target="_blank"></a>

设置成webip所在节点,webserver也会在那个节点启动:

<a href="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1SnsSCgJu2EAAHDeanCzZ8262.jpg" target="_blank"></a>

效果出现,因为开始webip在node2节点启动,所以配置协同约束后,webserver自动就切换到node2启动:

<a href="http://s3.51cto.com/wyfs02/M02/58/04/wKiom1SnsIHCXPtDAALQ_-93EDY433.jpg" target="_blank"></a>

7.顺序约束配置:

<a href="http://s3.51cto.com/wyfs02/M00/58/02/wKioL1SnsWGhzmxSAAG357nt45Q774.jpg" target="_blank"></a>

设置先启动webip资源,然后再启动webserver资源:

<a href="http://s3.51cto.com/wyfs02/M00/58/04/wKiom1SnsL6CJ6DiAALmOs9ouR0686.jpg" target="_blank"></a>

8.位置约束:让资源偏向运行于某个节点

<a href="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsY6yO8lMAAHJ8hY7LAI282.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/58/04/wKiom1SnsOSAJof4AAHjB_XHQ4g311.jpg" target="_blank"></a>

表达式判断:uname  eq  node1.stu31.com ,偏向于node1节点:

<a href="http://s3.51cto.com/wyfs02/M02/58/02/wKioL1Snsa7zEJ5eAAMcjN6h9gI335.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/58/05/wKiom1SnsQuzztHIAALq9iKij7s747.jpg" target="_blank"></a>

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" &gt; /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.使用集群图形化客户端配置添加存储资源

添加存储:

<a href="http://s3.51cto.com/wyfs02/M01/58/05/wKiom1SnsWSAFodqAAILkKc37VE566.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1Snsg-RyypXAAKol5Ps5s8759.jpg" target="_blank"></a>

启动存储

11.协同约束配置

<a href="http://s3.51cto.com/wyfs02/M01/58/02/wKioL1SnsqaQuRdSAAOMxbch058881.jpg" target="_blank"></a>

顺序约束配置:

先启动webip,然后启动webstore,最后启动webserver

<a href="http://s3.51cto.com/wyfs02/M01/58/05/wKiom1SnskSTFfcxAANVM6PerXk239.jpg" target="_blank"></a>

查看节点IP地址:主节点在node1上

[root@node1 ~]# ip addr show

1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; 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:&lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; 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

网页访问:

由于使用的是共享文件系统,所以访问的网页是文件系统中的资源!

本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1964581,如需转载请自行联系原作者