찾다
컴퓨터 튜토리얼컴퓨터 지식Linux 시스템 Keepalived 상태 확인 메커니즘 해석

解读Linux 系统Keepalived健康检查机制

在进行负载均衡时,一般都会部署一个健康检查工具,确保后端real server是正常的,可以提供服务的,避免出现后端real server 已经宕机或服务不可用时,负载均衡器扔将请求分发到real server,影响整体业务访问。健康检查的方式有很多,可以自行部署脚本,当然当前用的比较多的就是keepalived服务了。keepalived的健康检查方式有三种,tcp_check、http_check、misc_check。

keepalived配置简述

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server。

yum install keepalived -y

配置文件:

! Configuration File for keepalived



# vi /etc/keepalived/keepalived.conf



# 全局配置 主要是配置故障发生时的通知对象以及机器标识

global_defs {



notification_email {

r_xl@xl.com# 设置报警邮件接收地址,需要开启 sendmail 服务

}



notification_email_from s_xl@xl.com# 设置邮件的发送地址

smtp_server 192.168.2.241# 设置通知的 SMTP Server 地址

smtp_connect_timeout 30# 设置通知的 SMTP Server 的超时时间



router_id LVS_DEVEL_1# 路由ID,标识本节点的字符串,邮件通知时会用到



}



# 自定义VRRP实例健康检查脚本 keepalived只能做到对自身问题和网络故障的监控,Script可以增加其他的监控来判定是否需要切换主备

vrrp_script chk_sshd {



script "killall -0 sshd"# 示例为检查sshd服务是否运行中



interval 2 # 检查间隔时间

weight -4# 检查失败降低的权重



}





# VRRP实例 定义对外提供服务的VIP区域及其相关属性

vrrp_instance VI_1 {



state MASTER # 状态只有 MASTER 和 BACKUP 两种,并且要大写,MASTER 为工作状态,BACKUP 是备用状态

interface eth0 # 节点固有IP(非VIP)的网卡,用来发VRRP包

virtual_router_id 51 # 虚拟路由标识,同一个 vrrp_instance 的 MASTER 和 BACKUP 的 vitrual_router_id 需要一致

priority 100 # 优先级,同一个 vrrp_instance 的 MASTER 优先级必须比 BACKUP 高

advert_int 1 # MASTER 与 BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒



authentication { # 设置认证

auth_type PASS # 认证方式,支持 PASS 和 HA

auth_pass 1111 # 证密码为明文,同一 vrrp 实例 MASTER 与 BACKUP 使用相同的密码才能正常通信

}



virtual_ipaddress {# 虚拟IP地址(VIP),可以有多个地址,每个地址占一行

192.168.12.200

}



track_script { # 自定义健康检查脚本

chk_sshd # 配置上面自定义的vrrp脚本调用名

}

}



# 设置虚拟服务器

virtual_server 192.168.12.200 6500 { # 指定虚拟IP地址和服务端口



delay_loop 6 # 服务健康检查周期,6秒

lb_algo rr # 负载均衡调度算法,一般用wrr、rr、wlc

lb_kind DR # 负载均衡转发规则。一般包括DR,NAT,TUN 3种

persistence_timeout 5# 会话保持时间。把用户请求请求间隔在未超过保持时间时,一直分发到某个服务节点

protocol TCP # 转发协议 有TCP和UDP两种



# 配置真实服务器

real_server 192.168.2.222 6500 {#指定IP和端口



weight 1 # 权重,数值越大,权重越高



# 健康检查方式 常见有 TCP_CHECK, HTTP_GET, SSL_GET, MISC_CHECK(自定义脚本)

TCP_CHECK { # 通过TcpCheck方式判断RealServer的健康状态

connect_timeout 10# 连接超时时间

nb_get_retry 3# 重连次数

delay_before_retry 3# 重连时间间隔

connect_port 6500 # 检测端口

}



}



# 配置真实服务器

real_server 192.168.2.222 6500 {#指定IP和端口



weight 1# 权重,数值越大,权重越高



# 健康检查方式 常见有 TCP_CHECK, HTTP_GET, SSL_GET, MISC_CHECK(自定义脚本)

TCP_CHECK { # 通过TcpCheck判断RealServer的健康状态

connect_timeout 10# 连接超时时间

nb_get_retry 3# 重连次数

delay_before_retry 3# 重连时间间隔

connect_port 6500 # 检测端口

} 

} 

}

健康检查类型

TCP_CHECK
TCP_CHECK { # 通过TcpCheck判断RealServer的健康状态

connect_timeout 10# 连接超时时间
nb_get_retry 3# 重连次数
delay_before_retry 3# 重连时间间隔
connect_port 6500 # 检测端口
}

2.HTTP_GET

HTTP_GET {

url {

path check/200.jsp# 检查的uri地址

digest 1362a91278f0806aa1d33e1e26d67763 # 用keepalived自带的genhash生成,/usr/bin/genhash -s rsIP -p port -u uri

}

connect_timeout 3 # 链接超时时间

nb_get_retry 3 # 重连次数

delay_before_retry 3# 重连时间间隔

connect_port 6500# 检测端口

}

3.MISC_CHECK

keepalived.conf配置:

