https://hashnode.blog.csdn.net/article/details/124532338

 

1 简介

  Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。所以,Keepalived 一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。

 

2官网

  http://www.keepalived.org

 

3 keepalived服务的三个重要功能

  1)管理LVS负载均衡软件
  2)实现LVS集群节点的健康检查中
  3)作为系统网络服务的高可用性(failover)

 

  如下图,通过nginx做反向代理和负载均衡。

  如果只有一台nginx服务器,那么挂了之后,就不能提供服务。

  为了防止nginx服务器挂掉导致服务不可用,所以这里布置了两个nginx服务器。一个作为主的,一个作为备用。

  那么,要怎么保证主nginx服务器挂了后,自动切换到备用的nginx服务器呢,keepalived可以实现。

  它可以创建一个虚拟ip,这个虚拟ip给主nginx使用。客户只需要访问虚拟ip,就会被映射到主nginx服务器的真实ip。

  当主nginx挂了,keeplived会自动把虚拟ip分配给备用的nginx,客户还是访问这个虚拟ip,此时就会被映射到备用nginx的真实ip

 

 

4 安装keepalived

1)执行命令

 yum install -y keepalived

 

2)安装成功的截图

 

5 keepalived使用示例(本地)

5.1 安装keepalived

  在该示例中,有两个nginx在两个服务器,ip182.168.8.102为主nginx,ip182.168.8.101为备用机

  都安装上keepalived,配置上虚拟ip192.168.8.200。

  在访问92.168.8.200的时候,就会先访问到182.168.8.102的,这个挂了之后,就会访问到182.168.8.101备用机

  安装好的keepalived的配置文件在如下位置

 

5.2 对102keepalived.conf配置

1)102的keepalived.conf配置

! Configuration File for keepalived

global_defs {
   router_id LB_102
}

vrrp_instance VI_102 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.8.200
    }
}

2)启动keepalived
启动
systemctl start keepalived

 查看状态

systemctl status keepalived

   查看系统ip

ip addr

   发现多了个虚拟ip 192.168.8.200

   interface ens33这里的ens33需要和以下位置对应:

 

5.3 101的keepalived.conf配置

! Configuration File for keepalived

global_defs {
   router_id LB_101
}

vrrp_instance VI_101 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.8.200
    }
}

 

5.4 访问 162.168.8.200

1)正常访问

 访问到的是192.168.8.102

 

2)关闭102,再次访问192.168.8.200

  此时访问到101(它没有背景图片)