keepalived 더 블 인 스 턴 스nginx 상호 위주 준비

3691 단어 keepalivedLVS
1. 실험 목적: 두 대의 nginx 서버 는 keepalived 를 이용 하여 두 개의 인 스 턴 스 를 서로 위주 로 준비 하고 http 서비스 검 측 동적 전환 주 비 를 실현 할 수 있 습 니 다. 메 인 서버 검 측 에 실패 한 후에 http 서 비 스 를 다시 시작 할 수 있 습 니 다.
실험 환경
서버 종류
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"

  테스트: 한 서비스의 서 비 스 를 주동 적 으로 멈 추 면 서 비 스 는 서 비 스 를 다시 시작 합 니 다. 메 인 서버 는 메 인 서버 에서 보조 서버 로 전환 하고 메 인 서버 로 전환 하면 자동 으로 완 료 됩 니 다!수 동 으로 조작 할 필요 없어!
본 고 는 '심해 어' 블 로그 에서 나 왔 으 니 전재 하 는 것 을 사절 합 니 다!

좋은 웹페이지 즐겨찾기