; Heartbeat高可用http | Linux运维部落

Heartbeat高可用http

Heartbeat高可用http

  1. 实验图

  2. heartbeat高可用http

一、实验图:

1.png

二、heartbeat高可用http(Heartbeat V1 haresource)

  • heartbeat节点ssh互信

  • heartbeat节点名称相互解析,uname -n

  • heartbeat节点时间一致性

安装前准备:

ssh多节点互信

[root@node4 ~]# ssh-keygen -t rsa
[root@node4 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node3
root@node3's password: 
Now try logging into the machine, with "ssh 'root@node3'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@node4 ~]#

节点时间一致检查

[root@node4 ~]# ntpdate 192.168.3.10
[root@node4 ~]# ssh node3  'date';date
Mon Jul  4 20:30:39 CST 2016
Mon Jul  4 20:30:39 CST 2016
[root@node4 ~]#

1
<span class="pln"></span>

多节点名称解析

[root@node4 ~]# ssh node3  'uname -n';uname -n
node3
node4
[root@node4 ~]#

安装heartbeat:

[root@node4 ~]# yum install perl-TimeDate PyXML libnet net-snmp-libs libtool-ltdl -y
[root@node4 ~]# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
[root@node3 ~]# yum install perl-TimeDate PyXML libnet net-snmp-libs libtool-ltdl -y
[root@node3 ~]# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

准备heartbeat配置文件:

[root@node4 ~]# cd /usr/share/doc/heartbeat-2.1.4/
[root@node4 heartbeat-2.1.4]# cp authkeys ha.cf haresources /etc/ha.d/
[root@node4 heartbeat-2.1.4]# cd /etc/ha.d/
[root@node4 ha.d]# 

[root@node4 ha.d]# vi authkeys    #配置双节点心跳信息通信密码
    auth 3
    3 md5 Hello!manager1
[root@node4 ha.d]# vi ha.cf
    logfile /var/log/ha-log                #定义日志格式
    keepalive 2                            
    deadtime 30
    warntime 10
    udpport 694                            #监听694端口
    mcast eth0 225.0.3.1 694 1 0            #节点多播方式转发心跳信息
    auto_failback on
    node    node3                        #heartbeat集群存在节点数
    node    node4
    ping 192.168.3.1                    #ping节点仲裁
    compression    bz2
    compression_threshold 2
[root@node4 ha.d]# chmod 600 authkeys    #修改认证密码文件的权限
[root@node4 ha.d]# vi haresources
    node4  192.168.3.50/24/eth0 httpd    #以node4节点为dc,并且定义集群VIP与资源http服务
[root@node4 ha.d]# scp ha.cf haresources authkeys node3:/etc/ha.d/    #node3节点也需要此配置
    ha.cf                                                               100%   10KB  10.3KB/s   00:00    
    haresources                                                         100% 5939     5.8KB/s   00:00    
    authkeys                                                            100%  651     0.6KB/s   00:00    
[root@node4 ha.d]#

安装httpd服务:

1
<span class="pln"></span>

[root@node4 ha.d]# yum install httpd -y
[root@node4 ha.d]# echo "<h1>nnode4 web server</h1>" > /var/www/html/index.html
[root@node4 ha.d]# chkconfig httpd off                                    #关闭http服务开机自启动
[root@node4 ha.d]# service httpd stop                                    #关闭http服务,因为资源服务的启动都是有heartbeat来完成
Stopping httpd:                                            [  OK  ]
[root@node4 ha.d]#

[root@node3 ha.d]# yum install httpd -y
[root@node3 ha.d]# echo "<h1>nnode3 web server</h1>" > /var/www/html/index.html
[root@node3 ~]#  chkconfig httpd off
[root@node3 ~]# service httpd stop                                    
Stopping httpd:                                            [  OK  ]
[root@node3 ~]#

1
<span class="pln"></span>

启动heartbeat服务,并测试:

[root@node4 ha.d]# service heartbeat restart
Stopping High-Availability services: 
Done.

Waiting to allow resource takeover to complete:
Done.

Starting High-Availability services: 
2016/07/04_20:59:23 INFO:  Resource is stopped
Done.

[root@node4 ha.d]#


[root@node3 ~]# service heartbeat restart    #我在node3启动heartbeat时,报错,检查报错是认证文件的权限不对,修改修改权限为600就可以了
Stopping High-Availability services: 
Done.

Waiting to allow resource takeover to complete:
Done.

Starting High-Availability services: 
2016/07/04_21:00:13 INFO:  Resource is stopped
 Heartbeat failure [rc=6]. Failed.

heartbeat: udpport setting must precede media statementsheartbeat[2154]: 2016/07/04_21:00:13 ERROR: Ba
d permissions on keyfile [/etc/ha.d/authkeys], 600 recommended.heartbeat[2154]: 2016/07/04_21:00:13 ERROR: Authentication configuration error.
heartbeat[2154]: 2016/07/04_21:00:13 ERROR: Configuration error, heartbeat not started.
[root@node3 ha.d]# chmod 600 authkeys 
[root@node3 ha.d]# service heartbeat restart
Stopping High-Availability services: 
Done.

Waiting to allow resource takeover to complete:
Done.

Starting High-Availability services: 
2016/07/04_21:01:51 INFO:  Resource is stopped
Done.

[root@node3 ha.d]#

ns1测试:

[root@ns1 ~]# curl 192.168.3.50
<h1>nnode4 web server</h1>
[root@ns1 ~]#

2.png

1
<span class="pln"></span>

这一部分到此OK,接着做.

二、heartbeat高可用http(Heartbeat V2 crm heartbeat gui工具)

修改配置:

[root@node4 ha.d]# service heartbeat stop
[root@node3 ha.d]# service heartbeat stop
[root@node4 ha.d]# vi ha.cf 
    crm     on
[root@node3 ha.d]# vi ha.cf 
    crm     on

1
<span class="pln"></span>

安装heartbeat-gui工具:

[root@node4 ~]# yum install pygtk2-libglade
[root@node4 ~]# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm 
[root@node3 ~]# yum install pygtk2-libglade
[root@node4 ~]# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm

启动heartbeat服务:

1
<span class="pln"></span>

[root@node4 ~]# service heartbeat start
[root@node3 ~]# service heartbeat start
[root@node4 ~]# passwd hacluster                #此用户使我们在安装heartbeat-gui时创建,我们登录gui时需要此用户和密码,默认没有密码,需要我们设置,才能准确登录gui
[root@node3 ~]# passwd hacluster
[root@node4 ~]# hb_gui &            #打开gui工具报错,gui工具是监听在5560端口,如果打不开,可以检查此端口是否监听
[1] 2810
[root@node4 ~]# 
Traceback (most recent call last):  File "/usr/bin/hb_gui", line 41, in <module>    
import gtk, gtk.glade, gobject  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>    _init()  
File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init    _gtk.init_check()RuntimeError: could not open display
X11-forward报错
需要安装如下包,安装完成之后重新登录shell即可
[root@node4 ~]# yum install -y xorg-x11-xauth
[root@node4 ~]# hb_gui &
node3不知道为什么报错了,直接killall heartbeat 系统重启,之后就可以了。

1
<span class="pln"><code class="language-c"><span class="pln"></span>

测试gui工具:

3.png

设置http服务:

1
<span class="pln"><img alt="4.png" src="/ueditor/php/upload/image/20160704/1467639688181990.png" title="1467639688181990.png"/></span>

接着添加web_vip,有顺序,先启动的资源,先添加,后启动的资源后添加,那我们应该先启动IP,接着再去启动http服务

1
<span class="pln"><img alt="5.png" src="/ueditor/php/upload/image/20160704/1467639795167687.png" title="1467639795167687.png"/></span>

1
<span class="pln"><img alt="6.png" src="/ueditor/php/upload/image/20160704/1467639878656057.png" title="1467639878656057.png"/></span>

1
<span class="pln"><img alt="7.png" src="/ueditor/php/upload/image/20160704/1467640119687407.png" title="1467640119687407.png"/></span>

测试web服务:

[root@ns1 ~]# curl 192.168.3.50
<h1>nnode4 web server</h1>

修改node4为standby:

1
<span class="pln"><img alt="8.png" src="/ueditor/php/upload/image/20160704/1467640426678725.png" title="1467640426678725.png"/></span>

服务已经发生切换:

[root@ns1 ~]# curl 192.168.3.50
<h1>nnode3 web server</h1>

设置共享存储:

[root@ns1 ~]# exportfs -arv
exporting 192.168.3.0/24:/www/htdocs
[root@ns1 ~]# echo "<h1>nfs web server</h1>" > /www/htdocs/index.html

客户端安装nfs-utils,并且测试挂载:

1
<span class="pln"></span>

[root@node4 ~]# yum install nfs-utils -y
[root@node4 ~]# cat /var/www/html/index.html 
<h1>nfs web server</h1>
[root@node4 ~]#

1
<span class="pln"></span>

停止资源,重新配置资源组:

9.png

1
<span class="pln"><img alt="10.png" src="/ueditor/php/upload/image/20160704/1467641308109268.png" title="1467641308109268.png"/></span>

测试网页:

[root@ns1 ~]# curl 192.168.3.50
<h1>nfs web server</h1>
[root@ns1 ~]#

设置node3为standby,检查服务转移到node4:

1
<span class="pln"><img alt="11.png" src="/ueditor/php/upload/image/20160704/1467641494563407.png" title="1467641494563407.png"/></span>

Heartbeat高可用mysql在此环境上接着做。

原创文章,作者:nice_neo_linux,如若转载,请注明出处:/22001

评论列表(1条)

  • liangxiaoming
    liangxiaoming 2016-07-12 13:00

    厉害啊!!

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达招商  万达娱乐开户  万达娱乐招商  万达娱乐平台  万达登录  万达直属QQ  万达主管  万达娱乐直属  万达注册  万达招商