본문 바로가기

IT/Unix / Linux

[정보/AIX] HACMP 의 기본 개념 소개

1. 기본개념


Unix 는 초창기에 Workstation용으로 개발되었으나, Open system, client/server 등의 붐을 타고, 점차 중대형 server의 OS로 자리잡기 시작했다. Unix server가 점차 main frame을 대체하는 정도에 이르면서, 문제가 제기되기 시작했는데, 그것은 바로 안정성 문제였다. 이미 오랜 기간에 걸쳐 안정화된 MVS mainframe에 비하면, Unix 는 OS 자체의 안정성도 떨어지고, 상대적으로 가격이 낮은 hardware 부품도 신뢰성이 떨어지는 것이 사실이었다.

24시간 365일 작업을 수행할 수 있는 server가 되기 위해서는 무언가 고가용성을 solution이 요구되었고, 그 결과로 IBM에서 내놓은 것이 HACMP 이다.

HACMP의 개념은 흔히 high availability, 또는 fault resilient라고 하는 것으로서, 두 대 이상의 system을 하나의 “cluster”로 묶어서, 각 system 이 감시하고 있다가 한 대에 장애가 발생하면, 다른 system이 장애가 발생한 system의 자원을 “takeover(인수)”하는 것이다. 즉, 장애 발생 시에는 자원을 분명히 system service의 중단이 일어나게 되며, 이 중단 시간을 최소화하는 것이 HACMP의 기능인 것이다. 대개의 경우, 중단 시간은 30초에서 300초에 이르게 된다.

이와 비교되는 개념으로는 fault tolerant system이 있다.  이는 system box 단위의 중복 설치보다는 하나의 system box  내부에서 hardware 부품 단계에서 중복 설계를 함으로써 일부 부품에 장애가 발생하더라도 system down이 전혀 일어나지 않도록 되어있는 개념이다.

 이 두 개념을 비교하면 다음과 같이 요약할 수 있다.



비교 항목HACMP Fault Tolerant
Failover time 30-300초 0
Concurrent유지보수 불필요 필수
동일성능 system 대비가격 2배 10-20배
Application 거의 제한 없음 제한적
운영체제 일반 AIX 독자적 운영체제 사용
사용 하드웨어 장치 일반 RS/6000 하드웨어 장치 독자적 특수 하드웨어 사용



위의 표에서 알 수 있듯이 HACMP는 fault tolerant system과 비하여 나름대로의 장단점이 있다. 어느 system을 선택해야 하는지 결정하는데 가장 큰 요소는 무엇보다도, 5분 정도의 down-time이 용납되는 상황인지에 대한 평가일 것이다.



2. 구성 요소



* HACMP는 clstmgr(cluster manager), clsmuxpd(cluster SNMP agent), clinfo (cluster information service), cllockd(cluster lock manager) 등의 요소로 구성되어 있다. clstmgr은 clsmuxpd를 통해 다른 node(system)와 keepalove 또는 heartbeat이라 불리는 packet을 교환한다.
   

- cluster manager(clstmgr): cluster의 각 node에서 run하면서 기본적으로 cluster의 상태를 monitoring하고 notification하는 프로세서이다. 즉 cluster의 상태가 변화하는 경우 cluster objects(node, network, interface)를 monitor하고 node change가 발생할 때 event script의 실행을 trigger하는 event를 생성해 낸다.

- cluster SNMP agent(clsmuxpd): cluster 의 각 node에서 run하면서 clinfo를 통하여 client application들에 SNMP support를 제공한다. Clsmuxpd은 management information base(MIB)에 있는 status정보를 maintain한다. 사용자는 이 MIB에 있는 cluster information을 access하기 위해서 standard SNMP routines을 사용할 수 있다.

- cluster information service(clinfo): SNMP monitor 기능을 제공한다. Clinfo daemon은 cluster SMUX peer에게 요청하여 그 cluster들에 그 data에 access 할 수 있는 API를 제공한다.




3. HACMP 동작

   

- system 전체 장애 발생시: 한 node로 부터 keepalive packet이 전혀 오지 않는 경우, backup node는 그 node가 down 되었다고 판단하여 그 node가 가지고 있던 자원, 즉 disk volume group, filesystem, IP address, application등을 takeover해서 자기가 대신 service를 수행한다. 이때, client는 잠시 service 중단을 격게 되고, telnet session 등을 맻고 있던 것은 끊어져서 다시 맺어야한다.

- network adapter 장애 발생시: 대게 node는 1장의 service adapter와 1장 이상의 standby adapter를 가진다. 이때, service adapter에 장애가 발생하면 그 IP address는 같은 node 내의 standby adapter로 swapping이 일어난다. 이때는 client들은 30초 미만의 hang을 격을 뿐 대부분의 service를 계속 받을 수 있고, telnet 등도 끊어지지 않는다.

- Network 전체 장애 발생시: network 장애가 발생하는 경우엔 clstrmgr은 일단 network_down event를 발생시킨다. 이때 실행 되어야 할 복구 script는 HACMP에서 default로 제공되지 않는다.
 


4. HACMP를 이용하여 보호할 수 있는 자원



- Disk Volume Group
        Backup node에서 varyon되어 사용 가능해진다.

- Filesystem (with NFS export/mount)
        Backup node에서 mount되고, NFS export/mount 까지 수행된다.

- Concurrent Volume Group
        Concurrent Volume Group을 concurrent mode로 varyon된다.

- IP Address
        Fail된 service IP address를 standby adapter에 config한다.

- Applications
        위의 복구가 다 수행되면 주어진 script에 따라 application을 restart한다.




참고: http://eibm.co.kr/