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

[经验分享] keepalived 学习

[复制链接]

尚未签到

发表于 2018-12-28 10:55:17 | 显示全部楼层 |阅读模式
一、什么是keepalived
1keepalived简介
  keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
2keepalived理论工作原理
  Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:  Layer3Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器  发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。在本文中将采用这种方式。
  Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
  Layer5Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除
3keepalived作用
网站业务量增大需要负载均衡方案,提供持续的服务质量—高可用性HA,通过对服务器的监控检测,实现对失效机器或服务故障隔离
4keepalived体系结构
keepalived大致分两层结构,用户空间user space 和内核空间kernel space
其他如下:
1WatchDog 负责监控checkersVRRP进程的状况。
2Checkers 负责真实服务器的监控检查healthchecking keepalived最主要的功能
3VRRP Stack 负责负责均衡器之间的失败切换Failover,如果只用一个负载均衡器,则VRRP不是必须得
4IPVS wrapper 用来发送设定的规则到内核ipvs代码
5Netlink Reflector 用来设定vrrpvip 地址等
二、keepalived的安装
1、安装keepalived
# wget http://www.keepalived.org/software/keepalived-1.2.1.tar.gz
# tar -zxvf keepalived-1.2.1.tar.gz -C /usr/src/
# cd /usr/src/keepalived-1.2.1/
# ./configure && make && make install
# ln -s /usr/src/kernels/2.6.18-164.el5-i686/ /usr/src/linux //这里的内核信息版本不同会不同的信息
2keepalived验证
默认实在/usr/local/etc/keepalived/samples/下面
启动/usr/local/sbin/keepalived -D,当然我们也可以用其他的方法方便启动。
# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
# mkdir /etc/keepalived
# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
# cp /usr/local/sbin/keepalived /usr/sbin/
# service keepalived start
Starting keepalived: [ OK ]
3keepalived配置简介
全集配置:就是对整keepalived 起作用的配置,不管是否使用LVS
VRRPD:是Keepalived 的核心
LVS配置:只在使用keepalived来配置和管理LVS时需要使用
1)全局配置


global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
配置选项说明:
notification_email:指定Keepalived在发送生事件时,需要发送email到的对象
smtp_*:指定发送emailsmtp服务器
route_id:运行keepalived的机器的一个标识
2VRRPD配置
VRRPD的配置包括两个部分,VRRP同步组(synchroization group)、VRRP实例(VRRP Instance
1)同步组(解决机器或路由有两个网段,不检查外网的问题)
notify_master:指定当切换到master是,执行的脚本,这个脚本可以传人参数
smpt_alert:使用global_defs里面定义的邮件地址和smtp服务器在切换后发送邮件通知
2VRRP实例
vrrp_instance VI_1 {
state MASTER //实例的初始状态
interface eth0 //实例绑定的网卡
dont_track_primary //忽略VRRPinterface错误
lvs_sync_daemon_interface et0 //绑定eth0作为lvs同步的
track_interface{ //设置额外的监控,里面任意一个出现问题,都会进入fault状态
eth0
eth1
}
mcast_src_ip  //发送多播包的地址,默认使用绑定的网卡
garp_master_delay 10 //在切换到master状态后,延迟进行gratuitous ARP请求
virtual_router_id 51 //VRID标记
priority 100 //高优先级精选master,至少高backup50
advert_int 1 //查询间隔
authentication { //设置认证
auth_type PASS //认证方式,支持PASSAH
auth_pass 1111 //认证的密码
}
virtual_ipaddress { //漂移地址(VIP
192.168.200.16
192.168.200.17
192.168.200.18
}
}
virtual_routes{ //发生漂移时添加路由
192.168.112.0/24 dev eth2
}
nopreempt //设置为不抢占,这个配置只能在stateBACKUP的主机 上,而且这个主机的priority必须必另台高
preemtp_delay 300 抢占延时5分钟
debug
}
3LVS配置
lvs的配置有两个部分:虚拟主机组(virtual server group)、虚拟主机(virtual server
1)虚拟主机组
可选的,目的是为了让一台realserver上的某个service可以属于多个virtual server并且只做一次监控检查
virtual_server_group {
#VIP port
……
fwmark
}
2)虚拟主机简介
#虚拟服务器定义部分
virtual_server 10.0.0.10 80 { //设置虚拟服务器,需要指定虚拟IP地址和服务端 口,ip与端口之间用空格隔开
delay_loop 6 //设置监控检查时间,单位秒
lb_algo rr //设置负载调度算法
lb_kind DR //设置LVS实现负载均衡的机制
persistence_timeout 50 //会话保持时间,单位秒
protocl TCP //指定转发协议类型,tcp/udp两种
sorry_server //备机IP端口,所有的real server 失效后启用
}
#节点服务器配置部分
real_server 10.0.0.11 80 { //配置服务节点,需要指定real server的真实IP 址和端口
weight 3 //配置服务节点的权值,权值大小用数字表示,越大越高
inhib it_on_falure //健康检查失败后,将weight设为0,不从IPVS里面删除
TCP_CHECK{
connect_timeout 10 //10秒无响应超时
nb_get_retry 3 //重试次数
delay_before_retry 3 //重试间隔
}
}




运维网声明 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-656799-1-1.html 上篇帖子: keepalived介绍 下篇帖子: 节省公网ip keepalived 另类用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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