heartbeat 설정

Download Report

Transcript heartbeat 설정

단국대학교
수원대학교
목 차
▶ Computer Clusters
- High Availability Clusters (HA Cluster)
- Load-Balancing Clusters
- HPC Clusters
- Grid Computing
▶ Diskless Node
▶ HA + LVS + Diskless Clusters 소개
▶ 구연 방법 (HA + LVS)
Computer Cluster란?
Computer Cluster
- 여러 대의 컴퓨터를 하나로 묶어 놓은 것
- 각각의 컴퓨터는 'Node'라고 부름
- Node로는 주로 PC를 이용하며, 운영체제로는 Linux를 많이 사용함
Computer Cluster란?
Computer Cluster의 종류
- High-availability (HA) clusters
- Load-balancing clusters
- High-performance computing (HPC) clusters
- Grid computing (유사기술)
Computer Cluster란?
High Availability Cluster
HA Cluster
- 중단되지 않는 서버를 일컫음
- 지속적인 서비스를 제공할 수 있음
- 하나의 서버가 장애 발생시 다른 하나의 서버가 그 역할을 대신함
High Availability Cluster (HA Cluster)
Computer Cluster란?
Load-Balancing Clusters
- 서비스를 여러 대의 서버가 분담
- 과부하를 효율적으로 해결 할 수 있음
- LVS는 Load-Balancing Clusters를 위한 프로젝트임
- 단점 : 운영중에 Load-Balancer가 중단되면 모든 서비스가 중단
Load-Balancing Clusters
Computer Cluster란?
High-performance computing
HPC Cluster
- 계산 작업을 조각내어 각 node에 보내 처리를 함
- 주로 과학적인 목적으로 사용
High-performance computing
HPC Cluster
Computer Cluster란?
Grid Computing
- HPC와 유사
- 정해지지 않은 여러 대의 컴퓨터를 사용
Grid Computing
Diskless Node
- 디스크를 가지고 있지 않은 시스템
- 적은 비용으로 고성능의 클러스터를 구축 할 수 있는 장점
Diskless Node
HA + LVS + Diskless Clusters의 목적
- Diskless Node와 LVS를 사용하여 적은 비용으로 트래픽 처리능력 향상
- Load-Balancer가 중단되면 서비스 전체가 중지되는 단점을 보완하기
위해서 HA기술을 사용함
→ 서비스를 안정적으로 제공하면서 성능을 끌어 올리는 것
eth0:0 211.221.225.36 (Vitual IP)
LVS-HA2
LVS-HA1
eth0 : 211.221.211.34
eth1 : 192.168.10.1
Gateway : 211.221.255.1
eth0 : 211.221.225.35
eth1 : 192.168.10.2
Gateway : 211.221.255.1
eth0:0 192.168.10.6 (Vitual IP)
Diskless Node1
eth0 : 192.168.10.3
Gateway : 192.168.10.6
Diskless Node2
eth0 : 192.168.10.4
Gateway : 192.168.10.6
Diskless Server
eth0: 192.168.10.5
High Availability Cluster
HA Cluster 구성
heartbeat 다운 및 설치
http://www.linux-ha.org/download/ 에서 heartbeat 패키지들을 다운 받
아서 다음 순서대로 설치
# rpm-ivh heartbeat-stonith-2.0.7-1.c4.i386.rpm
# rpm-ivh heartbeat-pils-2.0.7-1.c4.i386.rpm
# rpm-ivh heartbeat-2.0.7-1.c4.i386.rpm
High Availability Cluster
HA Cluster 구성
heartbeat 설정
heartbeat 프로그램은 3가지의 설정 파일을 사용한다.
/etc/ha.d/ha.cf → 주 노드와 부 노드의 필요한 기본 설정
/etc/ha.d/haresources → 노드 간의 공유할 자원과 스크립트
/etc/ha.d/authkey → 노드간의 인증방법
High Availability Cluster
HA Cluster 구성
/etc/heartbeat/ha.cf 설정 파일을 다음과 같이 수정한다.
logfile /var/log/ha-log → log file 위치
keepalive 2 → 두 노드 간에 heartbeat 주고 받을 주기
udpport 694 → UDP heartbeat 패킷을 보낼 포트
auto_failback on
bcast eth1 → 아랫 것과 둘 중 하나를 선택 2 노드간에 통신을 하는
ucast eth1 192.168.10.2 NIC 선택 또는 통신할 대상의 IP 직접입력
node Cluster1 → node는 클러스터로 묶일 시스템을 지정한다.
node Cluster2 처음 것 이 primary node
※ node에서 이름이 정확해야 하는데 uname -n 명령으로 나온 이름을
이용한다.
High Availability Cluster
HA Cluster 구성
haresources 설정파일
클러스터 간에 공유할 자원을 지정한다. 여기에 가상 IP 211.221.225.36
를 지정하고 클러스터의 자원과
관련된 스크립트가 들어간다. 아파치 서버를 공유한다면
/etc/hd.d/haresource 파일을 다음과 같이 수정한다.
<예> Cluster1 211.221.225.36 httpd
node-name resource1 resource2 resourceN 형태로 구성됨
※주의 primary 와 secondary 에 동일하게 구성이 되어야함
High Availability Cluster
HA Cluster 구성
/etc/heartbeat/authkeys 파일을 다음과 같이 수정한다.
노드간의 인증 방법. 3종류의 알고리즘: crc , md5 , sh1
auth < number>
<number> <authmethod> [<authkey>]
auth 1
a md5 Hello! ->어떤 문자든 ok! <--md5 이용
※ authkeys 를 설정하고 나서 반드시 chmod authkeys 를 실해야함.
(error 발생)
High Availability Cluster
HA Cluster 구성
heartbeat 서비스 가동
# /etc/rc.d/init.d/heartbeat start
가급적 primary 를 먼저 실행하고 나서 secondary 를 실행함
LVS 설정
부팅시 자동으로 구성할 수 있도록 lvs_http 쉘스크립트를 만든다.
echo "1" > /proc/sys/net/ipv4/ip_forward
# 내부 패킷을 전달할수 있도록 설정함
/sbin/ipvsadm –C
# ipvsadm 테이블을 clear 시킴
/sbin/ipvsadm -A -t 211.221.225.36:http -s rr
# ipvsadm table에 Load-Balnacer 의 IP를 넣고 정책으로 Round-Robin
정책을 사용
다음장에 계속
LVS 설정
# first real server
# http to realserver 192.168.1.201 using LVS-NAT (-m), with weight=1
/sbin/ipvsadm -a -t 211.221.225.36:http -r 192.168.10.3:http -m -w 1
# second realserver
/sbin/ipvsadm -a -t 211.221.225.36:http -r 192.168.10.4:http -m -w 1
/sbin/ipvsadm
# 설정한 ipvsamd 테이블을 보여줌
다음장에 계속
LVS 설정
#Real Server 들을 NAT table을 설정하여 외부 인터넷과 연결시켜준다.
iptables -t nat -A POSTROUTING -s 192.168.10.3/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.4/24 -j MASQUERADE
LVS 설정
Real Server 의 설정
각각의 Real Server에 Gateway를 Lode Balancer의 eth1:0번의 IP로 설정
해주기 위해
/etc/sysconfig/network 파일을 다음과 같이 수정한다.
NETWORKING=yes
GATEWAY=192.168.10.1
HOSTNAME=Cluster[Node 번호]