tarsier是什么意思sier在线翻译读音例句-行尸走肉第五季01
2023年4月6日发(作者:奥巴马出丑)
Keepalived学习笔记
Themaingoalofthekeepalivedprojectistoaddastrong&robustkeepalivefacilityto
theLinuxVirtualServerproject(LVS).Keepal王安石登飞来峰 ivedimplementsaframeworkbasedonthree
familychecks:Layer3,Layer4&Layer5/ameworkgivesthedaemontheabilityof
eoftheserveroftheLVSserverpoolisdown,
keepalivedinformsthelin昨夜雨疏风骤是什么诗 uxkernelviaasetsockoptcalltoremovethisserverentriefromthe
LVStopology.
Keepalived是基于LVS的一个扩展。实现失效备援和健康状态检测。
其中失效备援是基于VRRP
将抗状态见车是基于healthcheck
Keepalived默认启动会启动两个进程,一个是vrrp的,另一个就是healthcheck
VRRP(VirtualRouterRedundancyProtocol)虚拟路由冗余协议
工作原理:在VRRP中有两组重要的概念。VRRP路由器和虚拟路由器,主控路由器和备
份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议
创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。Vrrp中
存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主
控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。
其中主控的选举是依靠优先级的设定(0-255)可设定范围1-254.
VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数
据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,
表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如
果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通
告信息,重新进行MASTER选举状态。
配置VRRP协议时需要配置每个路由证的拼音 器的虚拟路由器ID(VRID)和优先权值,使用VRID
将路由器进行分组,具有相同VRID值的路由器为同一个组,VRID是一个0~255的正整数;
同一组中的路由器通过使用优先权值来选举MASTER,优先权大者为MASTER,优先权也是一
个0~255的正整数。
Vrrp路由器有三种状态InitializeMasterBackup.
Inittialize即初始化状态,是在选举开始之前的状态
Backup即备份机状态,监控主控机状态,并准备随时接替,无缝链接
1)不对目标地址为VIP的arp听见的拼音 包回应金秋九月的优美诗句
2)丢弃目标MAC为虚拟路由器MAC的包
3)丢弃目标IP是VIP的包
4)如果规定时间内没有接收到master的vrrp通告,将会发出通告,重新选举
选举时,会考虑到优先级,IP地址打下,还有一个特殊选项即nopreempt(下面有讲解)
Master即主控机状态,是真实转发目标IP为VIP的包的路由
1)必须对目标IP为VIP的ARP请求处理
2)必须对目标MAC为虚拟路由器的MAC处理
3)必须接受和VIP有关的数据包
4)当出现故障的时候,会先取消adver_timer,发出一个宣称自己的优先级降为
0的通告,进入初始化状态。
具体内容看RFC文档。
Keepalived的安装
安装过程很简单confiugre&&make&&makeinstall具体选项可以./configure
–help。configure正常完成以后会有一个类似下面的图
Keepalived的配置
在网上看到一些通过service命令进行控制的文章,不过我没成功。所以用的是命令启
动的即/usr/local/keepalived/sbin/keepalived启动的,具体启动选项可以看手册
-D产生日志默认到/vag/log/message
-f指定配置文件
Keepalived安装完成以后
在etc/keepalived/samples会有一堆配置文件的范
本,可供参考。启动文件就在sbin下。
一些详细信息,可以通过获得。主配文件中常用的有三部分
globalsetting、vrrpdsetting、lvssetting(如果没有lvs可不写)。
配置文件都是用{}进行分割的,如:
global_defs{
router_id***
}
学习过程中global中的router_id与vrrpd设置中的virtual_router_id搞混淆了,
解释一下:router_id是全局定义,定义的是该设备的一个名称,而virtual_router_id是
用来分组的,RFC文档中有下面这段话,即一个分组一个id号,并且一个接口可以同时属
于多个分组,即多个实例名对应多个id号,分清楚。范围(1-255)
VirtualRtrID(VRID)
TheVirtualRouterIdentifier(VRID)fieldidentifiesthevirtual
urableiteminthe
range1-255(decimal).Thereisnodefault.
其实keepalived配置文件中黄师塔前江水东全诗解析 很大一部分都是围绕vrrp协议进行制定的,所以有很多配
置选项都可以在vrrp的RFC文档中找到相关的解释。
1.一个简单的配置文件
global_defs{
router_idLB1
}
vrrp_instanceVI_1{
stateMASTER
interfaceeth0
virtual_router_id51
priority150
advert_int1
authentication{
auth_typePASS
auth_pass1111
}
virtual_ipaddress{
192.168.2.100/24deveth0scopegloballabeleth0:1
}
}
主控上可以这样写,备份上修改一下router_id(主要是为了思路清晰,其实可以不更
改),state和priority就可以。
这样能实现的效果是,当主控机down掉以后,备份机能够迅速的启动。不过这样设置
还是有问题的,就是不能监控服务状态,比如说两个web做ha,主控的web故障down掉,
但是keepalived依然可以对外发送vrrp报文,告诉备份机“我还活着”,这样就出现故障
了。这个下面再写,这里主要分析下选项。
State只是定义了一个初始状态,并不是说它一定就是主控。如过没有nopreempt项,
并且另外一台机器的优先级高于这一台的150,那么,另外一台机器就会将主控权夺走。但
是如果优先级更高的机器配置了nopreempt,那么这一台优先级150尽管低,但是还是master
Advert_int就是检查间隔,就是发送报文的间隔。RFC中有如下的定义
Master_Down_TimerTimerthatfireswhenADVERTISEMENThasnot
beenheardforMaster_Down_Interval.
Adver_TimerTimerthatfirestotriggersendingof
ADVERTISEMENTbasedon
Advertisement_Interval.
然后就是认证,vrrp本身有三种认证类型(RFC23385.3.6)AuthType
Theauthenticationmethodscurrentlydefinedare:
0-NoAuthentication
1-SimpleT朱自清《春》详细教案 extPassword
2-IPAuthenticationHeader
Keepalived支持两种认证类型即PASS与AH
Virtual_ipaddress是定义vip的,有两种格式,一种就是看见的那种,另一种就是只写一
个ip就可以,不过两者相比,前一种可以在ifconfig命令中查看到,而后者是在ipadd
中看到的。
Nopre石破天惊的意思是什么 empt项:在实际生产环境中,当master故障停止以后,由backup接替工作,如
果此时原先的master正常了,正常情况下,又会重新选举,来切换主控权,这是不能容忍
的,所以有了这个选项。这个选项对应的是vrrpRFC文档中的preempt_mod,又来决定是
否让高优先级的备份机来重新选举夺得低优先级的master的主控权。有两个值,一个是
FALSE即不抢夺,一个是TRUE即抢夺,默认是TRUE,所以就有了nopreempt。
ived的双机HA
这里就是对上一个例子的一个补充,来解决如果网络没有问题但是服务down掉而主控
没有切换的情况。网上找资料,很少„。还是看范例etc/keepalived/samples/下面有一个
文件******.localcheck。这里有很多文件,可以在这里寻求帮助
这个主要是通过vrrp_script实现的,看范例:
vrrp_scriptchk_httpd{##chk_httpd定义一个名字
script\"killall-0httpd\"
##interval2##检查间隔时间
weight-200##优先级降级多少
}
然后再在vrrp_instance里面加上:
track_script{
chk_httpd
}
个人理解,不太严密,script后面执行一个命令或者一个脚本,如果返回值非0,则对这个
实例的优先级进行更改,算法就是weight后面的值,本例中也就是-200
然后将这个vrrp_script引用到实例中(先定义,后引用)下面贴出一段日志:
这是主控机上,关闭HTTP服务以后,触发了script降级处理,这个时候向外发布了一个通
告,告诉别人“我的优先级为0,我死了”
这是备份机上,由于主控机的降级,那么备份机重新选举。完成主陶渊明的田园诗 控权的接替。
+keepalived(略过lvs配置,DR模式)
网上有资料说,规则什么的直接在keepalived中配置就可以,不过最好还是按照顺序,
先把lvs搭建起来以后,再做keepalived,出于故障的易于排除考虑。
具体配置参考官网的userguidance。
参考文档userguidanceRFC2388(VRRP)
更多推荐
initialize是什么意思tialize在线翻译读音
发布评论