VRRP协议与keepalived基本原理实例演示

VRRP是什么?
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)是一种容错协议,保证当主机的下一条路由器出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而保持网络通信的连续性和可靠性。
VRRP相关术语:
1.虚拟路由器:由一个Master路由器和一个或多个Backup路由器组成。所有的Master和Backup组成一个组,这个主就是虚拟路由器。
2.VRID:虚拟路由器的标识。同一虚拟路由器内的路由器有着相同的VRID。
3.Master:虚拟路由器中正在工作的路由器
4.Backup:备用路由器。
5.虚拟IP地址:路由器组(虚拟路由器)的IP地址。
6.优先级:用来确定Master和Backup。
7.抢占模式与非抢占模式:Master会以组播方式不断的向虚拟路由器组内发送自己的心跳报文,一旦Backup在设定时间内没有收到心跳信息的次数超过了设定次数,则会将Master的所有权转移到优先级最高的Backup,则就是抢占模式。

keepalived就是利用VRRP协议实现的一种可保障集群高可用的工具。通过主机之间的优先等级以及心跳检测来及时切换准备主机的工作状态,以提高集群的高可用性。
keepalived的核心组件:
1.VRRP stack
2.ipvs wrapper
3.checkers
为什么使用keepalived一定要确认网卡支持并开启组播功能?
如VRRP中所述,Master需要通过组播功能定时向Backup发送心跳信息,报告自己的运作是否正常,组播通信方式是一种很节省资源的通信方式。

1.安装keeplived

从centos6.4开始,keepalived就集成在yum的base仓中了(keepalived的应用重要可见一斑),所以直接yum安装即可。
[[email protected] ~]# yum install -y keepalived

2.keepalived简单配置实现两台主机实现高可用模型

准备两台虚拟机

n1:192.168.11.11
n2:192.168.11.22

将n1下做配置/etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email { #通知邮件配置,将keepalived的状态信息发送到指定邮箱
      [email protected] #这里配置通知的邮箱地址,为方便演示这里就配置为本机
   }
   notification_email_from [email protected] #配置发邮件的地址,这里也配置为本机
   smtp_server 127.0.0.1
   smtp_connect_timeout 30 #邮件服务超时时间
   router_id n1 #当前标识当前主机
     vrrp_mcast_group4 224.1.101.18 #配置组播地址,集群中通常不会使用默认的组播地址
}

vrrp_instance VI_1 { #当前节点所属的虚拟路由的名称
    state MASTER #当前节点的状态,有Master和Backup两种状态
    interface ens33 #定义vrrp地址绑定在哪个接口
    virtual_router_id 51 #虚拟路由器的标识,同一虚拟路由器组中的ID要相同
    priority 100  #优先级设置
    advert_int 1 #每隔多久以组播形式向外通告一次,默认是1秒
    authentication {
        auth_type PASS #认证开启
        auth_pass 1111 #认证密码
    }
    virtual_ipaddress { #配置虚拟路由ip,即漂移地址
        192.168.11.99/24 dev ens33 label ens33:0 #漂移地址为192.168.11.99,配置在ens33网卡上并指定接口0
    }
}

配置完成后将此配置复制到n1并修改route_id和priority
[[email protected] ~]# scp /etc/keepalived/keepalived.conf [email protected]:/etc/keepalived/
确定网卡开启了multicast功能
[[email protected] ~]# ifconfig
出现MULTICAST就说明已开启

开启keepalived

现在n2上开启(n2优先级比n1低),并查看状态

[[email protected] ~]# systemctl start keepalived
[[email protected] ~]# systemctl status keepalived

查看n2网卡配置
[[email protected] ~]# ifconfig

可看出n2进入了MASTER状态

再开启n1,优先级高于n2,并查看状态

[[email protected] ~]# systemctl start keepalived
[[email protected] ~]# systemctl status keepalived

现在再查看n2

n1启动后漂移地址(虚拟IP)就漂移至n1了
n2网卡中的漂移地址(配置在ens33:0上)也被删除了,并漂移至n1上(同样配置在ens33:0)了。

利用抓包工具tcpdump可以更直观的看到虚拟地址漂移的过程

