IT Japan

High Availability Cluster 본문

카테고리 없음

High Availability Cluster

swhwang 2014. 10. 27. 09:27
반응형

High Availability Cluster

이 구성은 서비스를 제공하는 

Active Server와 장애 발생시 서비스를 이어 받는 Stand-by server로 이루어진다.가용성 확보는 물론 데이터 상속에 대해서도 관여한다.데이터 관리 방법에 따라 Shared Disk(공유디스크),Data Mirroring(데이터복제)타입,Remote Cluster(원격 클러스터)타입으로 분류된다.


공유디스크 타입

(1)특징

비교적 고가의 외장 공유디스크 필요

대용량의 데이터를 취급하는 시스템에 적합

(2)기본 구성 및 동작

정상 동작 수행 중인 상태

서버에 장애가 발생하면 스탠바이 서버에서 서비스를 이어 받는다.(failover)

장애가 발생한 서버의 문제를 조치한다.

원래의 서버로 서비스를 원복한다(failback)


데이터 복제 타입

(1)특징

고가의 외장 공유 디스크가 필요없다.

데이터의 복제로 인해 소요량의 데이터를 취급하는 시스템에 적합

(2)기본 구성 및 동작

액티브 서버에서 디스크 읽기는 비 클러스터 구성인 상태와 동일하며,디스크 쓰기 동작에서Interconnect네트워크를 통해 복제가 이루어진다.

데이터의 복제는 리얼타임으로 동작하는 Synchronous방식과 원격지의 클러스터 노드의 데이터 복제를 지원하는 Asynchronous방식이 있다.

액티브 서버에서 장애가 발생할 경우 스탠바이 서버에서 복제된 데이터를통해서 어플리케이션이 실행되면 서비스를 이어받게 된다.

HeartBeat설정 및 구동

HeartBeat프로토콜을 이요하는 오픈 소스 프로젝트

정해진 시간간격을 두고 특정한 패킷을 물리적으로 연결된 호스트에 보내 일정시간 응답이 없으면 정해진 응급복구 프로세스를 수행

이더넷 카드 혹은 시리얼 케이블을 이용 각각의 호스트를 연결

HeartBeat프로토콜로 연결된 호스트들은 가상 IP를 공유

Master 호스트가 서비스를 책임

Master호스트에 문제가 발생시 Stand-by서버로 서비스 계속


HeartBeat설정

HeartBeat는 3개의 설정 파일을 사용한다.(기본 경로 /etc/ha,d)

ha.cf:heartbeat구성에 필요한 기본 설정 파일.

haresource:노드간에 공유할 자원과 script 설정 파일.

authkeys:노드간의 인증 방법을 설정


/etc/ha.d/ha.cf

debugfile               /var/log/ha-debug #debugfile 로그  생성 파일

logfile                   /var/log/ha-log        #로그 생성 파일

logfacility local0

keepalive 2                                         #두 노드간 heartbeat 주고 받는 주기(초단위)

deadtime 10                                       #UDP heartbeat패킷을 보낼 포트

ucast eth1 slaveIPAddress                    #UDP heartbeat 보낼 인터페이스

auto_failback on                                  #장애 노드  복구시 자동 복구 여부 설정

master node                                        #마스터 노드

slave node                                            #슬레이브 노드


/etc/ha.d/haresource

마스터 노드명                       virtual IP                             공유 서비스명

master node                         192.168.1.100                      httpd

이 후 공유리소스에 대한 링크를 생성한다.

#ln -s /etc/rc.d/init.d/httpd /etc/ha.d/resource.d/httpd


/etc/ha.d/authkeys

auth 1     #사용할 인증 방식

1  md5 hello  #인증 시 보낼 메시지

여기에서 주의할 점은 보안상 root만 실행할 수 있도록 권한을 중어야 한다.

# chmod 600 /etc/ha.d/authkeys


heartbeat 구동과 종료

# service heartbeat start

#service heartbeat stop

이것은 간단한 HP만의 설정

이런식의 서버 설정은 하나가 놀고 있기 때문에(standby)자원의 효율면에선 떨어진다고 볼수 있다.

standby서버 역시 효율적으로 사용은 다음에 알아보도록 하자.


반응형
Comments