设为首页 收藏本站
查看: 790|回复: 0

[经验分享] 基于heartbeat v2和heartbeat

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2019-1-5 07:54:23 | 显示全部楼层 |阅读模式
  1、操作系统redhat5.8
2、实验准备四台服务器:
VIP:172.16.0.100
node1:172.16.0.22(Heartbeat+Ldirector)
node2:172.16.0.23(Heartbeat+Ldirector)
RS1:172.16.0.24(httpd)
RS2:172.16.0.25(httpd)
实验拓扑图如下:


  
  目录:
一、配置node1和node2的关系:
1、修改双方主机名为node1和node2
2、修改/etc/hosts文件,使node1和node2能解析成不同IP
3、配置双方的ssh信任
4、调整双方主机的时间
二、安装RS1(httpd)和RS2(httpd)软件,并配置成LVS(DR)模型并测试
三、安装与配置Heartbeat和Ldirectord软件
四、hb_gui的图形界面进行配置
五、测试

  一、配置node1和node2的关系


  • 1、修改主机名  
  • #vim /etc/sysconfig/network  
  • HOSTNAME=node1

  • #hostname node1  
  • 注意:确保与uname -n结果一样  

  • 2、修改/etc/hosts文件,使node1和node2能解析成不同IP  
  • #vim /etc/hosts  
  • 172.16.0.22     node1  
  • 172.16.0.23     node2   

  • 3、配置双方的ssh信任  
  • #ssh-keygen -t rsa   
  • #ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.0.23      #把公钥复制到远程主机上去  

  • 提示:node2操作也是一样,最后配置完成进行测试一下:  
  • 在node1上测试:  
  • #ssh node1 'ifconfig' #命令可以执行并返回结果,表示配置成功   

  • 4、调整双方主机的时间  
  • #date 0807132912  
  • #hwclock -w

  二、安装RS1(httpd)和RS2(httpd)软件,并配置成LVS(DR)模型并测试


  • 1、配置RS1  
  • 修改RS1的内核参数  
  • #echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore  
  • #echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce  
  • #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
  • #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  

  • 配置RS1的VIP地址并添加路由  
  • #ifconfig lo:0 172.16.0.100 broadcast 172.16.0.100 netmask 255.255.255.255 up  
  • #route add -host 172.16.0.100 dev lo:0  

  • 使用elinks测试RS1的配置的VIP是否生效  
  • [root@RS1 html]# elinks -dump http://172.16.0.24/index.html  
  •                                       RS1  
  • [root@RS1 html]# elinks -dump http://172.16.0.100/index.html  
  •                                       RS1  
  • 测试成功  
  •                                        

  • 2、配置RS2  
  • 修改RS2的内核参数  
  • #echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore  
  • #echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce  
  • #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
  • #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  

  • 配置RS2的VIP地址并添加路由  
  • #ifconfig lo:0 172.16.0.100 broadcast 172.16.0.100 netmask 255.255.255.255 up  
  • #route add -host 172.16.0.100 dev lo:0  

  • 使用elinks测试RS2的配置的VIP是否生效  
  • [root@RS2 html]#  elinks -dump http://172.16.0.25/index.html  
  •                                       RS2  
  • [root@RS2 html]#  elinks -dump http://172.16.0.100/index.html  
  •                                       RS2  
  • 测试成功

  三、安装与配置Heartbeat和Ldirectord软件


  • 列出需要安装的软件包:  
  • Heartbeat软件包介绍:  
  • 最好使用rpm安装Heartbeat,方便升级  
  • heartbeat-2.1.4-9.el5.i386.rpm               #Heartbeat核心包  
  • heartbeat-devel-2.1.4-9.el5.i386.rpm         #Heartbeat的开发包,提供一些头文件和一些开发库等  
  • heartbeat-gui-2.1.4-9.el5.i386.rpm           #提供图形界面配置crm图形接口  
  • heartbeat-ldirectord-2.1.4-9.el5.i386.rpm    #主要作用:将LVS的Director配置成高可用服务还能检测后端RealServer的健康状态,专门提供的软件  
  • heartbeat-pils-2.1.4-10.el5.i386.rpm         #这是Heartbeat的一个插件,可动态装载的模块,能够将很多的服务配置成高可用服务,提供一些专用的接口  
  • heartbeat-stonith-2.1.4-10.el5.i386.rpm      下面三个软件包是有依赖关系都需要装上  
  • libnet-1.1.4-3.el5.i386.rpm  
  • perl-MailTools-1.77-1.el5.noarch.rpm  
  • 软件包更详细的介绍使用:rpm -qpi 软件包名  

  • 1、安装ipvsadm  
  • #yum -y install ipvsadm  

  • 注意:开机不要自动启动,把ipvsadm服务停止  
  • # /etc/init.d/ipvsadm stop  
  • #chkconfig ipvsadm off  

  • 2、安装Heartbeat和Ldirectord  
  • #yum -y --nogpgcheck localinstall *rpm   

  • 3、配置Heartbeat  
  • #Heatbeat的配置文件:  
  • #主配置文件路径/etc/ha.d/*  
  • #进入/etc/ha.d目录下,可以查看less README.config有详细介绍  
  • #ha.cf          #Heartbeat的主配置文件  
  • #haresources    #Heartbeat的资源配置文件,用于指定双机系统的主节点,集群IP,子网掩码,广播地址以及启动的服务等集群资源  
  • #authkeys       #设定Heartbeat的认证方式,文件权限设置成600  

  • #cp /usr/share/doc/heartbeat-2.1.4/ha.cf /etc/ha.d/  
  • #cp /usr/share/doc/heartbeat-2.1.4/haresources /etc/ha.d/  
  • #cp /usr/share/doc/heartbeat-2.1.4/authkeys  /etc/ha.d/  
  • #chmod 600 authkeys  

  • /etc/ha.cf/ha.cf  
  • #vim /etc/ha.d/ha.cf  
  • 修改并添加以下内容  
  • logfile    /var/log/ha-log  #开启日志功能  
  • bcast   eth0        #利用广播方式来传递心跳信息  
  • node    node1       #定义主机节点就是Heartbeat节点  
  • node    node2  
  • ping 172.16.0.1     #使用ping来判断node节点是否存活  
  • crm on              #启用crm功能  

  • /etc/ha.cf/ha.cf  
  • #vim /etc/ha.d/authkeys  
  • 修改并添加以下内容  
  • auth  1                             #定义加密机制  
  • 1    sha d47cc0984dad648bc470b945121233d1  #定义密码串,下面用dd命令生成  

  • #使用dd if=/dev/urandom count=1 bs=512 |md5sum这命令生成密码串  

  • /etc/ha.cf/ha.cf  
  • #vim /etc/ha.d/haresources  
  • 修改并添加以下内容  
  • #node1   172.16.0.100/16/eth0/172.16.255.255 httpd #定义主节点vip,并定义lsb脚本httpd   

  • 4、配置Ldirecotrd  
  • #cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/  
  • vim /etc/ha.d/ldirectord.cf  
  • checktimeout=3      #超时时间为3秒   
  • checkinterval=1     #每1秒钟检查一下RS  
  • autoreload=yes      #自动加载ldirectord配置文件  
  • quiescent=yes       #静态模式  
  • virtual=172.16.0.100:80     #VIP地址  
  •         real=172.16.0.24:80 gate    #定义RS,后面的gate表示DR模型  
  •         real=172.16.0.25:80 gate    #定义RS,后面的gate表示DR模型  
  •         service=http                #定义的httpd服务  
  •         request=".test.html"        #Ldirectord做健康状态检查依靠的页面,注意:.test.html文件需要在RS下面需要建立  
  •         receive="ok"                #.test.html文件的内容为OK  
  •         scheduler=rr                #LVS的算法是rr  
  •         protocol=tcp                #协议是tcp  
  •         checktype=negotiate         #定义协商方式  
  •         checkport=80                #定义80端口   
  •          
  • 5、启动Heartbeat服务并设置hacluster密码  
  • #service heartbeat start  
  • #passwd hacluster

  四、利用hb_gui图形化进行配置


  • #hb_gui & 输入命令进行图形化界面配置

  定义一个资源,建立组(group)

  选择group,点击ok,进入主界面进行配置vip(172.16.0.100)

  点击OK,并添加Add,再定义Ldirectord

  这需要在group添加,类型选择native,点击OK,进入主界面进行配置Ldirectord

  点击OK,并添加Add,并启动组,下面定义排列约束,让它们永远在一起

  定义Orders

  点击Ok,现在已经全部定义好了,可以测试把node1点变成standby,node2变成Active,看看能不能相互切换
  五、测试
  1、使用ip addr 命令查看一下vip是否存在

  测试成功
  2、使用VIP访问一下web服务器是否正常,并测试是否提供ipvs功能

  刷新一下

  测试成功
  3、使用ipvsadm查看一下连接的状态:
  [root@node1 ha.d]# ipvsadm -Lcn
IPVS connection entries
pro expire state       source             virtual            destination
TCP 01:57  FIN_WAIT    192.168.0.208:51373 172.16.0.100:80    172.16.0.25:80
TCP 01:57  FIN_WAIT    192.168.0.208:51372 172.16.0.100:80    172.16.0.24:80
TCP 01:56  FIN_WAIT    192.168.0.208:51370 172.16.0.100:80    172.16.0.24:80
TCP 01:57  FIN_WAIT    192.168.0.208:51371 172.16.0.100:80    172.16.0.25:80
  测试成功
  4、使RS1服务停止掉,看一下Ldirectord是否能检查出来RS的健康状态,并能自动添加上服务
  #/etc/init.d/httpd stop 停止httpd服务,刷新网页查看一下,此时只有一个RS正常,然后开启服务,再进行测试,查看网页状态是否正常。




运维网声明 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-659472-1-1.html 上篇帖子: LVS+Heartbeat+Ipvsadm+Ldirectord安装 下篇帖子: Heartbeat+LVS实现负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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