Keepalived
介绍:
keepalived是所谓的高可用或热备用来防止单点故障的一种手段。
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。
作用:
Keepalived的作用是检测web服务器的状态,lvs+keepalived实现负载
原理:
keepalived是利用VRRP(虚拟路由冗余)协议来实现的高可用(HA),完全遵守VRRP协议包括竞选机制等等。
keepalived是一个类似于layer3, 4 & 5交换机制的软件,Layer3,4&5工作在IP/TCP协议的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器
发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
Layer4: Layer4主要以TCP端口的状态来决定服务器工作正常与否。如webserver的服务
端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户
的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。
vip即虚拟ip,是附在主机网卡上的,即对主机网卡进行虚拟,此IP仍然是占用了此网段的某个IP。
keepalived的应用:
一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性
keepalived也是模块化设计不同模块复杂不同
core: 是keepalived的核心,负责主进程的启动和维护全局配置文件的加载解析等
check:负责healthchecker(健康检查)包括了各种健康检查方式以及对应的配置的解析包括LVS的配置解析
vrrp: VRRPD子进程,VRRPD子进程就是来实现VRRP协议的
keepalived启动后会有三个进程
内存管理子进程
VRRP子进程
healthchecker子进程
配置文件:
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server。
global_defs区域:主要是配置故障发生时的通知对象以及机器标识
global_defs {
notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个
sysadmin@fire.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #指定发件人
smtp_server localhost #指定smtp服务器地址
&n
介绍:
keepalived是所谓的高可用或热备用来防止单点故障的一种手段。
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。
作用:
Keepalived的作用是检测web服务器的状态,lvs+keepalived实现负载
原理:
keepalived是利用VRRP(虚拟路由冗余)协议来实现的高可用(HA),完全遵守VRRP协议包括竞选机制等等。
keepalived是一个类似于layer3, 4 & 5交换机制的软件,Layer3,4&5工作在IP/TCP协议的IP层,TCP层,及应用层,原理分别如下:
Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器
发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。
Layer4: Layer4主要以TCP端口的状态来决定服务器工作正常与否。如webserver的服务
端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。
Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户
的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。
vip即虚拟ip,是附在主机网卡上的,即对主机网卡进行虚拟,此IP仍然是占用了此网段的某个IP。
keepalived的应用:
一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性
keepalived也是模块化设计不同模块复杂不同
core: 是keepalived的核心,负责主进程的启动和维护全局配置文件的加载解析等
check:负责healthchecker(健康检查)包括了各种健康检查方式以及对应的配置的解析包括LVS的配置解析
vrrp: VRRPD子进程,VRRPD子进程就是来实现VRRP协议的
keepalived启动后会有三个进程
内存管理子进程
VRRP子进程
healthchecker子进程
配置文件:
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server。
global_defs区域:主要是配置故障发生时的通知对象以及机器标识
global_defs {
notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个
sysadmin@fire.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #指定发件人
smtp_server localhost #指定smtp服务器地址
&n