千家信息网

heartbeat+lvs怎么构建高可用负载均衡集群

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,小编给大家分享一下heartbeat+lvs怎么构建高可用负载均衡集群,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!hea
千家信息网最后更新 2024年09月22日heartbeat+lvs怎么构建高可用负载均衡集群

小编给大家分享一下heartbeat+lvs怎么构建高可用负载均衡集群,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

heartbeat+lvs实现高可用负载均衡原理:

两台heartbeat(ldirectord)主机构成高可用集群,同时监管着lvs(负载均衡集群)整体构成了heartbeat+lvs的高可用负载均衡集群.在使用heartbeat的时候加载了watchdog模块,用来检测heartbeat服务,当heartbeat服务出现故障,会进行重启主机。

注意:但是,当内核崩溃了,watchdog也无能了(modprobe softdog),因为watchdog是基于内核级别的软件服务(相当于软fence一种硬件保护机制)

实验环境:CentOS 6.4

系统架构主要由四台主机组成,两台heartbeat主机作为lvs和heartbeat,两台Real Server主机作为真实服务器。

实验准备:

1.在本地/etc/hosts文件中定义各个节点的解析。

2.关闭selinux和iptables

3.软件下载:heartbeat-3.0.4-1.el6.x86_64.rpm heartbeat-devel-3.0.4-1.el6.x86_64.rpm

ldirectord-3.9.2-1.2.x86_64.rpm heartbeat-libs-3.0.4-1.el6.x86_64.rpm

实验步骤:

一、heartbeat安装及配置:

# yum localinstall *.rpm 使用yum方式安装,能够解决本地rpm包所需要依赖(前提得需要yum源)

#less /etc/ha.d/README.config

ha.cf Main configuration file heartbeat高可用主配置文件
haresources Resource configuration file 资源文件
authkeys Authentication information 认证文件

# cd /usr/share/doc/heartbeat-3.0.4/

# cp authkeys haresources ha.cf /etc/ha.d/

# vim ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2 指定心跳间隔为2s
deadtime 30 备用节点在30s后自动接管资源
warntime 10 心跳延迟10s,10s内备用机不接受主节点心跳 就会发出警告
initdead 60 重启后恢复网络的时间(至少deadtime的2倍)
udpport 666 广播通信使用的端口
bcast eth0 使用广播()
auto_failback on 故障转换
watchdog /dev/watchdog 这个得加载一个模块
node server66.example.com 主节点和辅助节点
node server68.example.com
ping 192.168.0.253 测试连通性,***是网关

respawn选项是可选的,列出与heartbeat一起启动和关闭的进程,该进程一般是和heartbeat集成的插件,这些进程遇到故障可以自动重启。默认使用ipfail
respawn hacluster /usr/lib64/heartbeat/ipfail 检测和处理网络故障
#apiauth client-name gid=gidlist uid=uidlist
apiauth ipfail gid=haclient uid=hacluster ipfail的运行用户和组

加载watchdog,软fence监控heartbeat并且重启

# modprobe softdog

# vi /etc/rc.local 设置开机自动加载

modprobe softdog

# vim authkeys 认证文件权限必须600
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!

# chmod 600 authkeys

# vim haresources

server68.example.com IPaddr::192.168.0.234/24/eth0 httpd 定义主节点,虚拟ip和监控的服务

要确定主节点的httpd服务启动了

heartbeat默认可用监控一下目录的服务:

/etc/init.d/ ;/etc/ha.d/resource.d/ ;/etc/ha.d/rc.d/

heartbeat安装配置完成,此时可以在另外一台主机上安装heartbeat,并且进行相应的配置。(注意,在配置集群的时候,尽量选择相同配置的主机,这样便于以后管理和排错)

测试heartbeat:

#/etc/init.d/heartbeat start 分别在两台heartbeat主机上启动服务

#tail -f /var/log/message 查看日志发现server68主机接管VIP资源,此时可以ping同VIP

同时heartbeat服务监控本地httpd服务,发现httpd也会开启

二、构建lvs负载均衡集群

在之前两台heartbeat主机上进行相同的安装配置操作(部分参数得指定)

使用lvs负载均衡会使用到三种工作方式(NAT/DR/TNU)和八种调度算法,这里就做说明。

lvs的配置一般有三种方式:通过ipvsadm命令配置

通过ldirectord(heartbeat插件)来配置

通过红帽可视化piranha软件进行配置

通过ipvsadm命令配置lvs:

# ipvsadm -A -t 192.168.0.224:80 -s rr 定义一个VIP,使用轮询
# ipvsadm -a -t 192.168.0.224:80 -r 192.168.0.103:80 -g 定义rs使用DR模式
# ipvsadm -a -t 192.168.0.224:80 -r 192.168.0.191:80 -g

