lvs + keepalived 높 은 사용 가능

시스템 환경
  centos6.5
  lvs+keepalived(master)
  lvs+keepalived(slave)
  nginx(real-server)
  nginx(real-server)
lvs 소개
   LVS 는 Linux Virtual Server 의 약자 로 Linux 가상 서버 를 의미 하 며 가상 서버 클 러 스 터 시스템 이다.가상 서버 의 가장 주요 한 기능 은 패키지 전송 과 부하 균형 을 제공 하 는 것 으로 이 기능 은 ipvsadm 를 통 해 구체 적 으로 실현 할 수 있다.ip 부하 균형 기술 은 VS / NAT, VS / DR, VS / TUN 을 포함한다.본 고 는 DR 방식 을 소개 한다.
3. keepalive 소개
   keepalived 는 사용 가능 한 오픈 소스 소프트웨어 로 사용 가능 한 것 이 높 으 면 온라인 을 유지 하고 서비스의 단일 고장 을 방지 할 수 있 습 니 다.이것 은 vrrp (가상 경로 중복 프로 토 콜) 를 바탕 으로 사용 가능 한 기능 을 실현 합 니 다.
   VRRP 프로 토 콜 은 정적 인 결 성 된 경로 환경 에서 의 결 성 된 공유 기 단일 고장 으로 인 한 네트워크 실 효 를 없 애기 위해 설 계 된 메 인 모드 의 프로 토 콜 로 고장 이 발생 하여 장치 기능 전환 을 할 때 내외 데이터 통신 에 영향 을 주지 않 고 내부 네트워크 의 네트워크 파 라미 터 를 수정 할 필요 가 없다.VRRP 프로 토 콜 은 IP 주소 백업, 우선 경로 가 있어 야 합 니 다.선택, 불필요 한 공유 기 간 통신 등 기능 감소. 
   VRRP 프로 토 콜 은 두 대 또는 여러 대의 공유 기 장 치 를 하나의 장치 로 가상 하여 대외 적 으로 가상 공유 기 IP (하나 또는 여러 개) 를 제공 하고 공유 기 그룹 내부 에서 이 대외 IP 를 가 진 공유 기 가 정상적으로 작 동 하면 MASTER 또는 알고리즘 선택 을 통 해 생 성 된다. MASTER 는 가상 공유 기 IP 에 대한 각종 네트워크 기능 을 실현 한다. 예 를 들 어 ARP 요청, ICMP 등 이다.그리고 데이터 의 퍼 가기 등;다른 장 치 는 이 IP 를 보유 하지 않 고, 상 태 는 BACKUP 이 며, MASTER 의 VRRP 상태 알림 정 보 를 받 는 것 외 에는 대외 적 인 네트워크 기능 을 수행 하지 않 는 다.호스트 가 효력 을 잃 으 면 BACKUP 은 원래 MASTER 의 네트워크 기능 을 인수 합 니 다.
설치
  1 설치 lvs
  Linux 커 널 버 전 2.6 부터 ipvs code 는 커 널 에 통합 되 었 기 때문에 커 널 을 컴 파일 할 때 ipvs 기능 을 선택 하면 리 눅 스 는 LVS 를 지원 할 수 있 습 니 다.Linux 2.4.23 이후 커 널 버 전도 ip 통합vs code, 하지만 더 오래된 커 널 버 전이 라면 직접 ipvs code 는 커 널 원본 코드 에 통합 되 고 커 널 을 다시 컴 파일 해 야 lvs 를 사용 할 수 있 습 니 다.
  #yum install -y ipvsadm
  2 keepalived 설치
  #tar zxf keepalived-1.1.17.tar.gz
  #cd keepalived-1.1.17
  #./configure 
  #make&make install
  #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
  #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
  #mkdir -p /etc/keepalived
  #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
  #cp /usr/local/sbin/keepalived /usr/sbin/
  #/etc/init.d/keepalived start
  keepalived 시작 에 세 개의 프로 세 스 가 있 습 니 다.
 
5. 프로필
! Configuration File for keepalived
global_defs {
   notification_email {
   root@localhost
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_sync_group VG1 {
    group {
    VI_1
    VI_2
    VI_3
    VI_4
    }
}
vrrp_instance VI_1 {
    state MASTER    #  ,slave BACKUP
    interface eth0
    virtual_router_id 71
    priority 102    # 102 on master, 100 on backup
    advert_int 3
    smtp_alert
    authentication {
        auth_type PASS
        auth_pass PASSWORD
    }
    virtual_ipaddress {
        192.168.1.30
    }
}
## nginx VIP
virtual_server 192.168.1.30 80 {
    delay_loop 6    #        
    lb_algo wlc     #      ,      
    lb_kind DR      #      DR
    persistence_timeout 7  #session    7s
    protocol TCP    #    
    real_server 192.168.1.40 80 {
    weight 1        #  
    TCP_CHECK {
    connect_timeout 7 #      
     }
    }
    real_server 192.168.1.41 80 {
    weight 4
    TCP_CHECK {
    connect_timeout 7
    }
    }
}

6. realserver VIP 설정
  #vim /etc/sysctl.conf  
   net.ipv4.conf.lo.arp_ignore = 1
   net.ipv4.conf.lo.arp_announce = 2
   net.ipv4.conf.all.arp_ignore = 1
   net.ipv4.conf.all.arp_announce = 2
  #vim /etc/sysconfig/network-scripts/ifcfg-lo:1  
   DEVICE=lo:1
   NAME=loopback1
   IPADDR=192.168.1.30     #VIP
   NETMASK=255.255.255.255
   ONBOOT=yes
~ #service network restart
  #ifconfig 인증 보기 
이 글 은 '플 레 메 밴드' 블 로그 에서 나 온 것 으로 전 재 를 사절 합 니 다!

좋은 웹페이지 즐겨찾기