虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)
-
VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
-
协议版本: VRRPv2(常用)和VRRPv3:
-
VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。VRRP协议报文:
-
只有一种报文:Advertisement报文(通告报文);其目的IP地址是224.0.0.18,协议号是112。
-
利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。 VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。 Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换
VRRP 相关术语
-
虚拟路由器:Virtual Router 不是真实存在 ,虚构出来的
-
虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
-
VIP:Virtual IP 192.168.91.100 路由1 路由2
-
VMAC:Virutal MAC (00-00-5e-00-01-VRID)
-
物理路由器:
-
master:主设备
-
backup:备用设备
-
priority:优先级
VRRP相关技术
通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式,延迟抢占模式
安全认证:
-
无认证
-
简单字符认证:预共享密钥
-
MD5
工作模式:
-
主/备:单虚拟路径器
-
主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)
keepalived介绍
功能:
-
基于vrrp协议完成地址流动
-
为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)
-
为ipvs集群的各RS做健康状态检测
-
基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务
keepalived安装
推荐使用 yum 安装 yum install keepalived -y
Keepalived 相关文件
-
软件包名:keepalived
-
主程序文件:/usr/sbin/keepalived
-
主配置文件:/etc/keepalived/keepalived.conf
-
配置文件示例:/usr/share/doc/keepalived/
-
Unit File:/lib/systemd/system/keepalived.service
-
Unit File的环境配置文件:
-
/etc/sysconfig/keepalived CentOS
配置组成
/etc/keepalived/keepalived.conf 配置组成
-
GLOBAL CONFIGURATION
Global definitions(全局配置):定义邮件配置,route_id,vrrp配置,组播地址 等
-
VRRP CONFIGURATION
VRRP instance(s):定义vrrp协议中的每个vrrp虚拟路由器的规则,基本信息
-
LVS CONFIGURATION(lvs调度服务器的规则设置)
Virtual server group(s)
Virtual server(s):LVS集群的VS和RS
lvs+keepalive高可用集群
linux1 和2 做 lvs+keepalive linux3 和4 做服务器
linux1 和 2配置
下载lvx 和keepalive
yum install ipvsadm.x86_64 -y
yum install keepalived.x86_64 -y
配置keepalive
从这个配置的大括号往下都不要
linux2 的配置基本相同,只有几处稍作修改
可以使用 scp命令复制过去
查看linux1和2的ipvsadm 配置
当前设置是Linux1为主 ,2为从 那么此刻192.168.94.188应该在Linux1上
启动 keepalive 和ipvsadm 3和4一致
linux3和4配置
yum install httpd -y
linux 3和4 都要设置虚拟网卡 都是这条命令
linux3和4修改配置文件 ,同样一致
3和4在/var/www/html下创建index.html
3和4启动httpd 一个命令
systemctl start httpd
测试
断掉主 (linux1)
liunx2的情况
完成
当前模式是抢占式,linux1恢复会立即变为主
启动Linux1
配置非抢占式
修改linux1和2的配置文件 ,都要修改
漏了一步
延迟抢占模式
将刚刚添加的nopreempt改成 preempt_delay (后面可以跟时间,默认300s) ,双方还是BACKUP