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 ~]#

多节点名称解析

[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服务:

[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 ~]#

启动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

这一部分到此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

安装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服务:

[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 系统重启,之后就可以了。

测试gui工具:

3.png

设置http服务:

4.png

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

5.png

6.png

7.png

测试web服务:

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

修改node4为standby:

8.png

服务已经发生切换:

[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,并且测试挂载:

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

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

9.png

10.png

测试网页:

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

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

11.png

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

原创文章,作者:nice_neo_linux,如若转载,请注明出处:http://www.178linux.com/22001

(1)
nice_neo_linuxnice_neo_linux
上一篇 2016-07-07 10:45
下一篇 2016-07-07 10:46

相关推荐

  • Linux基础命令 2017-07-12日课

    bc, lscpu, free, dd, rpm, lsblk, ldd, file, hexdump, uname, sha1sum, sha256sum, md5sum bc an arbitrary precision language scale=NUM ; precision quit lscpu display information about…

    Linux干货 2017-07-12
  • 马哥教育网络班21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; #cp /etc/rc.d/rc.sysinit /tmp #vim /tmp/rc.sysinit :%s/^[[:space:]]/#…

    Linux干货 2016-08-15
  • LVM逻辑卷管理练习

         小编今天要讲的内容是如何创建逻辑卷,然后扩展它、缩减它。LVM 的重点就在于可以弹性的调整文件系统的容量!所以,下面练习开始。 1、创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。 ①准备两个10G的…

    2017-08-26
  • LAMP

    1、请描述一次完整的http请求处理过程; 一次完整的http请求处理过程: (1) 建立或处理连接:接收请求或拒绝请求; (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; (3) 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; (4) 访问资源:获取请求报文中请求的资源; (5) 构建响应报文: (…

    Linux干货 2016-12-14
  • linux上RAID的工作方式

    -. RAID是什么?     磁盘阵列(Redundant Arrays of Independent Disks,RAID),是将多块廉价硬盘组合在一起当作一个更大的硬盘使用,利用可以同时对每个硬盘同时进行读写的特性提高计算机对硬盘的读写能力。我们甚至可以空出RAID中的一块或多块硬盘对整个RAID进行数据校验,提…

    Linux干货 2015-12-06
  • 第三次 练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d "" -f1 |uniq root     pts/0        2016-11-13 12:17 (172.16.220.14) 2、取出最后登录到…

    Linux干货 2016-11-16

评论列表(1条)

  • liangxiaoming
    liangxiaoming 2016-07-12 13:00

    厉害啊!!