Keepalived 가상 컴퓨터 구축
7686 단어 keepalived
nginx 는 부하 이퀄 라이저 로 서 모든 요청 이 nginx 에 도 착 했 습 니 다. nginx 는 매우 중요 한 위치 에 있 음 을 알 수 있 습 니 다. 만약 에 nginx 서버 가 다운 되면 백 엔 드 웹 서 비 스 를 제공 하지 못 하고 영향 이 심각 합 니 다.
부하 균형 서버 의 다운 을 차단 하기 위해 서 는 백업 기 를 만들어 야 합 니 다.홈 서버 와 백업 기 에 서 는 'I am alive' 와 같은 정 보 를 전송 하여 상대방 의 운행 상황 을 감시 할 수 있 는 고가 용 (High Availability) 모니터링 프로그램 이 실 행 됩 니 다.백업 기 가 일정한 시간 내 에 이러한 정 보 를 받 을 수 없 을 때 메 인 서버 의 서비스 IP 를 인수 하고 부하 균형 서 비 스 를 계속 제공한다.백업 관리자 가 메 인 관리자 로부터 'I am alive' 라 는 정 보 를 받 았 을 때 서비스 IP 주 소 를 방출 하고 메 인 서버 는 부하 균형 서 비 스 를 다시 제공 하기 시작 했다.
keepalived 는 클 러 스 터 관리 에서 클 러 스 터 가 높 고 사용 가능 한 서비스 소프트웨어 로 단일 고장 을 방지 합 니 다.
Keepalived 는 웹 서버 의 상 태 를 감지 하 는 역할 을 합 니 다. 웹 서버 가 다운 되 거나 작업 이 고장 나 면 Keepalived 가 감지 하고 고장 난 웹 서버 를 시스템 에서 제거 합 니 다. 웹 서버 가 정상적으로 작 동 하면 Keepalived 는 자동 으로 웹 서버 를 서버 그룹 에 추가 합 니 다. 이 작업 은 모두 자동 으로 완료 되 며 인공 간섭 이 필요 없습니다.인공 적 으로 해 야 할 것 은 고장 난 웹 서버 를 복구 하 는 것 뿐이다.
keepalived 는 VRRP 프로 토 콜 을 바탕 으로 하 는 것 으로 VRRP 는 모두 Virtual Router Redundancy Protocol, 즉 가상 경로 중복 프로 토 콜 이 라 고 부른다.
가상 경로 중복 프로 토 콜 은 공유 기 가 사용 가능 한 프로 토 콜 이 라 고 볼 수 있 습 니 다. N 대 에서 같은 기능 을 제공 하 는 공유 기 를 하나의 공유 기 그룹 으로 구성 할 것 입 니 다. 이 그룹 에는 master 와 여러 개의 backup 이 있 고 master 위 에 대외 적 으로 서 비 스 를 제공 하 는 VIP 가 있 습 니 다.(VIP = Virtual IP Address, 가상 IP 주소, 이 공유 기 가 있 는 랜 내 다른 기기 의 기본 경로 가 이 VIP) 입 니 다. master 는 그룹 방송 을 보 냅 니 다. backup 이 VRRP 가방 을 받 지 못 할 때 master 가 지연 되 었 다 고 생각 합 니 다. 이 때 는 VRRP 의 우선 순위 에 따라 backup 을 master 로 선택해 야 합 니 다. 그러면 공유 기의 높 은 사용 을 보장 할 수 있 습 니 다.
keepalived 는 core, check, VRRP 등 세 가지 모듈 이 있 습 니 다. core 모듈 은 keepalived 의 핵심 으로 메 인 프로 세 스 의 시작, 유지, 전역 프로필 의 로드 와 해석 을 담당 합 니 다. check 은 일반적인 검사 방식 을 포함 하여 건강 검 사 를 담당 합 니 다. VRRP 모듈 은 VRRP 프로 토 콜 을 실현 합 니 다.
개인 적 이해
keepalived 는 가상 IP (vip) 가 필요 합 니 다. 이 가상 ip 는 서버 공급 자가 지원 해 야 합 니 다. 설치 하기 전에 서버 가 이 서 비 스 를 지원 하 는 지 확인 해 야 합 니 다.
keepalived 는 vrrp 프로 토 콜 로 이 루어 집 니 다. 사실 가장 중요 한 것 은 가상 IP 의 응용 입 니 다. 가상 IP 를 어떻게 이해 합 니까? 다음은 예 를 들 어 설명 하 겠 습 니 다.
저 희 는 현재 두 대의 서버 가 있 습 니 다. 192.168.1.5 와 192.168.1.6, 두 대의 서버 는 똑 같은 서 비 스 를 배치 하여 대외 적 으로 서 비 스 를 제공 합 니 다. 메 인 서비스 가 지연 되면 192.168.1.6 의 예비 서비스 로 수 동 으로 전환 해 야 정상 적 이다. 이렇게 하 는 것 은 분명 지능 적 이지 않다. 서로 연 결 된 스마트 기업 리더 의 이미지 에 부합 되 지 않 는 다.
keepalived 는 이 문 제 를 해결 하기 위해 서 입 니 다. 우 리 는 현재 가상 IP: 192.168.1.7 이 있 습 니 다. keepalived 는 이 IP 를 192.168.1.5 에 연결 합 니 다. 외부 네트워크 는 192.168.1.7 을 직접 방문 하면 192.168.1.5 에 접근 할 수 있 습 니 다. 메 인 서비스 가 다운 되면 keepalived 는 이 가상 IP 를 예비 서버 192.168.1.6 에 묶 습 니 다. 이 모든 것 은 keepalived 가 자동 으로 완성 할 수 있 습 니 다. 사실은 가능 합 니 다.이렇게 이해 하면 keepalived 는 두 서버 의 에이전트 이 고 어떤 서비스 gameover 가 그것 을 내 쫓 아 다른 사람들 이 똑 같은 서 비 스 를 계속 제공 하도록 합 니 다.
설치 준비
yum -y install kernel-devel*
yum -y install openssl-*
yum -y install popt-devel
yum -y install lrzsz
yum -y install openssh-clients
yum -y install libnl libnl-devel popt
cd /root
tar -zxvf keepalived-1.2.15.tar.gz
cd keepalived-1.2.15
/usr/local
./configure --prefix=/usr/local/keepalived
make
make install
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
chmod +x /etc/init.d/keepalived
chkconfig --add keepalived /etc/init.d/keepalived
chkconfig --list
1. keepalived local0:
vi /etc/sysconfig/keepalived
KEEPALIVED_OPTIONS="-D -d -S 0"
2. /etc/rsyslog.conf :
local0.* /var/log/keepalived.log
keepalived
:service keepalived start
:service keepalived stop
:service keepalived restart
rsyslog
service rsyslog start
service rsyslog restart
iptables -A INPUT -d 224.0.0.18 -j ACCEPT
/etc/rc.d/init.d/iptables save
는 설치 가 완료 되 었 더 라 도 가상 IP 와 메 인 서버 를 설정 해 야 합 니 다. 주 서비스: 192.168.128.1128 예비 서비스: 192.168.128.1129 가상 IP: 192.168.128.1130
! Configuration File for keepalived
#
global_defs {
notification_email { # keepalived email ,
[email protected]
}
notification_email_from [email protected] #
#smtp_server XXX.smtp.com # smtp
#smtp_connect_timeout 30 # smtp
router_id LVS_DEVEL # keepalived
}
vrrp_instance VI_1 {
state MASTER # MASTER BACKUP
interface eth0 #
virtual_router_id 51 # virtual_router_id
priority 100 #MASTER BACKUP BACKUP 99
advert_int 1 #MASTER BACKUP ,
authentication { #
auth_type PASS #
auth_pass 8888
}
virtual_ipaddress { # vip
192.168.128.130 # IP,
}
}
준비 nginx 설정 시 주의: state 를 BACKUP 으로 변경 해 야 합 니 다. priority 는 MASTER 보다 낮 고 virtual router id 와 master 의 값 이 일치 합 니 다.
! Configuration File for keepalived
#
global_defs {
notification_email { # keepalived email ,
[email protected]
}
notification_email_from [email protected] #
#smtp_server XXX.smtp.com # smtp
#smtp_connect_timeout 30 # smtp
router_id LVS_DEVEL # keepalived
}
vrrp_instance VI_1 {
state BACKUP # MASTER BACKUP
interface eth0 #
virtual_router_id 51 # virtual_router_id
priority 99 #MASTER BACKUP BACKUP 99
advert_int 1 #MASTER BACKUP ,
authentication { #
auth_type PASS #
auth_pass 8888
}
virtual_ipaddress { # vip
192.168.128.130 # IP,
}
}
이로써 설치 완료, 테스트 시작!
테스트 완료
service keepalived start
./nginx
/sbin/ip add show eth0
을 볼 수 있 습 니 다. 예비 서버 의 eth 0 상태 /sbin/ip add show eth0
3. 메 인 서버 다운 (서버 전원 끄 기 를 통 해 시 뮬 레이 션) 192.168.128128
> : nginx nginx ( nginx ), vip nginx 。
192.168.128.129 eth0, , ip , 。
여기까지, 모든 것 이 해결 되 었 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.