设为首页 收藏本站
查看: 734|回复: 1

[经验分享] HA双机热备的实现(heartbeat)

[复制链接]

尚未签到

发表于 2019-1-6 13:08:27 | 显示全部楼层 |阅读模式
           双机热备的实现
环境:
主节点:node1   node1.test.com      eth0:192.168.0.20  eth1:192.168.1.20
从节点:node2   node2.test.com      eth0:192.168.0.99  eth1:192.168.1.99
测试机:192.168.0.55
一、安装前的准备
++以下是在node1上的操作:
首先修改/etc/hosts文件,保持两个节点改文件相同。如下:
[root@node1 ~]#vim /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
192.168.0.99    node2.test.com  node2   
192.168.0.20    node1.test.com  node1   
192.168.1.99    node2.test.com  node2   
192.168.1.20    node1.test.com  node1
  
拷贝至node2
[root@node1 ~]# scp  /etc/hosts 192.168.0.99:/etc/
安装httpd服务
[root@node1 ~]# yum -y install httpd
[root@node1 ~]# echo "node1 test page" > /var/www/html/index.html
[root@node1 ~]# service httpd start
Starting httpd:                                            [  OK  ]
[root@node1 ~]#
测试是否可用

关闭httpd服务禁止开机启动
[root@node1 ~]# service httpd stop
Stopping httpd:                                            [  OK  ]
[root@node1 ~]# chkconfig httpd off
[root@node1 ~]#
node2上按照以上步骤进行操作

安装httpd服务
[root@node2 ~]# yum -y install httpd
[root@node2 ~]# echo "node2 test page" > /var/www/html/index.html
[root@node2 ~]# service httpd start
Starting httpd:                                            [  OK  ]
[root@node2 ~]#

测试是否可用

关闭httpd服务禁止开机启动
[root@node12~]# service httpd stop
Stopping httpd:                                            [  OK  ]
[root@node2~]# chkconfig httpd off
[root@node2 ~]#
二、安装、配置heartbeat
heartbeat需要安装的软件包如下:                     
heartbeat-pils-2.1.4-10.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
heartbeat-2.1.4-9.el5.i386.rpm            
heartbeat-devel-2.1.4-9.el5.i386.rpm      
heartbeat-gui-2.1.4-9.el5.i386.rpm        
libnet-1.1.4-3.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm  
perl-MailTools-1.77-1.el5.noarch.rpm
将以上安装包全部安装
1、安装heartbeat



[root@node1 ~]# yum -y --nogpgcheck localinstall *.rpm


[root@node2 ~]# yum -y --nogpgcheck localinstall *.rpm



2拷贝三个文件到/etc/ha.d/
[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/authkeys  /etc/ha.d/
[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/ha.cf   /etc/ha.d/
[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/haresources  /etc/ha.d/
[root@node1 ha.d]# ls
authkeys  ha.cf  harc  haresources  rc.d  README.config  resource.d  shellfuncs
[root@node1 ha.d]#
3、编辑主配置文件
[root@node1 ha.d]# vim  ha.cf           #打开以下各行或保证有如下行
debugfile /var/log/ha-debug           #调试日志(调试时建议打开)
logfile /var/log/ha-log            #heartbeat的日志文件
keepalive 2               #心跳的时间间隔,默认时间单位为秒
deadtime 30          #超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
warntime 10       #超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
initdead 120  #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,
           #该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
udpport 694   #设置广播通信使用的端口,694为默认使用的端口号。
bcast eth1 #设置广播通信所使用的网络接口卡。(我们这里设置为eth1,专门用来探测心
          #跳
auto_failback on    #是否允许主节点恢复,自动资源从节点获取。这里on为开启
node    node1   #用于指定主从节点
node    node2

4、编辑 haresources
资源文件,指定主节点,VIP,启动的服务等
格式:node-name network-config
node-name指定双机系统的主节点
network-config用于网络设置,包括指定VIP、子网掩码、广播地址
resource-group 指定使用VIP向外提供的服务,可以为多个
[root@node1 ha.d]# vim haresources
  node1  192.168.0.100    httpd        #在最后一行添加

5、编辑authkeys文件
[root@node1 ha.d]#vim  authkeys  #其中authkeys用于两个节点用来验证的文件,其中有三   
auth 3                           #种算法如下:
#1 crc
#2 sha1 HI!      #三种算法安全性逐渐增强,我们这里选择的md5Hello为密码,也可以  
3 md5 Hello!     #自己使用生成的md5密码。
               
[root@node1 ha.d] chmod 600 authkeys         #一定保证authkeys的权限模型为600
6、将三个文件拷贝到node2
[root@node1 ha.d]# scp  authkeys  haresources  ha.cf  192.168.0.99:/etc/ha.d/
7、记得拷贝httpd脚本到/etc/ha.d/resource.d/,以便更快的查找到。
[root@node1 ha.d]# cp /etc/init.d/httpd  resource.d/
[root@node2 ~]# cp /etc/init.d/httpd  /etc/ha.d/resource.d/
三、实验的测试
1、启动heartbeat (先主节点后从节点)
[root@node1 ~]# service heartbeat start
[root@node2 ~]# service heartbeat start
2、查看服务
[root@node1 ~]# netstat  -tnlp | grep :80
tcp           0      0 :::80           :::*         LISTEN      17058/httpd         
[root@node1 ~]# netstat  -tunlp | grep :694
udp          0       0 0.0.0.0:694     0.0.0.0:*               17200/heartbeat: wr
[root@node1 ~]#
3、查看ipVIP)这里出现了eth0:0 是我们指定的VIP
[root@node1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:75:13:19  
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe75:1319/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38036 errors:0 dropped:0 overruns:0 frame:0
          TX packets:246490 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3743400 (3.5 MiB)  TX bytes:341326043 (325.5 MiB)
          Interrupt:169 Base address:0x2000

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:75:13:19  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:169 Base address:0x2000

eth1      Link encap:Ethernet  HWaddr 00:0C:29:75:13:23  
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
4、访问测试



四、模拟宕机(断开node1网卡)
我在断开网卡后2秒查看node2如下:
1、查看ipVIP
[root@node2 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:50:06:DD  
          inet addr:192.168.0.99  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe50:6dd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:278657 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122244 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:346575843 (330.5 MiB)  TX bytes:13084319 (12.4 MiB)
          Interrupt:169 Base address:0x2000

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:50:06:DD  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:169 Base address:0x2000

eth1      Link encap:Ethernet  HWaddr 00:0C:29:50:06:E7  
          inet addr:192.168.1.99  Bcast:192.168.1.255  Mask:255.255.255.0

2、查看端口
[root@node2 ~]# netstat  -tnlp | grep :80
tcp        0      0 0.0.0.0:802         0.0.0.0:*      LISTEN      1892/rpc.statd      
tcp        0      0 :::80                :::*          LISTEN      16765/httpd         
[root@node2 ~]# netstat  -tunlp | grep :694
udp         0    0        0.0.0.0:694         0.0.0.0:*      16397/heartbeat: wr
[root@node2 ~]#
3、访问测试


五、模拟恢复(重新接上node1网线)
等待一段时间后资源又回到了node1上 (略去不写,因为与三中的内容一致)
访问如下:







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659961-1-1.html 上篇帖子: DRBD+HeartBeat+NFS:配置NFS的高可用 下篇帖子: Impala Heartbeat Timeout
累计签到:29 天
连续签到:1 天
发表于 2019-1-6 13:32:53 | 显示全部楼层
学习了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表