安装tcpdump
[[email protected] ~]# yum install -y tcpdump
现在的状态是n1,n2的keepalived都开启了,n1的优先级大于n2。
在n1和n2上使用命令
[[email protected] ~]# tcpdump -i ens33 -nn host 224.1.101.11

注意:因为n1为master状态,所以n1会不停的(配置是每隔1秒)发送组播通告,并且这个通告在同一局域网的所有主机都能接收到,但只有配置了keepalived的主机才会起作用。

停掉n1的keepalived服务
[[email protected] ~]# systemctl stop keepalived
查看n2的抓包信息
[[email protected] ~]# tcpdump -i ens33 -nn host 224.1.101.11

这就比较完整的展示了两个节点间在4层上使用keepalived做高可用的最基本的原理过程了。但这没有涉及到应用层的高可用,keepalived还能实现具体服务的高可用。

原文地址:http://blog.51cto.com/13322786/2162618

时间: 2024-10-21 03:34:20

VRRP协议与keepalived基本原理实例演示的相关文章

Keepalived 配置实例

Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则. 当LVS进行主备切换的时候,对外提供服务的IP是如何做到切换的呢?这就依赖于keepalived 所应用的vrrp协议,即Virtual Reduntant  Routing Protocol,虚拟冗余路由协议.简单来讲,此协议是将IP设置在虚拟接口之上,根据一定的规则实现IP在物理主机上流动,

入木三分学网络第一篇--VRRP协议详解第一篇(转)

因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静态网关出现单点失效现象的路由协议. VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器(位于一个虚拟路由器组中, 在该组中,只有一台路由器--master路由器工作,转发数据包,其它路由器是backup路由器,不参与转发数据包),以及在实

VRRP协议具体解释

转帖:http://blog.chinaunix.net/space.php?uid=11654074&do=blog&id=2857384 Contents                                                                                                                                   Page 文件夹 入木三分学网络第一篇--VRRP协议具体解释... 1

配置Keepalived双实例高可用Nginx

我们知道Keepalived原生设计目的是为了高可用LVS集群的,但Keepalived除了可以高可用LVS服务之外,还可以基于vrrp_script和track_script高可用其它服务,如Nginx等.本篇主要演示如何使用Keepalived高可用Nginx服务(双实例),关于vrrp_script.track_script的更多介绍可以见上一篇博客<Keepalived学习总结>. 实验要求 ==> 实现Keepalived基于vrrp_script.track_script高可

VRRP协议简介

VRRP协议是什么 VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性. VRRP将局域网内的一组路由器划分在一起,称为一个备份组.备份组由一个Master路由器和多个Backup路由器组成,功能上相当于一台虚拟路由器.局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利

keepalived双实例配置

一.keepalived双实例 keepalived在master/backup工作模式下,会有一个主机处于闲置,所以keepalived可以使用vrrp的特性配置双master模式,使资源最大化.     1.承接上文配置 --->  keepalived基础配置     2.双主配置 第一个节点: [[email protected] keepalived]# grep -Ev '#|^$' keepalived.conf ! Configuration File for keepalive

Thrift入门及Java实例演示&lt;转载备用&gt;

Thrift入门及Java实例演示 作者: Michael 日期: 2012 年 6 月 14 日 •概述 •下载配置 •基本概念 1.数据类型 2.服务端编码基本步骤 3.客户端编码基本步骤 4.数据传输协议 •实例演示(java) 1. thrift生成代码 2. 实现接口Iface 3.TSimpleServer服务模型 4.TThreadPoolServer 服务模型 5.TNonblockingServer 服务模型 6.THsHaServer服务模型 7.异步客户端 [一].概述 T

VRRP 协议

VRRP VRRP(Virtual Router Redundancy Protocol):虚拟路由冗余协议 通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信.当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信.(网关双备份) 注:一台交换机或路由器可以运行多个VRRP进程. VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和Swit

ospf 协议配置方法及实例

ospf协议配置步骤及实例 1 系统视图下启动ospf进程 (1)system-view 进入系统视图 (2)ospf [process-id] [router-id] 启动ospf进程 (3)area area-id 进入ospf区域视图 (4)可选配置  authentication-mode simple ciper  abc (5)执行命令 network ip-address  netmask 2 配置ospf接口参数,包括ospf接口类型 cost等等 (1)system-view