Keepalived是一个开源的高可用性解决方案,用于在多个服务器之间实现故障切换和负载均衡。它主要用于确保网络服务的持续可用性,例如Web服务器、数据库服务器等。Keepalived使用虚拟路由冗余协议(VRRP)来实现故障检测和切换。
配置文件解析(不要复制这段):
! Configuration File for keepalived
global_defs {
router_id 1 # 全局定义部分,指定路由器的ID,主调度器和副调度器id不能一致
}
vrrp_instance VI_1 {
state MASTER # VRRP实例的状态,主调度器为MASTER,辅调度器为BACKUP
interface eth0 # 使用的网络接口
virtual_router_id 51 # 虚拟路由器组的ID,主调度器要和辅一致
priority 100 # 优先级
advert_int 1 # VRRP广告的间隔时间
authentication {
auth_type PASS # 认证类型为密码
auth_pass 123456 # 认证密码
}
virtual_ipaddress {
192.168.0.100 # 虚拟IP地址
}
}
virtual_server 192.168.0.100 80 { #虚拟服务器地址、端口
delay_loop 6 # 健康检查的间隔时间
lb_algo rr # 负载均衡算法为Round Robin
lb_kind DR # 负载均衡模式为Direct Routing
persistence_timeout 50 # 持久化超时时间
protocol TCP # 使用的协议为TCP
real_server 192.168.0.101 80 { #第一个Web节点的地址、端口
weight 1 # 后端服务器的权重,权重越高,被分配该服务器的概率越大
TCP_CHECK { #健康检查的方式
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 3 # 重试前的延迟时间
connect_port 80 # 连接端口
}
}
real_server 192.168.0.102 80 { #第二个Web节点的地址、端口
weight 1 # 后端服务器的权重
TCP_CHECK {
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 3 # 重试前的延迟时间
connect_port 80 # 连接端口
}
}
}
无备注,便于复制粘贴
global_defs {
router_id 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 2
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
169.69.85.10
}
}
virtual_server 169.69.85.10 3306 {
delay_loop 15
lb_algo rr
lb_kind DR
protocol TCP
real_server 169.69.85.111 3306 {
weight 2
TCP_CHECK {
connect_port 3306
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 169.69.85.112 3306 {
weight 2
TCP_CHECK {
connect_port 3306
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
1 条评论
୧(๑•̀⌄•́๑)૭