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在线翻译读音