'전체 글'에 해당되는 글 31건

  1. 2015.04.29 keepalived 로드 밸런서의 이중화

keepalived는 서비스의 가동 상태를 감시하는 소프트웨어로 서비스에 장애가 발생하여 정시했을 경우 그 서버로 오는 요청을 다른 가용 서버로 할당하도록 하여 서비스가 정지하지 않고 무정지 운영이 가능하도록 하는 기능을 가지고 있습니다.

환경

CentOS release 6.4

http://www.keepalived.org/

설치

테스트를 위하여 두대의 서버가 필요합니다.
현재 최신 버전은 Version 1.2.13 이지만 yum을 통하여 두대의 서버에 동일하게 keepalived를 설치합니다.
1.2.7 버전이 설치 되네요.
$ yum install keepalived

keepalived 설정

설치된 설정 파일을 백업하고 수정합니다.
$ cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.org
$ vi /etc/keepalived/keepalived.conf

Master Server (172.16.120.172)

! Configuration File for keepalived

global_defs {
   notification_email {
   # 메일 관련 기능은 생략
   }
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        # 동일한 가상 IP
        172.16.120.150
    }
}

Backup Server (172.16.120.173)

! Configuration File for keepalived

global_defs {
   notification_email {
   # 메일 관련 기능은 생략
   }
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        # 동일한 가상 IP
        172.16.120.150
    }
}

서비스 시작

Master, Backup 서버에서 keepalived를 시작합니다.
$ /etc/init.d/keepalived start

동작확인

두 서버에서 설정한 가상 IP인 172.16.120.150로 요청을 보내게 되면
최초 MASTER 서버로만 요청이 가게 됩니다.
MASTER 서버를 정시하고 172.16.120.150로 요청을 하게 되면 Backup서버로 요청이 가게 됩니다.

간단한 테스트 방법으로는 제 3의 서버에서 172.16.120.150로 ping을 실행시켜 두고 Master, Backup 서버를 번갈아 가면 정지 기동 하여도 ping은 끊김없이 지속적으로 가는 것을 확인 할 수 있습니다.

Posted by dewnine
,