keepalived 소개, 높 은 사용 가능 한 설정;링크 ux 군집 소개;
4773 단어 keepalived고가 용배치 하 다.군집 구조
분류 (기능 별)
1. 높 은 사용 가능: 보통 두 대의 서버, 한 대의 작업, 다른 한 대 는 불필요 합 니 다.호스트 가 다운 되면 불필요 한 교체 로 서 비 스 를 제공 합 니 다.실현 소프트웨어 는 하트 비트, keepalived 가 있다.2. 부하 균형: 한 대 는 분배 기 를 만 들 고 임 무 를 다른 기계 에 나 누 어 준다.스케줄 링, 1 + N 서비스 로 사용 할 수 있 습 니 다.소프트웨어: LVS, keepalived, haproxy, nginx;
keepalived 소개
keepalived 는 VRRP 프로 토 콜 을 통 해 높 은 사용 을 실현 합 니 다. 이 프로 토 콜 에서 여러 대의 기능 이 같은 공유 기 를 하나의 그룹 으로 구성 합 니 다. 그 중에서 하나의 Master, N 개의 backup 역할 입 니 다.master 는 그룹 방송 형식 으로 각 backup 에 VRRP 프로 토 콜 의 패 킷 을 보 냅 니 다. backup 이 master 가 보 낸 VRRP 패 킷 을 받 지 못 하면 master 가 다운 되 었 다 고 생각 합 니 다.이 때 는 각 backup 의 우선 순위 에 따라 누가 새로운 master 가 될 지 결정 해 야 합 니 다.
세 개의 모듈
1. core: 핵심 모듈 은 주로 메 인 프로 세 스 의 시작, 유지 및 전체 프로필 의 로드 와 분석 을 책임 집 니 다.2. check: 건강 검진 담당;3. vrrp: VRRP 프로 토 콜 실현;
keepalived 설정
master 기계: 192.168.188.2backup 기계: 192.168.188.3vip 공공 ip: 192.168.188.188 조 id: 51
keepalived 설치
yum install -y keepalived
마스터 머 신 설정
vim /etc/keepalived/keepalived.conf //
global_defs { //
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx { // shell, shell
script "/usr/local/sbin/check_ng.sh"
interval 3
}
vrrp_instance VI_1 {
state MASTER // master
interface ens33 // , ens33, eth0( )
virtual_router_id 51 // id,
priority 100 // 100,
advert_int 1
authentication { //
auth_type PASS // pass
auth_pass testlinux123 // testlinux123
}
virtual_ipaddress {
192.168.188.188 // vip ip, ip
}
track_script { //
chk_nginx
}
}
vim /usr/local/sbin/check_ng.sh // shell
#!/bin/bash
# ,
d=`date --date today +%Y%m%d_%H:%M:%S`
# nginx
n=`ps -C nginx --no-heading|wc -l`
# 0, nginx, nginx ,
# 0, nginx , keepalived
if [ $n -eq "0" ]; then
/etc/init.d/nginx start
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi
chmod 755 /usr/local/sbin/check_ng.sh // shell 755
systemctl start keepalived // keepalived
백업 설정
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/check_ng.sh"
interval 3
}
vrrp_instance VI_1 {
state BACKUP // backup
interface ens33 //
virtual_router_id 51 // master id
priority 90 // , master ,
advert_int 1
authentication {
auth_type PASS
auth_pass testlinux123
}
virtual_ipaddress {
192.168.188.188
}
track_script {
chk_nginx
}
}
vim /usr/local/sbin/check_ng.sh // shell
# ,
d=`date --date today +%Y%m%d_%H:%M:%S`
# nginx
n=`ps -C nginx --no-heading|wc -l`
# 0, nginx, nginx ,
# 0, nginx , keepalived
if [ $n -eq "0" ]; then
systemctl start nginx
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi
chmod 755 /usr/local/sbin/check_ng.sh // shell 755
systemctl start keepalived // keepalived
로그 보기
less /var/log/messages
vip ip 보기
ip add
테스트 master 는 keepalived 를 닫 고 vip 를 방문 한 ip 192.168.188.188 은 buckup 의 내용 입 니 다.
systemctl stop keepalived
systemctl start keepalived
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【CoreOS】fleet + docker + keepalived(VRRP+VIP만)로 간단 LB이번에는 fleet + docker + keepalived로 쉽게로드 밸런서를 구축하고 싶습니다. 먼저 docker hub에 위의 구성을 목표로 하는 image가 있는지 찾아 옵니다. 로드 밸런서의 조합은 이전에 구...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.