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
下一篇 2016-07-07

相关推荐

  • 软件包管理、自建yum源与LAMP架构的自动编译安装

    软件包管理 CentOS采用RedHat开发的rpm包管理器管理应用程序包。rpm包是由二进制可执行程序、库、配置文件、帮助文件等组成,支持安装、卸载、查询、升级、降级、校验等操作。 从组成结构上,rpm包由文件清单、安装和卸载时运行的脚本构成。 包管理器有其自带的公共数据库。其数据包括:程序包的名称、版本、依赖关系,功能说明,及各个文件的路径及校验码信息等…

    Linux干货 2016-12-05
  • 第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 答:#egrp ‘^(root|fedora|user1)’ /etc/passwd | cut -f1,7 -d: 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 答:#egrp -o &…

    Linux干货 2017-02-25
  • Linux下LVM

    LVM(Logic Volume Management,逻辑卷管理         由多个块设备(pv,卷)组成一个逻辑卷组(vg),接着在逻辑组上创建逻辑卷(lv),实现在线缩减逻辑卷与逻辑卷组。 实验:     1、VM虚拟机添加硬盘:…

    Linux干货 2016-06-09
  • 马哥教育第一天记

    一天学习心得和记录

    Linux干货 2018-03-26
  • N27网络班第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf 至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符 :%s@^[[:space:]]…

    Linux干货 2017-09-03
  • 用户、组及权限管理详解

    用户类别:Liunx中用户标识范围在0-65535之间; 超级用户(管理员) —— 默认为root,拥有所有权限。UID与GID值为0, 普通用户 系统用户 —— CentOS6中UID与GID值为1~499,CentOS7中UID与GID值为1~999。默认不能登录系统,存在主要是满足系统进程对文件属主的需求; 登录用户 —— CentOS6中UID与GI…

    2018-03-08

评论列表(1条)

  • liangxiaoming
    liangxiaoming 2016-07-12 13:00

    厉害啊!!