keepalived.conf配置注释

如何理解keepalived

是Linux下一个轻量级别的高可用解决方案,通过虚拟路由冗余协议来实现服务或者网络的高可用.
简单点说,例如你有个nginx集群,如何保证某台nginx出现问题,能自动剔除有问题的nginx,访问到正常的nginx?以及多台nginx向外界提供一个公共的ip供大家访问?
在每个nginx的服务器上都部署keepalived,通过keepalived的健康检查查看nginx是否正常。当nginx正常运行时,由 keepalived 选举的master这台服务器提供服务,这台服务器有会把虚拟IP(VIP)绑定在这条机器上。外界访问到的也是这台机器。如果这台机器健康检查失败后,会解绑虚拟ip,并剔除自己,其他backup机器会选举成为master,并绑定虚拟ip对外提供服务。因此即做到了故障后自动转移。上述的虚拟ip即是集群公共访问的ip。
总结:keepalived的核心功能为健康检查、故障转移、虚拟路由冗余协议(VRRP协议)。

keepalived容易出现的问题

当backup这台机器没接受到master的信号,然后自己成为了master,导致出现两个master,且两台机器绑定过了同一个虚拟ip,这种现象简称为脑裂
最常容易导致这种想象的是心跳检测出了问题,virtual_router_id两端参数配置,翻火墙端口被屏蔽了,实例名字不一致,优先级一致等问题。
一般解决方案为增加脑裂监控脚本,出现问题是可以先强行关闭一个节点,修改仲裁机制等。

下载安装
yum install keepalived –y
修改配置文件
/etc/keepalived/keepalivec.conf
启动
systemctl start keepalived.service

keepalived.conf配置注释

! Configuration File for keepalived

#全局配置
global_defs {
   notification_email {  #指定切换时需要发送eamil到收件人,一行一个
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc  #指定发件人
   smtp_server 192.168.200.1   #指定smtp服务器地址
   smtp_connect_timeout 30  #指定smtpl连接超时时间
   router_id LVS_DEVEL  #运行keepalived机器的标识
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

#vrrp_instance模块配置
vrrp_instance VI_1 {
    state MASTER #设置角色MASTER 或者BACKUP
    interface eth0  #设置VIP的网卡
    virtual_router_id 51 #虚拟路由ID,在一个VRRP实例中,主备服务器ID必须一样
    priority 100  #优先级值设定:MASTER
    advert_int 1	#通告时间间隔:单位秒,主备要一致
    authentication {  #认证机制,主从节点保持一致即可
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {  #VIP,可配置多个
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

#virtual_server模块配置
virtual_server 192.168.200.100 443 {   #定义realServer对应的VIP及服务端口,ip和端口用空格隔开
    delay_loop 6    #每隔6秒查询realServer状态
    lb_algo rr		#后端调试算法(load balancing algorithm)
    lb_kind NAT		#LVS调度算法 NAT/DR/TUN
    persistence_timeout 50	#同一IP的连接60秒内被分配到同一台realServer
    protocol TCP	#用TCP协议检查realServer状态

    real_server 192.168.201.100 443 {
        weight 1		#权重越高,lvs就越优先访问
        SSL_GET {		#keepalived的健康检查方式HTTP_GET/SSL_GET/TCP_CHECK/SMTP_CHECK/MISC
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3	#10秒无响应超时
            retry 3				#重连次数
            delay_before_retry 3	重连间隔时间
        }
    }
}

virtual_server 10.10.10.2 1358 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    sorry_server 192.168.200.200 1358

    real_server 192.168.200.2 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.200.3 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

virtual_server 10.10.10.3 1358 {
     delay_loop 3
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.200.4 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.200.5 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}
                                   
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值