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(它没有背景图片)