《linux keepalived与lvs的深入分析〉一,Keepalived与LVS

Keepalived是LVS的一个扩展项目,提供服务器健康检查和负载均衡器间的故障切换。它基于VRRP协议实现主备切换,通过配置文件实现全局定义、VRRP实例和虚拟服务的设置。配置包括虚拟路由ID、优先级、健康检查和VIP地址等,确保服务高可用性和稳定性。
摘要由CSDN通过智能技术生成

Keepalived与LVS

########################Keepalived的工作原理####################

说明:

1、keepalived是lvs的扩展项目,因此它们之间具备良好的兼容性。这点应该是keepalived部署比其他类似工具能更简洁的原因吧!

2、通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。

3、负载均衡器之间的失败切换failover,是通过VRRPv2(Virtual Router Redundancy Protocol)stack实现的。

##VRRP工作原理

1. VRRP即,虚拟路由冗余协议(Virtual Router Redundancy Protocol)

两台(或多台)设备组成一个组,所有的组成员设备都运行VRRP协议。彼此发送vrrp报文,并根据设置的优先级和IP地址来竟选出一台设备作为MASTER,并在其上面虚拟出一台路由器来作为提供数据转发,提供相应arp请求的设备。而所有的其他设备都处于BACKUP状态,并通过发送VRRP报文来监听MASTER设备是否出现问题,以在MASTER出现问题时及时接管虚拟路由器。

##keepalived工作原理

keepalived是模块化设计,不同的模块负责不同的功能,其模块有:

1. core:是keepalived的核心,负责主进程的启动和维护,全局配置文件的加载解析等。

2. checkers:负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。换句话说,可以没有VRRPStack,但健康检查healthchecking是一定要有的。

3. VRRPStack 负责负载均衡器之间的失败切换FailOver。如果只用一个负载均衡器,则VRRP不是必须的。

4. IPVS wrapper 用来发送设定的规则到内核ipvs代码。

5. Netlink Reflector 用来设定vrrp的vip地址等。

6.WatchDog:负责监控checkers和VRRP进程的状况。

keepalived正常运行时,共有3个进程:

1.父进程:负责监控其子进程。

2.vrrp子进程

3.checkers子进程

##keepalived.conf的配置

配置文件分三部分:

1.全局定义部分

2.VRRP实例定义部分

3.虚拟服务定义部分

##################Global Defined###################

global_defs {

router_id LVS_MASTER     #定义标识主机的字符,可以不必是主机名

}

vrrp_sync_group VGM {         #定义一同进行故障转移的IP组的名称

group {

http      #定义vrrp实例的名称,也就是后面定义实例的名称。

}

}

#####################Vrrp Instance###################

vrrp_instance http {

state MASTER      #定义初始化状态,MASTER或BACKUP

interface eth0      #定义运行vrrp协议的网口

lvs_sync_daemon_interface eth0  #定义lvs syncd的接口

virtual_router_id 51    #定义虚拟路由组id,属于同一组的组成员的id必须是一样的

priority 100       #定义组成员的优先级,数值愈大,优先级越高。

advert_int 1      #定义MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {     #定义外界访问的VIP

192.168.1.100

}

}

####################Virtual Service Defined###############

virtual_server 192.168.1.100 80 {   #定义为哪个服务提供虚拟IP服务

delay_loop 6      #对RealServer进行健康检查的时间间隔

lb_algo rr       #调度算法

lb_kind DR       #LVS三种模式DR,TUN,NAT之一

#       persistence_timeout 20    #会话保持时间,对于动态网页非常有用。

protocol TCP      #指定转发协议的类型,有TCP和UDP两种

real_server 192.168.1.106 80 {

weight 100     #配置服务节点权值,数字越大权值越高。

TCP_CHECK {     #对realserver状态的TCP监测

connect_timeout 3 #链接超时时间

nb_get_retry 3  #超时后的重试次数

delay_before_retry 3 #每次重试的间隔时间

connect_port 80

}

}

real_server 192.168.1.107 80 {

weight 100

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

注:以上配置属于处于MASTER状态的配置文件

若要配置BACKUP状态的组成员机器只需修改如下几项即可:

1.router_id LVS_SLAVE

2.priority 80

3. state BACKUP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值