Keepalived介绍、安装及配置详解
1. Keepalived介绍
Keepalived是一款开源的负载均衡软件,基于VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)实现高可用性。主要用于解决网络服务的单点故障问题,尤其在集群环境中提供VIP(Virtual IP,虚拟IP地址)共享和故障切换功能。当主节点发生故障时,Keepalived能够快速将VIP漂移到备份节点上,确保服务的连续性和稳定性。它通过保护用户的业务程序对外不间断提供的服务,把因软件、硬件、人为造成的故障对业务的影响降低到最小程度。
主要功能:
负载均衡:通过LVS(Linux Virtual Server)模块提供四层负载均衡。
高可用:利用VRRP协议实现网络服务的高可用性,即当主服务器失效时,备用服务器能立即接管其VIP和服务。
2.keepalived工作原理
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
将N台提供相同功能的服务器组成一个服务器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该服务器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master
3. Keepalived安装
yum -y install ipvsadm keepalived
4. Keepalived基本配置详解
Keepalived的主要配置文件是`/etc/keepalived/keepalived.conf`,该文件中包含了全局配置以及两个主要组件VRRP实例和LVS实例的配置。
4.1 VRRP实例配置示例
global_defs {
notification_email {
root@localhost
}
router_id LVS_DEVEL # 定义本机在VRRP中的标识符
}
vrrp_instance VI_1 { VRRP实例ID
state MASTER # 设置初始状态为MASTER或BACKUP
interface eth0 # 网络接口,VIP将绑定在此接口上
virtual_router_id 51 # 虚拟路由器ID,同一组内必须一致
priority 101 # 主节点优先级高于备份节点
advert_int 1 # VRRP通告间隔,默认为1秒
authentication {
auth_type PASS # 认证类型,可选PASS(密码)或AH(加密)
auth_pass password # 共享认证密码
}
virtual_ipaddress {
192.168.100.150/24 dev eth0 # VIP地址与子网掩码及接口
}
}
4.2 LVS配置示例
定义LVS实例(NAT模式示例):
virtual_server_group web_serg {
lb_algo rr # 负载均衡算法,如轮询(ROUND ROBIN)
lb_kind NAT # 负载均衡类型,此处为NAT方式
real_server 192.168.100.101:80 {
weight 1 # 权重
TCP_CHECK { # 检查后端服务器健康状况
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 尝试获取次数
delay_before_retry 3 # 重试前等待时间
connect_port 80 # 监控端口
}
}
real_server 192.168.100.102:80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
virtual_server 192.168.100.150 { # VIP地址和监听端口
delay_loop 6 # 健康检查间隔
protocol TCP
use_backend web_serg # 使用前面定义的虚拟服务器组
}
```
5 配置完成后重启服务
修改完配置文件后,需要重启Keepalived服务以应用新的配置:
systemctl restart keepalived
更多推荐
所有评论(0)