Linux 에서 Nginx + heartbeat 구축

3814 단어 nginxheartbeat
이론 개술
     HA 는 고가 용 으로 이중 열 비 라 고도 불 린 다.
     고가 용 원리: 두 대의 기계 A 와 B 는 정상적으로 A 가 서 비 스 를 제공 하고 B 가 방치 되 어 있다. A 가 지연 되 거나 서비스 가 지연 되면 B 로 전환 하여 서 비 스 를 계속 제공 하고 심장 박동 으로 통신 과 선 거 를 한다.
     하트 비트 원리: 심장 박동 검사 와 자원 연결 두 부분.클 러 스 터 의 호스트 는 서로 메 시 지 를 보 내 고 상대방 에 게 현재 상 태 를 알려 주 며 일정 시간 동안 상대방 의 메 시 지 를 받 지 못 하면 사망 을 인정 합 니 다.
     자주 사용 되 는 고성능 소프트웨어: heartbeat, keepalived
     뇌 열: 쌍방 이 심장 박동 정 보 를 전달 하지 못 해 다른 노드 상태 정 보 를 얻 지 못 한다.
     heartbeat 서비스 에 적합 하 다
    keepalived 는 lvs 고 용도 로 적합 합 니 다.
     두 가지 검 측 방식: 서로 메 시 지 를 보 내 고 두 번 째 ping 게 이 트 웨 이 또는 다른 제3자
     심장 박동 선의 역할 (내부 네트워크 IP): 서로 메 시 지 를 보낸다.
 실험: AB 두 대의 가상 컴퓨터 에 모두 nginx 와 heartbeat 를 설치 하고 AB 두 대의 가상 컴퓨터 는 모두 heartbeat 를 설치 하지만 nginx 를 시작 하지 않 습 니 다.
       이 때 메 인 노드 의 nginx 가 자동 으로 시작 되 고 VIP 를 획득 합 니 다.
       정상 적 인 상황 에서 A 는 서 비 스 를 제공 하고 VIP 는 A 에 있 으 며 A 에 있 는 nginx 가 고장 이 나 서 작업 을 멈 추 면 VIP 는 B 로 이동 하고 B 에 있 는 nginx 도 자동 으로 작 동 하여 높 은 가 용 효 과 를 얻 을 수 있 습 니 다.
 
짓다
중점: 시간 동기 화
     각 군집 노드 는 서로 해석 할 수 있다.
(1) 세 개의 프로필:
    비밀 키 파일: authkeys
    heartbeat 서비스 프로필: ha. cf
    자원 관리 프로필: haresouce
(2) 준비 환경
        1. 두 대의 가상 컴퓨터 는 모두 하트 비트 와 nginx 를 설치한다.
        2. hostname: node 1 node 2
        3. 두 기계 모두 두 개의 내부 네트워크 주 소 를 추가 합 니 다. 192.168.100.20, 192.168.100.30 (심장 박동 선 을 모 의 하 는 데 사용)        4. 방화벽 닫 기 service iptables stop        5. SElinux 닫 기 setenforce 0        6. 해석 추가 vim/etc/hosts          #추가 내용 은 다음 과 같 습 니 다. 
            192.168.1.104  node1                        #외부 네트워크 주소 와 호스트 이름            192.168.1.106  node2                        #외부 네트워크 주소 와 호스트 이름    
        7. 두 기계 모두 하트 비트 설치   libnet  nginx             #yum  install -yheartbeat*    libnet  nginx               #yum  install -y heartbeat*   libnet  nginx  
  (3) 주 노드:
 #cd /usr/share/doc/heartbeat-3.0.4/
   #cp  authkeys  ha.cf haresources   /etc/ha.d/                 
   #cd /etc/ha.d                                           
   #vim  authkeys                                 
   #vim haresources                      ,                            
   node1  192.168.1.109/24/eth0:0 nginx           /  IP/  /    /     
   #vim  ha.cf                                    
    debugfile /var/log/ha-debug                  
    ogfile /var/log/ha-log                       
    logfacility     local0                     
    keepalive 2                                               
    deadtime 30                              30 ,         ,      
    warntime 10                            10    ,     
    initdead 60                                       
    udpport 694                                       
    ucast eth1 192.168.100.20           :              (  ,  IP)
    auto_failback on                       ,          
    respawn hacluster /usr/lib64/heartbeat/ipfail     ping     ping node         
    node    zhaijunming                 
    node    zhaijunming1                
    ping 192.168.1.254                      ,ping                          #      :  1.           2.ping        

(4) 준비 노드
    1. 서버 에서 프로필 복사
             scp ha.cf  haresources authkeyszhaijunming1:/etc/ha.d/   #설정 파일 을 위 에서 복사 합 니 다.
    2. 예비 노드 수정 / etc / ha. cf       vim  /etc/ha.d/ha.cf          # 한 곳 만 바 꾸 고 상대방 의 심장 박동 선 주소 로 바 꾸 면 됩 니 다.        ”ucast eth 1192.168.100.20 "에서  ”ucasteth1 192.168.100.30“
테스트
주: 1. 하트 비트 시작: 1 분 정도 기다 리 고 ifconfig - a 를 실행 하여 VIP 가 있 는 지 확인 한 다음 nginx 서비스 가 자동 으로 시작 되 었 는 지 확인 합 니 다.
준비: 2. heartbeat 를 시작 합 니 다. VIP 가 있 으 면 안 되 고 nginx 도 자동 으로 시작 할 수 없습니다.
주 노드 의 httpd 를 중단 하고 VIP 가 예비 노드 로 이동 하 는 지, 예비 노드 httpd 서비스 가 시작 되 는 지 확인 합 니 다.
 
본 고 는 '격조,' 블 로그 에서 나 왔 으 니 전재 하 는 것 을 사절 합 니 다!

좋은 웹페이지 즐겨찾기