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

[经验分享] Keepalived负载均衡与高可用

[复制链接]

尚未签到

发表于 2018-12-30 06:51:10 | 显示全部楼层 |阅读模式
  1.keepalived服务介绍
Keepalived的项目实现的主要目标是简化LVS项目的配置并增强其稳定性,即Keepalived是对LVS项目的扩展增强。
Keepalived为Linux系统和基于Linux 的架构提供了负载均衡和高可用能力,其负载均衡功能主要源自集成在Linux内核中的LVS项目模块IPVS( IP Virtual Server ),基于IPVS提供的4 层TCP/IP协议负载均衡, Keepalived也具备负载均衡的功能,此外, Keepalived还实现了基于多层TCP/IP 协议( 3 层、4 层、5/7 层)的健康检查机制,因此, Keepalived在LVS 负载均衡功能的基础上,还提供了LVS 集群物理服务器池健康检查和故障节点隔离的功能。
  除了扩展LVS的负载均衡服务器健康检查能力, Keepalived 还基于虚拟路由冗余协议( Virtual Route Redundancy Protocol, VRRP )实现了LVS 负载均衡服务器的故障切换转移,即Keepalived还实现了LVS负载均衡器的高可用性。Keepalived 就是为LVS 集群节点提供健康检查和为LVS 负载均衡服务器提供故障切换的用户空间进程。
  2 keepalived核心模块
2.1.WatchDog :其主要负责监控Checkers和VRRP子进程的运行状况。
2.2.Checkers :此功能模块主要负责真实服务器的健康检查( HealthChecking ),是Keepalived最主要的功能之一,因为HealthChecking是负载均衡功能稳定运行的基础, LVS集群节点的故障隔离和重新加入均依赖于HealthChecking的结果。
2.3.VRRPStack :此功能模块主要负责负载均衡器之间的故障切换,如果集群架构中仅使用一个LVS负载均衡器,由于本身不具备故障切换的条件,则VRRPStack不是必须的。
2.4.IPVS Wrapper :此模块主要用来发送设定的规则到内核IPVS代码。Keepalived的设计目标是构建高可用的LVS 负载均衡群集, Keepalived在运行中将会通过IPVSWrapper模块调用IPVSAdmin工具来创建虚拟服务器,检查和管理LVS集群物理服务器池。
2.5.Netlink Reflector :此功能模块主要用来设定VRRP的VIP地址并提供相关的网络功能,该模块通过与内核中的NETLINK模块交互,从而为Keepalived 提供路由高可用功能。
Keepalived是开源负载均衡项目LVS的增强和虚拟路由协议VRRP实现的集合,即Keepalived通过整合和增强LVS与VRRP来提供高可用的负载均衡系统架构。
  3 Keepalived配置实现服务高可用
下面是LVS+keepalived实现负载均衡及高可用集群服务。

3.1 下载keepalived软件包。
Keepalived官方站点:http://www.keepalived.org/
wget http://www.keepalived.org/software/keepalived-1.3.0.tar.gz
3.2 安装过程
确实路径
[root@lvs-1 scripts]# cd /usr/src/
[root@lvs-1 src]# ll
total 8
drwxr-xr-x. 2 root root 4096 Sep 23  2011 debug
drwxr-xr-x. 3 root root 4096 Dec 24  2017 kernels
lrwxrwxrwx  1 root root   39 Sep  7 20:44 linux -> /usr/src/kernels/2.6.32-431.el6.x86_64/
  tar xvf  keepalived-1.3.0.tar.gz
cd keepalived-1.3.0
./configure
编译报错:checking libnfnetlink/libnfnetlink.h usability... no
checking libnfnetlink/libnfnetlink.h presence... no
checking for libnfnetlink/libnfnetlink.h... no
configure: error:
!!! Please install libnfnetlink headers.              !!!
  安装 yum install -y libnfnetlink-devel
继续编译安装
make && make install
如果执行make安装报错如下:
make[2]: [namespaces.o] Error 1
make[2]: Leaving directory `/server/scripts/keepalived-1.3.0/keepalived/core'
make[1]:
[all-recursive] Error 1
make[1]: Leaving directory `/server/scripts/keepalived-1.3.0/keepalived'
make: *** [all-recursive] Error 1
  执行yum update glib*可以解决,然后继续make
  3.3 配置规范启动
1.cp /server/scripts/keepalived-1.3.0/keepalived/etc/init.d/keepalived /etc/init.d/   生成启动脚本命令
2.cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 配置启动脚本参数
3.mkdir /etc/keepalived 创建配置文件路径
4.cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/拷贝配置文件模板
5.cp /usr/local/sbin/keepalived /usr/sbin
6.启动keepalived服务
[root@lvs-1 etc]# /etc/init.d/keepalived start
Starting keepalived:                                       [  OK  ]
  [root@lvs-1 etc]# ps -ef|grep keep
root     10541     1  0 22:34 ?        00:00:00 keepalived -D
root     10542 10541  0 22:34 ?        00:00:00 keepalived -D
root     10544 10541  0 22:34 ?        00:00:00 keepalived -D
root     10561  1320  0 22:39 pts/0    00:00:00 grep keep
到此keepalived已安装成功。安装成功后停止keepalived服务。
  4 Keepalived配置文件详解
查看配置文件帮助文档man keepalived.conf 可以查看配置文件的详细介绍
keepalived有三类配置区域(姑且就叫区域吧),注意不是三种配置文件,是一个配置文件里面三种不同类别的配置区域:
4.1 全局配置(Global Configuration)
全局定义和静态路由配置。如发送邮件通知、路由器标识。
4.2 VRRPD配置
VRRP同步组(synchroization group)
VRRP实例(VRRP Instance)VRRP脚本
  4.3 LVS配置
如果你没有配置LVS+keepalived那么无需配置这段区域,这里LVS配置并不是指真的安装LVS然后用ipvsadm来配置他,而是用keepalived的配置文件来代替ipvsadm来配置LVS
  5 VIP接管配置
MATER端:
[root@lvs-1 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

  global_defs {
notification_email {1530213847@qq.combr/>1530213847@qq.com

运维网声明 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-657364-1-1.html 上篇帖子: 最详细的keepalived+lvs 下篇帖子: 使用keepalived打造轻量级的lvs高可用集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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