keepalived 더 블 인 스 턴 스nginx 상호 위주 준비
3691 단어 keepalivedLVS
실험 환경
서버 종류
IP
소프트웨어.
주 된 상황
VIP
CentOS 6.6(nginx1)
172.18.100.11
nginx+keepalived
실례 VI1. 주 서버;실례 VI2. 보조 서버
172.18.100.21
CentOS 6.6(nginx2)
172.18.100.12
nginx+keepalived
실례 VI2. 주 서버;실례 VI1. 보조 서버
172.18.100.22
3. 조작 절차
1. nginx 를 설치 하고 테스트 페이지 를 설정 합 니 다.
2. keepalived 를 설치 하여 주소 더 블 메 인 전환 을 실현 합 니 다.
3. 검 측 서비스 스 크 립 트 작성 하기;
4. 상태 스 크 립 트 작성.
4. nginx 서비스 설치
5. keepalived 설치, 설정
nginx 1 keepalived. conf 설정
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.0.100.18
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 20
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
172.18.100.21
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 22
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
172.18.100.22
}
}
nginx2 keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node2
vrrp_mcast_group4 224.0.100.18
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 20
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
172.18.100.21
}
}
vrrp_instance VI_2 {
state MASTER
interface eth0
virtual_router_id 22
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
}
virtual_ipaddress {
172.18.100.22
}
}
테스트: nginx 1 의 keepalived 서 비 스 를 중단 하면 서비스 주소 가 모두 nginx 2 서버 네트워크 카드 에 설정 되 어 있 는 것 을 볼 수 있 습 니 다. 반대로 도 마찬가지 입 니 다.
6. 서비스 검사 스 크 립 트 설정
호스트 마다 keepalived 두 개의 인 스 턴 스 를 전역 에 추가 합 니 다.
vrrp_script chk_httpd {
script "killall -0 httpd"
interval 2
weight -5
}
keepalived vrrp 실례 상하 문 에 검 측 트랙 추가
track_script {
chk_httpd
}
테스트: nginx 서 비 스 를 끄 는 것 을 본 후에 서 비 스 는 자발적으로 우선 순 위 를 낮 추고 메 인 노드 는 백업 노드 로 전환 하 며 IP 주 소 는 다른 서버 로 이동 합 니 다.이 럴 때 그 서버 의 서비스 프로 세 스 가 지연 되 든 (물론 다른 방식 으로 테스트 할 수 있 습 니 다. 효율 에 주의 하 십시오. 1 초 에 한 번 테스트 하기 때문에) 서 비 스 는 주소 와 서 비 스 를 다른 서버 로 옮 길 수 있 습 니 다.
7. 서비스 상태 검사 스 크 립 트 를 추가 하고 서비스 에 실패 한 서버 에 서 비 스 를 다시 시작 합 니 다.
모든 메 인 서버 의 메 인 노드 에 검 측 스 크 립 트 를 추가 합 니 다. 메 인 노드 서비스 가 사용 되 지 않 을 때 서 비 스 를 다시 시작 합 니 다.
스 크 립 트 는 실행 가능 한 권한 이 필요 하 며 하나만 있 을 수 있 습 니 다.
/etc/keepalived/changToBackup.sh
#!/bin/sh
service httpd restart && echo "httpd service restart success.@$(date +'%F %T')"
모든 메 인 서버 인 스 턴 스 컨 텍스트 에 검색 스 크 립 트 를 추가 합 니 다:
notify_backup "/etc/keepalived/changToBackup.sh"
테스트: 한 서비스의 서 비 스 를 주동 적 으로 멈 추 면 서 비 스 는 서 비 스 를 다시 시작 합 니 다. 메 인 서버 는 메 인 서버 에서 보조 서버 로 전환 하고 메 인 서버 로 전환 하면 자동 으로 완 료 됩 니 다!수 동 으로 조작 할 필요 없어!
본 고 는 '심해 어' 블 로그 에서 나 왔 으 니 전재 하 는 것 을 사절 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.