일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자동차
- 일본
- しまじろう
- 신쥬쿠
- 점심
- 칸칸
- 영단어
- 동경 모터쇼
- 돈까스
- fish
- 스테이크
- youtuber
- one tab buy
- 여름
- 리눅스
- 원탭바이
- 사이타마
- 코라쿠엔
- 토익
- 돼지갈비
- paypay
- TOY
- 米沢、팽이
- 라면
- 명령어
- 전철
- 시마지로
- Shimajirou
- 시스템관리
- Sekai Entertainment
- Today
- Total
IT Japan
High Availability Cluster 본문
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서버 역시 효율적으로 사용은 다음에 알아보도록 하자.