MISC_CHECK {

misc_path "/etc/keepalived/misc_check.sh http://192.168.2.222:6500/check/200.jsp"# 外部程序或者脚本的路径和参数

misc_timeout 10 # 脚本执行的超时时间

misc_dynamic#动态权重标志。脚本返回0则检测成功权重不变,返回1表示失败权重设置为0

}

脚本示例:

#!/bin/bash

# ./misc_check.sh http://192.168.2.222:6500/check/200.jsp



if [ $# -ne 1 ]; then

echo "Warning: command param error."

exit 1

else

CHECK_URL=$1

CMD=`/usr/bin/curl -I ${CHECK_URL} 2>/dev/null | grep "200 OK" | wc -l`



if [ ${CMD} -eq 1 ]; then

echo "Succ: Check proxy ${CHECK_URL} is succeed."

exit 0



else

echo "Fail: check proxy ${CHECK_URL} is failed."

exit 1

fi

fi

위 내용은 Linux 시스템 Keepalived 상태 확인 메커니즘 해석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 每日运维에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Resident Evil 4 Saves를 찾아서 백업하는 방법? 여기에 가이드가 있습니다! - 미니 툴Resident Evil 4 Saves를 찾아서 백업하는 방법? 여기에 가이드가 있습니다! - 미니 툴Apr 14, 2025 am 12:50 AM

Resident Evil 4 Saves를 찾는 방법이 궁금하십니까? Resident Evil 4 Saves를 백업하는 방법? Php.cn 의이 게시물은 Resident Evil 4 저장을 백업하는 3 가지 방법을 제공합니다. 이제 계속 독서를하십시오.

Windows에서 로그인 시도 수를 제한하는 방법Windows에서 로그인 시도 수를 제한하는 방법Apr 14, 2025 am 12:49 AM

수많은 주요 조합을 입력하여 누군가가 컴퓨터에 액세스하려고하는 경우 컴퓨터가 열 위험이 높습니다. 따라서 로그인 시도 수를 제한해야합니다. 어떻게해야합니까? 이 php.cn 게시물을 읽으십시오.

cfgmgr32.dll을 찾을 수 없습니까? 간단한 방법을 통해 문제를 쉽게 수정하십시오cfgmgr32.dll을 찾을 수 없습니까? 간단한 방법을 통해 문제를 쉽게 수정하십시오Apr 14, 2025 am 12:48 AM

cfgmgr32.dll 누락 된 오류는 종종 사람들을 많이 괴롭히고 창문에 더 심각한 문제를 남기기 위해 발생합니다. 그렇다면 cfgmgr32.dll을 찾을 때 어떻게해야합니까? Php.cn 웹 사이트 의이 게시물에서 몇 가지 방법을 알려줍니다.

수정 : 잠금 화면 타임 아웃이 작동하지 않습니다수정 : 잠금 화면 타임 아웃이 작동하지 않습니다Apr 14, 2025 am 12:47 AM

Windows Lock 화면 타임 아웃이 작동하지 않는 문제를 겪은 적이 있습니까? 다행히도 Php.cn 에서이 게시물에서 몇 가지 실현 가능한 솔루션을 사용할 수 있습니다. 이 수정 사항을 적용하면이 성가신 문제를 효과적으로 해결할 수 있습니다.

Windows 11 23H2가 출시되었습니다! PC에서 가져 오는 방법?Windows 11 23H2가 출시되었습니다! PC에서 가져 오는 방법?Apr 14, 2025 am 12:46 AM

Microsoft는 잠시 동안 Windows 11 23H2 (Windows 11 2023 업데이트)를 출시했습니다. 이 업데이트를 장치에 설치 하시겠습니까? 새로운 기능은 무엇입니까? 이 업데이트를 즉시 얻는 방법은 무엇입니까? 이제이 php.cn에서 정보를 얻을 수 있습니다

Windows Defender Windows 10/11을 우회하는 방법은 무엇입니까? - 미니 툴Windows Defender Windows 10/11을 우회하는 방법은 무엇입니까? - 미니 툴Apr 14, 2025 am 12:45 AM

Windows Defender는 컴퓨터와 장치의 파일을 악성 코드 및 바이러스의 공격 또는 감염으로부터 보호 할 수 있습니다. 그러나 때로는 어떤 이유로 인해 Windows Defender를 우회해야합니다. Php.cn 웹 사이트 의이 게시물에서 3 W를 소개합니다.

제공되는 데이터를위한 6 가지 가장 좋은 방법은 PC에서 잘못된 유형입니다.제공되는 데이터를위한 6 가지 가장 좋은 방법은 PC에서 잘못된 유형입니다.Apr 14, 2025 am 12:44 AM

휴대 전화에서 컴퓨터로 파일을 복사하거나 전송하려고 할 때 제공된 데이터가 잘못된 유형 오류 메시지가 표시 될 수 있습니다. 해결 방법에 대해 전혀 모른다면 Php.cn 웹 사이트 의이 게시물이 도움이 될 수 있습니다.

Excel을 기본 설정으로 쉽게 재설정하는 방법을 알아보십시오Excel을 기본 설정으로 쉽게 재설정하는 방법을 알아보십시오Apr 14, 2025 am 12:43 AM

Microsoft Excel에 대한 변경 사항을 되돌리고 싶습니까? 여기서 Php.cn 소프트웨어 의이 기사는 가장 효과적인 방법으로 Windows 10의 기본 설정으로 Excel을 재설정하는 방법을 보여줍니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경