本章将使用ldirectord配置lvs:

ldirectord工作原理:

ldirectord 需要你在真实服务器内启用apache服务器,并在每台真实服务器web服务器的根目录下建立你在配置文件所指定的文件与内容,然后ldirectord 通过循环检查此文件来确定真实服务器是否存活,如果不存活,则自动将其权重设为0,以确保后面客户的连接不会再导向失效的真实服务器,如果真实服务修复上线后,则其又将它的权重设为以使它能够继续为客端连接提供服务。

ldirectord主要是通过调用ipvsadm来创建ipvs虚拟服务器表。

#yum install ipvs -y
#yum localinstall ldirectord****.rpm
perl-IO-Socket-INET6 ldirectord启动时需要的包
#/etc/init.d/ldirectord start

使用ldirectord来配置lvs,并将ldirectord交给heartbeat控管:

将lvs交给ldirectord来监控:

注意:heartbeat上安装ldirectord

heartbeat上安装lvs

主备配置文件一致

#cp -r /usr/share/doc/packages/ldirectord/ldirectord.cf /etc/ha.d/

#vim /etc/ha.d/ldirectord.cf

virtual=192.168.0.224:80 定义虚拟资源VIP
real=192.168.0.103:80 gate 指定后端真实服务器,采用DR调度模式
real=192.168.0.191:80 gate
fallback=127.0.0.1:80 gate 当真实服务器宕机,本机自动接管
service=http
scheduler=rr 使用轮询调度算法
#persistent=600
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80

#vim /etc/init.d/ldirectord
#. /etc/ha.d/shellfuncs 注释掉

#/etc/init.d/ldirectord start

Real Server需要进行一下配置:

注意:在配置lvs负载均衡时,后端真实服务器需要制定VIP和禁止arp(使用arptables软件)

#yum install arptables_jf -y
#ifconfig lo:0 192.168.0.224 netmask 255.255.255.255
#arptables -A IN -d 192.168.0.224 -j DROP VIP设置
#arptables -A OUT -s 192.168.0.224 -j mangle --mangle-ip-s 192.168.0.103 增加RS
#/etc/init.d/arptables_jf save
#chkconfig arptables_jf on

lvs负载均衡集群配置成功

测试:在浏览器中访问http://192.168.0.224 会自动加载103和191的web发布页面,刷新会自动跳转则配置成功。

三、整合heartbeat+lvs实现高可用负载均衡

首先在另外一台heartbeat主机上安装并且配置LVS,并且启动相应的服务。

修改heartbeat资源配置文件:

# vim haresources
server68.example.com IPaddr::192.168.0.224/24/eth0 httpd ldirectord

注意:主备心跳节点必须同步哦

这样,就可以使用heartbeat来监控和控制lvs了(其实是heartbeat能够监控三个目录里的脚本文件,就直接监控了ldirectord,而ldirectord又用来配置和监控LVS)

测试:现在直接关闭ldirectord

开启heartbeat,会发现ldirectord开启了,同时访问流量器能够访问RS的内容

其实是lvs负载均衡过来的哦

测试高可用性和负载均衡性吧!

1.当关闭任何一个heartbeat主机,另外一个heartbeat主机会进行检测和接管服务(VIP和ldirectord,ldirectord其实监控的lvs),因此不会影响客户对后端真实服务的访问。

2.负载均衡测试:在不断的刷新过程中,会刷新出不同Real Server主机发布的页面。

以上是"heartbeat+lvs怎么构建高可用负载均衡集群"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

服务 配置 主机 均衡 文件 服务器 监控 集群 节点 测试 资源 内容 故障 软件 同时 方式 篇文章 进程 实验 检测 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州爱米网络技术公司 将软件开发或工程设计业务视为 调研舆论宣传和网络安全 应用数据库的主要目的是 数控机床软件开发公司 计算机网络技术教程自顶向下 网络安全备份漫画 京东网络安全职责 数据库前端界面用什么最好 我的世界如何在服务器上加地图 服务器与软件开发有什么关系 忻州有没有招做网络安全的 洗衣歌伴奏软件开发 河南梦叶草互联网科技有限公司 软件开发需要哪些资格 戴尔服务器软件风扇设置教程 增城网络安全运维价格 湘潭软件开发测试 tc数据库 java软件开发书籍 计算机网络技术适合的工作 揭阳虚拟服务器管理软件 网络技术在疫情下教学论文 服务器计划关机后电源指示灯闪烁 电脑游戏工作室无盘服务器配置 解放军计算机网络安全保密 深圳网络安全哪个部门管理 棋牌服务器维护 有关网络安全的诗歌20字 上海应用软件开发定做
0