keepalived和单点故障

keepalived和单点故障

1.keepalived介绍

单点故障:一变多

  • 多个LVS服务器同时提供服务
  • 多个LVS服务器中只有一个服务器提供服务,当提供服务的LVS故障时,随机换另一台LVS提供服务(LVS中只能有一台服务器配上VIP)(主备模型

简介

Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

1.需要心跳机制探测后端RS是否提供服务

  • 探测down,需要从lvs中删除该RS
  • 探测发送从down到up,需要从lvs中再次添加该RS

2.LVS DR,需要主备(HA)

KeepAlived原理

VRRP协议(虚拟路由冗余协议)- Virtual Router Redundancy Protocal

IP漂移

工作原理

Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:

Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被 非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。

Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。

Layer7:Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。

在这里插入图片描述

注意:需要禁用防火墙

keepalived(用户空间程序)安装

ipvs(内核模块包)

  • 可以不用安装ipvsadm -lnc
  • keepalived(ipvsadm,自身高可用)
  • yum -y install keepalived
  • service keepalived keepalived
  • 配置文件:/etc/keepalived/keepalived.conf
  • 查看日志:tail /var/log/message

2.keepalived实验

1.RS服务器的配置

#调整RS的响应,通告级别(每一台RS都配)
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
#给每个RS配置VIP
ifconfig lo:8 192.168.159.120 netmask 255.255.255.255
#启动RS上的httpd
service start httpd

2.LVS主机配置

#1.安装keepalived
yum -y install keepalived
#2.安装ipvsadm(可以不装)
yum -y install ipvsadm
#3.备份并修改keepalived的配置文件
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf
#-------------------------------------------主LVS-------------------------------------------------#
! Configuration File for keepalived

global_defs {
   
   notification_email {
   
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
   
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
   
        auth_type PASS
       
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值