1 Keepalived简介
Keepalived是一款开源的、免费的高可用软件,广泛应用于互联网IT企业中,以其轻量级、配置简单、管理方便等特点受到青睐。以下是Keepalived的详细简介:
1.1 基本概念
- 定义:Keepalived是一个类似于Layer 3、4 & 5(即网络层、传输层和应用层)交换机制的软件,主要用于检测服务器的状态,防止单点故障,并提供故障转移和负载均衡功能。
- 作用:通过自动检测服务器的健康状态,将故障服务器从系统中剔除,并使用其他服务器接替其工作,确保服务的高可用性。
1.2 工作原理
- VRRP协议:Keepalived的实现基础是VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)。该协议用于实现路由器之间的故障转移,确保网络的高可用性。在Keepalived中,VRRP协议被用于模拟路由器的双机或多机热备场景。
- 健康检查:Keepalived支持多种健康检查方式,包括ICMP(网络层)、TCP端口(传输层)、HTTP GET(应用层)等,以确保服务器在不同层面的正常运行。
- 故障转移:当检测到主服务器(Master)故障时,Keepalived会根据VRRP的优先级选举一个新的备份服务器(Backup)作为主服务器,接管其工作,从而实现故障转移。
1.3 主要功能
- 高可用服务:通过VRRP协议和健康检查机制,确保服务的高可用性,防止单点故障。
- 负载均衡:虽然Keepalived本身不直接提供负载均衡功能,但它可以与LVS(Linux Virtual Server)等负载均衡软件配合使用,实现更为复杂的负载均衡和高可用方案。
- 故障隔离:自动将故障服务器从系统中剔除,防止其影响整个系统的正常运行。
- 健康状态检查:支持对后端服务器的健康状态进行实时检查,确保服务的持续可用性。
1.4 应用场景
- Web服务器集群:在Web服务器集群中,Keepalived可以确保当某台Web服务器故障时,其他服务器能够接替其工作,保证网站的正常访问。
- 数据库服务器:对于数据库服务器等关键应用,Keepalived同样可以提供高可用保障,确保数据的持续可用性和业务的连续性。
- 其他关键服务:对于任何需要高可用保障的服务,如DNS服务器、FTP服务器等,Keepalived都可以提供有效的解决方案。
1.5 配置与使用
- 配置文件:Keepalived的配置文件通常为
keepalived.conf
,其中包含了全局参数、VRRP实例、健康检查脚本等配置信息。 - 启动与监控:Keepalived作为一个服务运行,在启动后会创建多个进程来执行VRRP协议、健康检查等功能。同时,Keepalived还提供了丰富的日志和监控功能,便于管理员对系统的运行状态进行实时监控和故障排查。
2 实验环境配置
2.1 配置红帽7镜像的四个主机并设置IP
2.2 在两个realserver安装httpd
realserver1
realserver2
3 虚拟路由的配置
3.1 在两个ka上安装keepalived
3.1.1 ka1
在配置文件进行修改
开启keepalived
3.1.2 ka2
将ka1配置好的文件复制到ka2
在配置文件进行修改
开启keepalived
3.2 测试
4 keepalived虚拟路由的通讯设定
4.1 分别在ka中的配置文件修改
重启keepalived
4.2 测试
5 keepalived日志分离
5.1 在keepalived配置文件里修改
重启
5.2 在日志文件里修改
重启
6 keepalived独立子配置文件
6.1 在keepalived配置文件里修改
6.2 建立子目录并修改
7 非抢占模式和延迟抢占
7.1 非抢占模式
在ka1和ka2中修改配置文件
重启
7.2 延迟抢占
在ka1和ka2中修改配置文件
重启
8 单播模式设定
8.1 ka1
在配置文件里修改
重启
8.2 ka2
重启
9 邮件通知
9.1 在mail配置文件修改
9.2 编写mail脚本
10 双主模式
ka1
ka2
11 ipvs设定
给rs1和rs2都配置lo永久
在ka安装ipvsadm
在ka1和ks2分别配置ipvsadm策略
12 vrrp脚本控制vip
在脚本里编写
在keepalived配置文件里修改
13 keepalived+haproxy的高可用集群
在ka1和ka2安装haproxy
在配置文件
在haproxy配置文件修改