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

[经验分享] 企业级RHEL5.8 下实现Keepalived + LVS集群高可用

[复制链接]

尚未签到

发表于 2018-12-31 11:51:18 | 显示全部楼层 |阅读模式
  Keepalived + LVS 实现lvs的高可用:
现在的社会中,人们对于网络体验的要求越来越高,企业将多个服务器集中在一起,使用集群DR模型共同提供web页面服务,使得我们的网页浏览速度大大提高,服务器的负载大大减小;但是DR模型中和客户端相连的,向外提供服务的director很容易成为真个网络中的单点故障,我们要尽量避免这样的问题,所以对director做高可用,当后端的RS1或者RS2出现故障时前端的director能够检测到,并将其从realserver列表中移除,将所有客户端的请求全部发送到正常工作的realserver上,如果两个realserver全部宕机,则前端的director能够向用户提供一个提示页面,使得用户不会因为不能正常访问页面而流失;而且当director出现故障时,在director上的VIP能够自动漂移到另外一台director上,并且在这台director上使用VIP,启动与HA1相同的LVS规则,启动WEB服务,继续提供sorry页面,实现了director的高可用
这里我们借助keepalived实现这个功能,keepalived最初设计目的是为ipvs提供高可用功能,借助于VRRP协议,实现IP地址的漂移;转移开启LVS服务,完成health check健康状况监测
VRRPVirtual Router Redundancy Protocol虚拟路由冗余协议,是一种容错协议。该协议通过把几台路由设备联合组成一台虚拟的路由设备,使用一定的机制保证当主机的下一跳交换机出现故障时,及时将业务切换到其它交换机,从而保持通讯的连续性和可靠性;这里对VRRP协议不做过多介绍,有兴趣的朋友可以去查看VRRP官方帮助文档
  

  搭建环境:RHEL5.8 32bitapache2.2lvskeepalived-1.2
  搭建步骤:
一、实现director和各个realserver的互信通信、时间同步、互相解析
二、在realserver上安装web服务,搭建LVSDR环境
三、对directorHA高可用,解决director单点故障问题
  


  搭建LVS环境:互信通信,时间同步,互相解析
  


  安装lvs并对director--HA 1进行配置:
1. 安装ipvsadm命令行工具包:

2. 使用脚本快速对director网卡和ipvs进行配置:


  对两个realserver分别进行安装配置:
首先安装httpd服务所需的RPM



使用脚本快速配置realserver的内核和网络参数:


执行脚本进行编辑配置,发现此时已经配置有VIP和路由:

另外一台realserver配置相同;此时我们到director上运行lvs规则脚本,并查看后端realserver是否已成功链接

此时到客户机上进行lvs的测试:


  

  此时一个简单的web集群已经搭建成功,但是这个模型容易出现director单点故障,所以我们使用keepalived对这个lvs做高可用:
director上安装keepalived,并对keepalived做简单配置:






如果要是用TCP_CHECK检测各realserver的健康状态,那么,上面关于realserver部分的定义也可以替换为如下内容:

编辑notify脚本:




启动keepalived服务,并对realserver进行查看:
我们模拟其中一个realserver宕掉,并再次查看lvs,发现只有一个realserver


因为我们提供的有sorry server,所以我们要在director上安装httpd服务:



此时如果我们将两个realserverhttpd服务全部关闭,再到director上查看,发现已经启动127.0.0.1


此时我们再到客户端进行测试,发现页面已经转换为sorry

此时我们将RS2上的httpd服务打开,发现director立即能够发现,客户端的页面可正常访问:



  下面我们进行故障测试,来验证lvsHA功能:
查看主lvs节点和备用lvs节点的网卡配置情况,发现此时的VIP在节点一上:


  

  我们模拟故障,在节点一的/etc/keepalived目录下创建一个down文件,并在此查看:

  发现此时的VIP已经漂移到节点二上:

  我们客户端的访问并没有收到影响,实现了web集群的高可用:

  

  此时Keepalived + LVS的集群高可用已经搭建完成

  





运维网声明 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-657938-1-1.html 上篇帖子: 用haproxy搭建web群集并由keepalived 实现双机热备 下篇帖子: CentOS5.5环境下布署LVS+keepalived-zgjxfmc
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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