Keepalived

一.VRRP(Virtual Router Redundancy Protocol)

        1.1什么是vrrp:虚拟路由冗余协议,解决静态网关单点风险

        1.2 哪些地方用到这个协议:

                1.物理层:路由器、三层交换机

                2.软件层:keepalived

        1.3VRRP 相关术语:

             虚拟路由器:Virtual Router

                虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器

                VIP:Virtual IP         

                VMAC:Virutal MAC (00-00-5e-00-01-VRID)

             物理路由器:

                master:主设备

                backup:备用设备

                priority:优先级

        1.4VRRP 相关技术:

                通告:心跳,优先级等;周期性

                工作方式:抢占式,非抢占式

                安全认证:

                        1.无认证

                        2.简单字符认证:预共享密钥

                        3.MD5

                工作模式:

                        1.主/备:单虚拟路由器

                        2.主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)

二.Keepalived

        2.1keepalived简介:

                vrrp 协议的软件实现,原生设计目的为了高可用 ipvs服务

                官网:http://keepalived.org/ 功能:

                       1. 基于vrrp协议完成地址流动

                        2.为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)

                        3.为ipvs集群的各RS做健康状态检测

                        4.基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务

        2.2Keepalived 架构:

                

                1.用户空间核心组件:
                        vrrp stack:VIP消息通告
                        checkers:监测real server
                        system call:实现 vrrp 协议状态转换时调用脚本的功能
                        SMTP:邮件组件
                        IPVS wrapper:生成IPVS规则
                        Netlink Reflector:网络接口
                        WatchDog:监控进程
                2.控制组件:提供keepalived.conf 的解析器,完成Keepalived配置
                3.IO复用器:针对网络目的而优化的自己的线程抽象
                4.内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限

        2.3Keepalived 相关文件:

                软件包名:keepalived 
                主程序文件:/usr/sbin/keepalived
                主配置文件:/etc/keepalived/keepalived.conf
                配置文件示例:/usr/share/doc/keepalived/
                Unit File:/lib/systemd/system/keepalived.service
                Unit File的环境配置文件:/etc/sysconfig/keepalived

        2.4keepalived的相关实验:

                2.4.1启用keepalived日志功能:

                        1.先下载keepalived:yum install keepalived

                        2.需要修改的文件路径:

                        3.修改第一个文件:

                        4.修改第二个文件:

                        5.日志功能启用成功:

                2.4.2创建keepalived子配置文件:

                        1.创建子配置文件目录并创建子配置文件:

                        2.将注释掉的这一段放在子配置文件中并且写入include加子配置文件路径:

                        3.vip写入子配置文件:

                        4.重启keepalived服务:

                        5.ifconfig查看到vip生成子配置文件生效:

                2.4.3VRRP虚拟路由冗余协议基本实验:

                        1.修改ka1配置文件etc下keepalived下keepalived conf文件:

                                

                        2.修改ka2配置文件:

                        3.用vrrpserver2服务器远程登录ka1并测试:

                        4.ifconfig命令可以查看vip在ka1:

                        5.接下来我们模拟ka1故障关掉ka1的keepalived服务:

                

                        6.查看vrrpserver2服务器的测试页面由172.25.254.10变为20:

                        7.我们可以用ifconfig命令查看到vip移动到了ka2上面:

                        8.ka1的vip被转移到了ka2:

                        9.接下来我们再次重启ka1的keepalived服务:

                        10.查看vrrpserver2服务器的测试页面由172.25.254.20变为10:

                        11.可以发现ka1把vip从ka2抢夺了回来(能抢夺ka1的优先级应该高于ka2):

                        12.ka2的vip已经被ka1抢夺:

                        13.允许和vip通信两台ka上都要配置:

                        14.通信成功:

                2.4.4抢占与非抢占模式:

                        2.4.4.1延迟抢占模式:

                                1.

                                2.

                                3.

                                4.

                                5.

                                6.还没到10s所以还没抢占vip:

                                7.10s后查看出现vip:

                        2.4.4.2非抢占模式:

                                1.

                                2.

                                3.

                                4.

                                5.

                                6.ka1再次启动还是没有vip:

                                7.关闭ka2的keepalived服务后ka1获得vip:systemctl stop keepalived.service

                             

                

                2.4.5vip单播配置:

                        1.编辑/etc/keepalived/keepalived.conf文件,ka1配置如下:

                        

                        2.ka2配置:

                        3.启动单播得注释掉这条参数:

                        4.ka1到ka2单播成功(注意源主机得有vip才能单播):

                        5.关掉ka1的keepalived服务使ka2得到vip后ka2到ka1单播成功:

                2.4.6邮件配置:

                        1.进入qq邮箱

                        2.

                        3.

                        4.

                        5.编辑etc下的mail rc文件:

                        6.发送一条消息给邮箱:

                        7.邮件收到,实验成功:

                2.4.7keepalived通知脚本配置:

                        1.创建并编写一个脚本文件mail.sh:

                        2.编辑内容:

                        3.赋予脚本文件可执行权限:

                        4.编辑/etc/keealived/keepalived.conf文件,添加图中内容并重启服务:

                        5.执行mail.sh脚本

                        6.关闭和开启ka1的keepalived服务后会发来两条消息,实验成功:

                

                2.4.8keepalived双主架构:

                        1.ka1的keepalived配置:

                        2.ka2的keepalived配置:

                        3.查看ka1vip有100配置成功:

                        4.查看ka2vip有200配置成功:

                2.4.9实现IPVS的高可用性,单主的LVS-DR模式实验:

                        1.相关配置文件的一些参数含义:

                        2.两台keepalived主句得下载ipvsadm:

                        3.两台keepalived主机在根下的etc下的keepalived下的keepalived.conf配置文件配置DR模式:

 

                        4.在两台服务器上添加临时vip:

                        5.查看要解决的arp响应的配置参数方便复制粘贴:

                        6.两台服务器解决arp响应问题要配置的文件路径:

                        7.创建arp.conf文件并编辑:

                        8.通过ipvsadm -Ln命令查看算法策略已生成:

                        9.curl vip地址基于权重的轮询访问成功:

                2.4.10实现haproxy高可用(实验前先删除刚刚两台服务器配置的vip和解决arp响应的pei并且把刚刚两台keepalived主机的keepalived.conf文件里的LVS-DR配置注释掉):

                        1.两台keepalived上下载haproxy:

          

                        2.编辑haproxy.conf文件:

                        3.编辑keepalived.conf文件:

                        4.编辑sysctl conf文件:
         

                        5.创建test脚本并编辑:

                        6.先用vrrpserver2远程登录ka1curl 172.25.254.100:

                        7.关闭ka1keepalived:

                        8.发现vip从ka1转移到ka2:

                        9.但是还可以正常访问:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值