2.Heartbeat v2实现web service

上篇我们通过heartbeat v1版本的资源管理器(haresources文件)实现了基于NFS共享存储的web 服务,这篇我们仍然基于上篇的基础上,通过heartbeat v2 版本的资源管理器crm实现mysql的高可用

配置heartbeatv2

配置heartbeatv2版本极为简单,只需要在heartbeat的配置文件中添加一条指令crm on,(注意如果启用此指令,则heartbeat v1版本中haresources资源管理器所定义的资源将不再有用。) 并安装程序包heartbeat-gui既可以实现了.

[root@node3 ~]# service heartbeat stop;ssh node4.magedu.com 'service heartbeat stop'

[root@node3 ~]# vim /etc/ha.d/ha.cf 
[root@node3 ~]# grep -v "^#" /etc/ha.d/ha.cf
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
mcast eth0 225.12.0.1 694 1 0
auto_failback on
node    node3.magedu.com
node    node4.magedu.com
crm on    #添加此条指令
ping 192.168.99.1
compression bz2
compression_threshold 2

[root@node3 ~]# scp /etc/ha.d/ha.cf [email protected]:/etc/ha.d/
ha.cf  

[root@node3 ~]# rpm -ivh heartbeat2/heartbeat-gui-2.1.4-12.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:heartbeat-gui          ########################################### [100%]

[root@node4 ~]# rpm -ivh heartbeat2/heartbeat-gui-2.1.4-12.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:heartbeat-gui          ########################################### [100%]

至此heartbeat v2版本我们已经部署完毕。

启动服务,并查看集群状态

[root@node3 ~]# service heartbeat start;ssh node4.magedu.com 'service heartbeat start'
#查看端口5560
[root@node3 ~]# ss -tnlp|grep 5560
LISTEN     0      10                        *:5560                     *:*      users:(("mgmtd",42585,10))


[root@node3 ~]# crm_mon #查看c集群的状态信息
2.Heartbeat v2实现web service_第1张图片
Paste_Image.png

从上图,我们可以看出,当前HA集群有两个节点, node3和node4,指定的协调员是node4(DC)。

配置资源

当我们启用crm on指令时,此时v1版本资源管理器haresources所定义的资源将不再有效,我们需要通过heartbeat-gui程序包提供的hb_gui指令来实现资源配置。

  • 1.hb_gui需要一个特定用户hacluster登录进行配置
    我们需要给此用户添加密码,因为他不允许无密码登录。只要添加了密码,可以在集群的任意节点进行登录,。
[root@node3 ~]# echo "magedu"|passwd --stdin hacluster
  • 2.打开xshell转化进行登录
[root@node3 ~]# hb_gui &
[1] 42742
2.Heartbeat v2实现web service_第2张图片
Paste_Image.png

点击connection输入账号密码进行登录,如下图:

2.Heartbeat v2实现web service_第3张图片
Paste_Image.png

登录成功如下图:

2.Heartbeat v2实现web service_第4张图片
Paste_Image.png
  • 添加一个资源

点击Resources,点击+,会出现以下会话框:

2.Heartbeat v2实现web service_第5张图片
Paste_Image.png

我们可以添加的资源有native(基本资源)、group(组资源)、因为只有有了基本资源才有主从和克隆的概念,所以此处我们是无法添加主从和克隆两种资源。

示例:定义一个web server

  • ** 配置IP地址**

选择native而后点击ok,而后我们就可以通过以下页面来配置我们的资源属性信息,此处我们配置的是一个ip地址。

2.Heartbeat v2实现web service_第6张图片
Paste_Image.png

此时我们点击启动按钮,此资源将会运行起来,且运行在DC节点上
2.Heartbeat v2实现web service_第7张图片
Paste_Image.png

[root@node4 ~]# ifconfig |grep eth0:0 -A 1
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:62:D9:12  
          inet addr:192.168.99.12  Bcast:192.168.99.255  Mask:255.255.255.0
  • ** 配置web服务**

我们通过httpd来管理web服务


2.Heartbeat v2实现web service_第8张图片
Paste_Image.png

2.Heartbeat v2实现web service_第9张图片
Paste_Image.png

将资源进行绑定

上面我们虽然定义了web服务所需要的基本资源ip和httpd,但是hb_gui默认是将这些基本资源负载均衡到各个集群节点,所以此时ip在node4节点,而web服务在node3节点,这仍然无法满足我们的需求,故,我们需要将IP和httpd绑定在一起。我们可以通过资源约束定义资源组两种方法来实现。

  • 定义排列约束(Colocation)来实现资源绑定
    通过排列约束实现IP和httpd在一起实现webservice,排序约束资源启动有先后顺序,先启动ip,在启动httpd服务,这意味着ip在哪个节点,httpd服务就需要在哪个节点。
    • 右击Colocation,选择Add New Item进而选择colocation,点击OK
      2.Heartbeat v2实现web service_第10张图片
      Paste_Image.png

      2.Heartbeat v2实现web service_第11张图片
      Paste_Image.png
    • 此时这两个资源(IP和httpd)已经绑定在一起了。


      2.Heartbeat v2实现web service_第12张图片
      Paste_Image.png
[root@client ~]# curl 192.168.99.12

node4.magedu.com

2.Heartbeat v2实现web service_第13张图片
Paste_Image.png
[root@client ~]# curl 192.168.99.12

node3.magedu.com

  • 定义顺序约束(order)来实现资源启动顺序控制
    • 右击Order-->Add Now Order[order]-->ok
      2.Heartbeat v2实现web service_第14张图片
      Paste_Image.png
  • 定义位置约束(location)来实现资源对节点的倾向性
    • 右击Location-->Add New Item【location】,此时还不够,还需要通过其属性(Attributes)来定义Location中资源对节点的倾向性
      2.Heartbeat v2实现web service_第15张图片
      Paste_Image.png

你可能感兴趣的:(2.Heartbeat v2实现web service)