KR100404906B1 - 클러스터 시스템의 고 가용성 구현장치 및 방법 - Google Patents
클러스터 시스템의 고 가용성 구현장치 및 방법 Download PDFInfo
- Publication number
- KR100404906B1 KR100404906B1 KR10-2001-0081571A KR20010081571A KR100404906B1 KR 100404906 B1 KR100404906 B1 KR 100404906B1 KR 20010081571 A KR20010081571 A KR 20010081571A KR 100404906 B1 KR100404906 B1 KR 100404906B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- service
- high availability
- error
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
본 발명은 클러스터 시스템의 고 가용성 구현 장치 및 방법에 관한 것으로, 클러스터 시스템의 서비스 고 가용성 제어장치는, 클러스터 시스템은 주제어 서버, 부 제어 서버, 다수의 주 노드, 부 노드, 디스크 미러링, 하트비트를 구비하는 것으로, 주제어 서버 및 부 제어 서버의 제어에 따라 디스플레이(display)되며, 관리자로부터 요청된 작업에 대해서 다수의 주 노드 및 부 노드에서 웹 서비스를 수행하고, 서비스 수행 여부 및 시스템 상태 등을 관측하는 메인 윈도우; 부 노드에 의해 동작되며, 오류 회복을 수행하도록 서비스 동작을 수행하며, 하트비트(heartbeat)를 통해 다수의 주 노드의 오류를 탐지하는 오류 탐지; 오류 탐지로부터 시그널 형태의 오류 사실을 제공받을 경우, 대기 상태로 있다가 수행 상태로 전환하여 오류가 있는 노드를 클러스터링에서 고립시키고 오류가 있는 노드의 서비스를 다른 노드에서 동작하게 하여 복구 내용을 수행하고 다시 대기 상태로 넘어가는 오류 회복; 오류 회복 시에 웹 서비스 관련 정보를 복제하도록 하기 위해 웹 서비스 관련 정보를 보관하는 디스크 미러링을 구비한다. 따라서, 각 시스템에 호환성을 가질 수 있도록 사용자 레벨에서 제안하였으며, 컨텐츠 복제를 위한 미러링의 경우에는 커널 내의 디바이스 드라이버 수준에서 제안하고, 시스템 환경에 가장 적합한 단일 레지스트리 구조를 사용하여 효율성을 더욱 높일 수 있다는 효과가 있다.
Description
본 발명은 클러스터 시스템의 고 가용성 구현방법에 관한 것으로, 특히 클러스터 시스템 환경에 있어서, 클러스터의 한 시스템 또는 응용프로그램의 작동에 문제가 발생할 때, 실패한 응용 프로그램을 재시작 하거나, 문제가 생긴 서버의 작업을 클러스터의 다른 시스템에 분산 처리하여 서비스가 중단되는 시간을 최소화하여 높은 처리 성능을 갖도록 하는 구현장치 및 방법에 관한 것이다.
통상적으로, 클러스터 시스템에서 고 가용성 기능을 도입하여 현재에도 사용하고 있다. 그렇지만, 이러한 고 가용성 시스템은 특정 시스템에 종속적인 형태로만 운용되며, 비록 고 가용성을 제공한다 하더라도 컨텐츠의 복제 환경을 제공하지 않아 변경된 정보의 손실이 있게 되며, 전반적인 고 가용성 관리에 비효율적이라는 문제점을 갖고 있다.
한편, 상술한 바와 같이, 클러스터 시스템에서의 고 가용성 구현 방법으로는 등록번호 1997-69586에 등록된 "고 가용성 시스템의 장애 복구방법 및 절차"와, 등록번호 1998-42529에 등록된 "고 가용성 시스템 및 그 시스템 구성 방법"과, 1999년에 발표된 "고 가용성 리눅스"와, 1996년에 발표된 "밀 동기 입출력(I/O) 동작에 의한 고 가용성 고장 감내 제어 시스템의 구현방법" 등에 개시되어 있다.
즉, 개시된 선행기술에 대하여 상세하게 설명하면, 등록번호 1997-69586에 등록된 "고 가용성 시스템의 장애 복구방법 및 절차"는 다중 프로세서 시스템을 이중화 시스템으로 구성하고, 시스템 동작 시에 상대 시스템의 장애를 감지하는 기능을 제공함과 더불어 장애 발생시 상대 시스템에게 현재 작업중인 서비스를 제공함으로써, 장애 발생 시에 시스템의 정지 시간을 최소화하여 업무 효율성을 향상시키도록 한 것이다.
이와 같이, 고 가용성 시스템의 장애 복구방법은 동일한 구성을 가지는 두 개의 시스템 기동 시, 상호 시스템의 동기를 맞추고 각각 고 가용성 시스템 환경으로 액티브 시키는 과정; 고 가용성 시스템 환경으로 액티브 된 후, 시스템의 정의된 서비스를 수행하는 과정; 서비스 수행도중, 상대 시스템의 상태 정보를 파악하기 위한 검사를 수행하고, 장애 발생 시에 다른 시스템에 서비스를 제공하는 과정; 서비스 제공이 완료되면 고 가용성 시스템의 상태를 해제시키는 과정을 포함함으로써 달성되는 것이다.
다음으로, 등록번호 1998-42529에 등록된 "고 가용성 시스템 및 그 시스템 구성 방법"은 도움 응용(helper application : HA) 시스템 구성정보 작성을 위한구성디자인 응용프로그램을 탑재한 개선된 고 가용성 시스템에 관한 것으로서, 발명에 따른 구성디자인 응용 프로그램은 고 가용성 시스템의 구성정보 작성시 사용자가 원하는 타입의 시스템을 구성할 수 있도록 하고, 시스템 구성파일에 대한 개별적인 정보의 수정과 삭제를 가능하게 함으로써, 시스템의 구성을 보다 유연하게 하도록 한 것이다. 시스템의 구성을 컴퓨터 표시 장치를 통해 볼 수 있도록 하며, 사용자가 직접 시스템 구성을 그룹과 그룹내의 노드와 태스크의 개념으로 구분하고, 각 그룹과 노드와 태스크에 대해 이미지를 구성하며, 각 그룹과 노드와 태스크의 정보를 개별적으로 입력하여 시스템 구성정보를 작성한다.
또한, 각 프로세서의 구성정보를 개별적으로 수정할 수 있게 하여 프로세서의 구성과 관리를 유연하게 하도록 하는 시스템 구성 디자인 응용 프로그램을 탑재한 개선된 고 가용성 시스템이다.
그리고, 1999년에 발표된 "고 가용성 리눅스"는 리눅스 고 가용성 기술의 조사된 내용이며 고 가용성의 기반 기술을 알 수 있게 한다.
마지막으로, 1996년에 발표된 "밀 동기 입출력(I/O) 동작에 의한 고 가용성 고장 감내 제어 시스템의 구현방법"은 높은 시스템 가용성이 요구되는 통신용 제어시스템에서 입출력(I/O) 버스 상의 엄격한 동작 동기를 기반으로 하는 새로운 핫 스탠바이(hot standby) 고장 감내 구조를 제안하였다. 본 구조의 특징으로는 이중화 된 각 프로세서 모듈의 동작이 공통 클록에 의한 밀 결합 동기방식으로 수행되고, 프로세서 모듈들간의 출력 데이터 비교에 의한 동기 검사가 처리빈도가 비교 적 낮은 입출력(I/O)버스 동작 시에 수행됨으로써 중앙처리장치(CPU) 트랜잭션 단위로 빈번한 동기 비교를 수행하는 기존의 핫 스탠바이 이중화 구조에서 야기되는 심각한 시스템의 성능저하를 대폭 완화시킬 수 있었다.
이와 같이, 선행 논문 및 출원 특허에 개시된 기술을 살펴보았을 때, 기존의 공지된 기술에는 본원 발명에서 제시하는 고 가용성을 효율적으로 관리하기 위하여 클러스터를 구성하고 고 가용성을 관리하는 관리 모듈, 실제 고 가용성을 담당하는 오류 탐지 및 복구를 위한 모듈, 주/부 노드간 일관성 있는 정보를 유지하게 하는 미러(mirror)링 모듈로 구성하고 각 모듈들을 하나의 관리 모듈에서 손쉽게 처리 할 수 있도록 하는 것이며, 또한 호환성 및 효율성을 극대화하기 위하여 관리 모듈 및 오류 탐지 및 복구 모듈은 각 시스템에 호환성을 가질 수 있도록 사용자 레벨에서 제안하였으며, 컨텐츠 복제를 위한 미러(mirror)링의 경우에는 성능 향상을 위하여 커널 내의 디바이스 드라이버 수준에서 제안하였고, 이러한 각 모듈간의 원격 정보 교환은 시스템 환경에 가장 적합한 단일 레지스트리 구조를 사용하여 효율성을 더욱 높이는 방법을 가지고 있어야 하는 점에는 미치지 못하게 되는 문제점이 여전히 남아 있었다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 클러스터의 한 시스템 또는 응용 프로그램의 작동에 장애가 발생할 경우, 장애가 발생된 응용 프로그램을 재시작 하거나, 또는 장애가 발생된 서버의 작업을 클러스터의 다른 시스템에 분산 처리하여 서비스가 중단되는 시간을 최소화하여 처리 성능을 향상시켜 고 가용성의 효율성을 더욱 높일 수 있도록 하는 클러스터 시스템의 고 가용성 구현장치 및 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명에서 클러스터 시스템의 고 가용성 구현장치는 클러스터에 연결되어 고 가용성 웹 서비스를 제공받는 다수의 클라이언트; 다수의 클라이언트로의 모니터링, 오류 탐지 및 오류 회복의 시작 및 중지하기 위해 고 가용성 관리를 위한 관리 객체를 탑재하며, 다수의 클라이언트가 클러스터내의 각종 그룹노드들 중 적합한 노드를 선택하여 접속하도록 제어하는 주제어 서버; 주제어 서버에 의해 동작되는 웹 서비스가 임의의 장애가 발생되어 중단될 경우, 주제어 서버와 연결된 후, 오류 탐지 시에 웹 서비스의 복구를 행하며, 오류 회복 시에 웹 서비스 관련 정보를 복제하여 고 가용성의 웹 서비스를 수행하도록 제어하는 부 제어 서버; 다수의 클라이언트에 노드별로 웹 서버 및 파일 전송 규약(FTP) 서버 등의 서비스를 네트워크 및 인터넷을 통해 제공하는 다수의 주 노드; 다수의 주 노드에 의해 웹 서비스를 제공하는 중에 장애로 인하여 서비스가 중단될 경우, 이를 중단하지 않고 계속적으로 유지하도록 제어하는 보조 노드; 오류 회복 시에 웹 서비스 관련 정보를 복제하도록 하기 위해 웹 서비스 관련 정보를 보관하는 디스크 미러링을 포함하는 것을 특징으로 한다.
또한, 상술한 목적을 달성하기 위한 본 발명에서 클러스터 시스템의 서비스 고 가용성 제어장치는, 클러스터 시스템은 주제어 서버, 부 제어 서버, 다수의 주 노드, 부 노드, 디스크 미러링, 하트비트를 구비하는 것으로, 주제어 서버 및 부 제어 서버의 제어에 따라 디스플레이(display)되며, 관리자로부터 요청된 작업에 대해서 다수의 주 노드 및 부 노드에서 웹 서비스를 수행하고, 서비스 수행 여부및 시스템 상태 등을 관측하는 메인 윈도우; 부 노드에 의해 동작되며, 오류 회복을 수행하도록 서비스 동작을 수행하며, 하트비트(heartbeat)를 통해 다수의 주 노드의 오류를 탐지하는 오류 탐지; 오류 탐지로부터 시그널 형태의 오류 사실을 제공받을 경우, 대기 상태로 있다가 수행 상태로 전환하여 오류가 있는 노드를 클러스터링에서 고립시키고 오류가 있는 노드의 서비스를 다른 노드에서 동작하게 하여 복구 내용을 수행하고 다시 대기 상태로 넘어가는 오류 회복; 오류 회복 시에 웹 서비스 관련 정보를 복제하도록 하기 위해 웹 서비스 관련 정보를 보관하는 디스크 미러링을 포함하는 것을 특징으로 한다.
또한, 상술한 목적을 달성하기 위한 본 발명에서 클러스터 시스템의 고 가용성 객체간의 제어방법은, 고 가용성 관리가 스타트(start) 될 경우, 고 가용성을 위해 클러스터 시스템 구성 파일이 존재하는지를 판단하는 단계; 판단 단계에서 시스템 구성 파일이 존재하지 않을 경우, 클러스터링 시스템을 재구성한 다음, 클러스터 시스템내의 그룹 노드 구성을 관리에 맞게 수행하는 단계; 그룹 노드 구성을 관리에 맞게 수행한 후, 해당되는 고 가용성 서비스를 등록하는 단계; 고 가용성 서비스가 등록된 후, 실제 노드 및 서비스 오류 시에 탐지되고 복구되는 과정을 수행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상술한 목적을 달성하기 위한 본 발명에서 클러스터 시스템의 실제 서비스 오류 탐지 및 회복 제어방법은, 오류 탐지 및 복구 객체가 스타트(start)될 경우, 클러스터 시스템과 고 가용성 서비스 정보가 변경되었는지를 체크하는 단계; 체크 단계에서 변경될 경우, 상대 노드인 부 노드에 변경된 정보를 복제한 후, 오류 탐지를 위한 대기 상태로 들어가는 단계; 클러스터 시스템 및 고 가용성 서비스에 오류가 발생되었는지를 판단하는 단계; 판단 단계에서 오류가 발생될 경우, 클러스터 시스템을 재구성하고, 서비스 오류를 회복하여 부 노드에서 고 가용성 서비스를 제공받을 수 있도록 제어하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명에 따른 클러스터 시스템의 고 가용성 구현장치에 대한 블록 구성이고,
도 2는 본 발명에 따른 서비스 고 가용성을 제어하기 위한 블록 구성도이며,
도 3은 본 발명에 따른 시스템 관리 구성 파일에 따른 메인 윈도우 입력창을 도시한 예시 도면이며,
도 4는 본 발명에 따른 디스크 미러링 관리 구성 파일에 따른 입력창을 도시한 예시 도면이며,
도 5는 본 발명에 따른 고 가용성의 관리 객체를 보여주는 구성도이며,
도 6은 본 발명에 따른 고 가용성 객체간의 제어 흐름도이며,
도 7은 본 발명에 따른 실제 서비스 오류 탐지 및 회복에 대하여 보여주는 제어 흐름도이다.
<도면의 주요부분에 대한 부호의 설명>
100-1∼100-n : 클라이언트 200 : 클러스터
210 : 주제어 서버 220 : 부 제어 서버
215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333): 디스크 미러링
230-1∼230-n : 그룹 노드
230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n : 주 노드
231, 232, 233 : 부 노드
20 : 메인 윈도우 21 : 그룹 관리
23 : 오류 탐지 25 : 오류 회복
A : 인터넷
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 클러스터 시스템의 고 가용성 구현장치에 대한 블록 구성도로서, 다수의 클라이언트(100-1, 100-n) 및 클러스터(200)를 포함한다.
다수의 클라이언트(100-1∼100-n)는 인터넷(A)을 통해 클러스터(200)에 연결되어 클러스터(200)내의 각종 그룹노드(230-1∼230-n)에 접속하여 고 가용성 제어를 받으면서 웹 서비스를 제공받는다.
클러스터(200)는 다수의 클라이언트(100-1∼100-n)에 접속하여 고 가용성 제어를 수행하면서 웹 서비스를 제공하는 블록으로서, 주제어 서버(210)와, 디스크 미러링(215, 225)과, 부 제어 서버(220)와, 그룹 노드(230-1∼230-n)를 구비한다.
주제어 서버(210)는 다수의 클라이언트(100-1∼100-n)로의 모니터링, 오류 탐지 및 오류 회복의 시작 및 중지하기 위해 고 가용성 관리를 위한 관리 객체를 탑재하여 클러스터(200) 시스템 구성을 담당하는 블록으로서, 다수의 클라이언트(100-1∼100-n)가 클러스터(200)내의 각종 그룹노드(230-1∼230-n)들 중 적합한 노드를 선택하여 접속하도록 제어한다.
부 제어 서버(220)는 주제어 서버(210)에 의해 동작되는 웹 서비스가 임의의 장애가 발생되어 중단될 경우, 클러스터(200) 자체가 운영될 수 없어 사전에 방지하기 위해 스탠바이로서 대기하는 보조 서버로서, 하트비트(heartbeat)(C)를 통해 주제어 서버(210)와 연결된 후, 오류 탐지 시에 웹 서비스의 복구를 행하며, 오류 회복 시에 디스크 미러링(215)에 보관된 웹 서비스 관련 정보를 복제하여 정상적인 웹 서비스를 수행할 수 있도록 제어한다.
여기서, 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333))은 도 5에 도시된 바와 같이 고 가용성의 관리 객체를 보여주는 구성도로서, 시스템 구성(51), 그룹노드구성(53), 노드구성(55), 서비스 구성(57)으로 분류되는데, 보다 상세하게 설명하면, 시스템 구성(51)은 클러스터(200) 시스템의 가상 이름을 의미하며, 주제어 서버(210)는 인터넷(A) 상에 등록된 실제 서버의 이름을 나타내며, 다수의 그룹 노드(230-1∼230-n)는 클러스터(200)내에 구성된 그룹 노드들의 리스트인 것이다.
그룹노드구성(53)은 시스템 구성(51)내 그룹노드1에 해당되는 것으로, 그룹 노드의 대표 이름과 그룹 노드 내에 있는 노드들이 비어 있는지, 또는 부 노드 없이 단독 노드로 존재하는지, 아니면 일반적인 형태로 주 노드들과 부 노드로 구성되어 있는지에 관련된 상태 정보를 보여주는 것으로, 그 구성은 주 노드들의 리스트와 부 노드의 이름으로 구성되어 있다.
그리고, 노드 구성(55)은 그룹노드구성(53)내 주 노드1에 해당되는 것으로, 해당 노드의 이름과 물리적인 인터넷 프로토콜(IP) 주소, 그리고 주 노드와 부 노드의 분류 및 각 노드에서 서비스 받고자 하는 서비스의 이름들의 리스트로 구성하고 있으며, 서비스 구성(57)은 해당 서비스의 이름, 그리고 실제 그 서비스의 실행 파일이 탑재되어 있는 경로로 구성되어 있다.
다수의 그룹 노드(230-1∼230-n)는 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)와, 부 노드(231, 232, 233)와, 디스크 미러링(330-1∼330-n, 331, 430-1∼430-n, 332, 530-1∼530-n, 333)으로 구분된다.
다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)는 노드별로 웹 서버 및 파일 전송 규약(file transfer protocol : FTP) 서버 등의 서비스를 네트워크(B) 및 인터넷(A)을 통해 다수의 클라이언트(100-1∼100-n)에 제공한다.
부 노드(231, 232, 233)는 다수의 주 노드에 의해 웹 서비스를 제공하는 중에 장애로 인하여 서비스가 중단될 경우, 이를 중단하지 않고 계속적으로 유지시켜 주기 위해 보조 노드로서 존재한다. 여기서, 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)와 부 노드(231, 232, 233)간, 또는 주제어 서버(210)와 부 제어 서버(220)간에는 서비스의 중단 및 노드의 오류 등을 감시하기 위한 하트비트(heartbeat)(C)가 존재하여 오류 탐지 시에 서비스 복구를 수행하도록 하며, 오류 회복 시에는 주제어 서버(210)와 부 제어 서버(220)간, 또는 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)와 부 노드(231, 232, 233)간 서비스를 제공받도록 정보의 일관성을 유지하기 위해 정보 변경 시 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333))을 통해 정보를 복제하는 것이다.
도 2는 본 발명에 따른 서비스 고 가용성을 제어하기 위한 블록 구성도로서, 메인 윈도우(20)와, 그룹 관리(21)와, 오류 탐지(23)와, 오류 회복(25)과, 디스크 미러링(27)으로 구분된다.
메인 윈도우(20)는 주제어 서버(210) 및 부 제어 서버(220)의 제어에 따라 디스플레이(display)되는 것으로, 관리자로부터 요청된 작업에 대해서 그룹 관리(21)를 통해 다수의 그룹 노드(230-1∼230-n)내에 있는 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n) 및 부 노드(231, 232, 233)에서 웹 서비스를 수행하고 서비스 수행 여부 및 시스템 상태 등을 관측하도록 하는 것이다. 여기서, 메인 윈도우(20)의 세부 기능으로는 시스템/그룹/서비스를 구성 및 관리하는 구성 기능과, 시스템/그룹/서비스의 현재 상태 정보 및 로그 정보를 보여주는 모니터링 기능이 있다.
그리고, 메인 윈도우(20)에서 사용되는 연산자들의 기능은 컨피규어(Configure)(), 스타트(Start)(), 스탑(Stop)(), 모니터(Monitor)(), 시스템 뷰(SystemView)(), 서비스 뷰(ServiceView)(), 미러 윈도우(MirrorWindow)(), 헬프(Help)() 등으로 구분된다.
상술한 기능 중, Configure() 기능에 대하여 설명하면, 시스템 구성이 처음일 경우, 시스템 초기 구성 단계를 사용하여 초기 클러스터(200) 시스템을 구성하며, 초기 클러스터(200) 시스템 구성은 시스템 구성 정보에 존재하는 모든 노드, 즉 다수의 그룹 노드(230-1∼230-n)내에 있는 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n) 및 부 노드(231, 232, 233)를 등록하고, 메인 윈도우(20)에 표시한다. 반면에, 시스템 구성이 처음이 아닐 경우, 이전에 구성된 시스템 구성 정보 파일을 읽어와서 시스템 정보를 구축하고 메인 윈도우(20)에 표시한다.
이후, 클러스터(200) 시스템 재구성 요구가 있을 경우, 클러스터(200) 시스템 재구성 단계를 이용하여 재구성하고, 재구성이 완료되면 시스템 구성 정보 파일을 갱신한 후, Start() 연산자를 호출하여 고 가용성 관리를 스타트(start)한다.
다음으로, Start() 기능에 대하여 설명하면, 오류 탐지를 위한 하트비트(heartbeat)(C)를 구동하고, 모니터링을 위한 쓰레드 연산자를 수행한 후, 오류 회복을 위한 연산자를 수행한다.
다음으로, Stop() 기능에 대하여 설명하면, 오류 탐지를 위한 하트 비트(heartbeat)(C)를 종료하고, 모니터링을 위한 Monitor() 쓰레드 연산자를 종료한 후, 오류 회복을 위한 연산자를 종료한다.
다음으로, Monitor() 기능에 대하여 설명하면, 대기 상태로 있는 중에, 클러스터(200) 시스템 보기 메뉴 및 모니터에서 서비스 보기 메뉴이면 각각 현재 구성된 시스템 정보 및 현재 수행중인 서비스 정보를 메인 윈도우(20)에 표시하고, 이어서, 시스템 정보 및 서비스 정보에 대하여 변동 사항이 발생되면 해당 정보를 갱신하고 메인 윈도우(20)에 그 내용을 표시한 다음에 대기 상태로 복귀한 후, 주제어 서버(210) 및 다수의 그룹 노드(230-1∼230-n)중 해당되는 그룹 노드(예로, 230-1)에 통보하고, 주제어 서버(210) 및 해당되는 그룹 노드는 변동 사항을 갱신한다.
다음으로, SystemView() 기능에 대하여 설명하면, 현재 구성된 시스템 정보를 메인 윈도우(20)에 표시하며, ServiceView() 기능은 현재 구성된 서비스 정보를 메인 윈도우(20)에 표시하며, MirrorWindow() 기능은 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333)) 관리 메인 루틴을 호출하여 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333)) 관리 윈도우를 호출하며, Help() 기능은 온라인 사용자 지침서를 보여주는 것이다.
오류 탐지(22)는 부 노드(231, 232, 233)에 의해 동작되며, 오류 회복을 수행하도록 서비스 동작을 수행하는 것으로, 하트비트(heartbeat)(C)를 통해 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)의 오류를 탐지한다. 이때, 부 노드(231, 232, 233)는 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)가 액티브로 동작하고 있는지를 알아보기 위한 어라이브(alive) 메시지를 주기적으로 교환되는 중에, 제한된 시간 동안에 어라이브(alive) 메시지가 발생하지 않으면, 상대 노드에서 오류가 발생된 것으로 판단하여 오류 회복(25)에 오류 사실을 시그널 형태로 통보하여 오류 회복 모듈을 대기 상태로부터 수행 상태로 전환하여 오류 회복 절차를 수행하도록 한다. 한편, 부 노드(231, 232, 233)에서 다수의 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)로 하트비트(heartbeat)(C)를 보낼 때 멀티 쓰레드를 동작시키는 것이다.
오류 회복(23)은 오류 탐지(23)로부터 시그널 형태의 오류 사실을 제공받을 경우, 대기 상태로 있다가 수행 상태로 전환하여 오류가 있는 노드를 클러스터링에서 고립시키고 오류가 있는 노드의 서비스를 다른 노드에서 동작하게 하여 복구 내용을 수행하고 다시 대기 상태로 넘어간다.
상술한 오류 회복(23) 기능에 대하여 보다 상세하게 설명하면, 고립 단계에서는 부 노드가 오류가 생긴 노드 이름을 주제어 서버(210)에 통보하면, 주제어 서버(210)에서 실행중인 관리 모듈이 동작되면서 오류 노드를 빨간색 노드로 표시해서 관리자에게 문제가 생겼음을 알린다. 이후, 부 노드(231, 232, 233)에서는 오류가 생긴 노드를 하트 비트(heartbeat)(C) 모듈에서 분리한다. 클러스터링 시스템 내에 오류 노드의 고립화 단계가 끝나면 부 노드(231, 232, 233)에서는 문제가 생긴 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)에서의 등록된 서비스를 다시 수행시킨다.
오류 회복(25)에서 사용되는 연산자들의 기능은 리커버리(Recovery)(), 아이솔레이션(Isolation)(), 페일오버(Failover)() 등으로 구분된다.
상술한 기능 중, Recovery() 기능에 대하여 설명하면, 시스템 정보와 서비스 정보를 부 노드에 이중화하고, 대기 상태로 전환하여 오류 탐지 신호를 기다리며, 오류 탐지 신호가 제공되면, Isolation() 연산자를 호출하여 오류가 있다고 판단된 노드를 격리하고 시스템을 자동 재구성하는 기능 및 Failover() 연산자를 호출하여 오류가 있다고 판단된 노드에서 등록한 수행이 중단된 서비스들을 부 노드에서 재실행하는 기능을 자동으로 실행한 다음에 대기 상태로 복귀하는 것이다.
다음으로, Isolation() 기능에 대하여 설명하면, 시스템 정보 자료 구조에서 오류 노드에 해당하는 정보를 삭제하며, 변경된 시스템 정보에 대한 메모리 내용을 디스크 상에 존재하는 파일도 반영되도록 파일을 갱신한다.
최종적으로, Failover() 기능에 대하여 설명하면, 서비스 정보 자료 구조에서 오류 노드에서 수행되었던 서비스 정보를 읽어오고, 읽어온 모든 서비스에 대해 서비스의 세부 정보를 분석하여 재실행한다.
디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333)) 기능은 오류 회복 시 주제어 서버(210)와 부 제어 서버(220)간, 또는 주 노드(230-1-1∼230-1-n, 230-2-1∼230-2-n,...,230-n-1∼230-n-n)와 부 노드(231, 232, 233)간 서비스를 제공받는 정보의 일관성을 유지하기 위해 정보 변경 시 미러링을 통해 정보를 복제하는 것이다.
이러한, 기능은 커널 내에서 필터 드라이버 형태로 구성되며, 서비스 및 노드의 오류가 발생되더라도 복구된 노드에서 데이터 접근을 가능하게 하는 자동 데이터 복구를 가능하게 한다. 또한, 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333))의 세부 기능으로는 단위 노드의 고장을 자동 탐지하는 기능, 자동 데이터 복구 기능, 그리고 시스템 관리 기능을 들 수 있는데, 그중 고장 자동 탐지 기능은 단위 노드의 고장을 시스템 차원에서 하트비트(heartbeat)(C) 방법으로 자동 탐지하며, 메시지 교환은 네트워크 하부 프리미티브인 트랜스포트 드라이버 인터페이스(Transport Driver Interface : TDI)를 사용한다.
여기서, 자동 데이터 복구는 고장이 발생된 노드를 수리한 후, 데이터 일치성을 유지하기 위해 로그(log)해 두었던 내용을 자동적으로 복구하는 것이며, 시스템 관리 기능은 미러링 그룹 구성과 시스템 관리자의 작업을 위한 기능 지원으로 메인 윈도우(20)와 연동되어 있으며, 미러링에서는 원격 데이터 전송, 원격 데이터 수신 및 파일 저장 연산자들이 사용되는 것이다.
또한, 디스크 미러링(215, 225, (330-1∼330-n, 331), (430-1∼430-n, 332), (530-1∼530-n, 333)) 기능은 고 가용성을 위한 관리 기능, 오류 탐지 및 오류 회복 기능 및 디스크 미러링 기능을 수행하는 것으로, 각 모듈의 운용을 위하여 시스템 정보, 서비스 정보 및 디스크 미러링에 필요한 정보 수집을 위해 각 모듈에 해당하는 필요한 자료 구조를 사용한다.
상술한 자료 구조는 도 3에 도시된 관리 객체의 형태로 표현되는데, 도 3은 시스템 관리 구성 파일에 따른 메인 윈도우(20) 입력창을 도시한 예시도로서, 타이틀 바(Title Bar), 메뉴 바(Menu Bar), 툴 바(Tool Bar), 웍 스페이스(Workspace), 상태 바(Status Bar)를 구비한다.
즉, 도 3을 참조하면, 도 3a의 메인 윈도우(20)는 키보드 및 마우스(도시되지 않음)로부터 입력 데이터를 받아서 해당 이벤트 처리 루틴을 호출한다.
그러면, 시스템 Configure 메뉴에서 도 3b의 시스템(20-1), 도 3c의 노드(20-2), 도 3d의 서비스(20-3)에 관하여 지정 및 처리를 할 수 있으며, 시스템 서브 메뉴에서 Auto는 자신의 도메인 혹은 워크 그룹내의 네트워크 환경의 모든 컴퓨터들을 하나의 그룹으로 생성시킨다.
시스템 폴더인 네트워크 환경에서, 즉 네트워크 환경 => 전체 네트워크 => Microsoft Windows 네트워크 => 자신의 도메인 및 워크 그룹명 => 자신의 이웃 컴퓨터들의 리스트와 같은 순으로 자신의 네트워크 이웃을 찾는다.
Create는 그룹 노드를 도 3e의 크리에이트 뉴 페어(Create New Pair)(20-4)를 지정하는 것으로 그룹명을 입력받고 메인 윈도우의 좌측 윈도우에 그룹을 표시하고 상응하는 그룹 리스트 자료 구조체를 동적으로 할당해서 생성한다. 여기서, Delete는 현재 포인팅되어 있는 그룹을 삭제하는 역할을 한다.
노드 서브 메뉴에서 Insert는 현재 포인팅되어 있는 그룹에서 새로운 도 3f의 인서트 뉴 노드(20-5)명을 입력받아서 포인팅되어 있는 그룹에 노드를 추가하고 메인 윈도우(20) 좌측의 트리창에 표시한다. 여기서, Delete는 현재 포인팅되어 있는 노드를 삭제하는 역할을 한다.
도 3g의 업데이트 노드 타입(Update Node Type)(20-6)은 현재 포인팅되어 있는 노드의 상태를 변경(change)한다. 노드 타입은 null, primary, backup, failure와 같은 값을 갖으며, 먼저 노드를 포인팅하고 Change를 선택하면 된다.
서비스 서브 메뉴에서 도 3h의 레지스터 뉴 서비스(Register New Service)(20-7)는 현재 포인팅되어 있는 노드에 오류 회복이 필요한 서비스 내용을 입력하도록 한다. 여기서, 주의할 점은 경로를 입력하는 부분에서 정확한 서비스 경로를 지정해야만 한다는 것이다.
그리고, 도 3i의 캔슬 서비스(Cancel Service)(20-8)는 등록된 서비스를 해제하는 역할을 하는데, 먼저 서비스 등록을 해제할 노드를 포인팅한 후 Cancel을선택하고 등록된 서비스 명을 입력하면 서비스를 해제할 수 있고, 메인 윈도우(20)에서 Start는 고 가용성 서비스를 시작하는 역할을 한다.
참고적으로, 등록되어 있는 각 그룹의 부 노드들에게 서비스 시작 신호를 보내면 각 부 노드들의 오류탐지 및 회복 서비스가 시작 상태로 전환된다. 이와 마찬가지로 Stop은 고 가용성 서비스를 중단하도록 하며, 등록되어 있는 각 그룹의 부 노드들에게 서비스 중단 신호를 보내고 각 부 노드들은 오류 탐지 및 회복 서비스를 중단 상태로 전환한다. 그리고, Save는 현재 메인 윈도우(20)에서 표현되어 있고 관리하고 있는 자료 구조체를 레지스트리로 정보를 저장하며, 저장되는 레지스트리 경로는 다음과 같다.
즉, "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HA" Update는 등록되어 있는 각 그룹의 부 노드들에게 현재 유지되고 있는 노드들의 서비스 정보를 갱신한다.
도 3j의 모니터(Monitor)(20-9) 메뉴에서 도 3k의 시스템 뷰(System View)(20-9-1)는 현재 등록되어 있는 그룹 및 노드의 리스트를 메인 윈도우(20) 우측 List Pane에서 보여 준다.
그리고, 도 3l의 서비스 뷰(Service View)(20-9-2)는 현재 등록되어 있는 노드들의 오류 탐지 및 회복에 필요한 등록된 서비스 리스트들을 보여 준다. 서비스 목록들은 레지스트리 파일에 저장되는 형태 그대로 보여 준다.
도 4는 본 발명에 따른 디스크 미러링 관리 구성 파일에 따른 입력창을 도시한 예시도로서, 타이틀 바(Title Bar), 메뉴 바(Menu Bar), 툴 바(Tool Bar), 웍스페이스(Workspace), 상태 바(Status Bar)를 구비한다.
즉, 도 4를 참조하면, 고 가용성 관리 윈도우(30)는 키보드 및 마우스(도시되지 않음)로부터 입력 데이터를 받아서 해당 이벤트 처리 루틴을 호출하는데, 타이틀 바(Title Bar)는 도 4a의 고 가용성 관리 윈도우(30)에 대한 연산으로 무브(Move), 사이즈(Size), 미니멈(Minimize), 맥시멈(Maximize), 클로즈(Close) 등이 있다.
그리고, 메뉴 바(Menu Bar)는 컨피규어(Configure), 모니터(Monitor), 뷰(View), 헬프(Help) 메뉴로 구성되며, 고가용 시스템에서 제공하는 기능에 대한 사용자 인터페이스(interface)이다.
툴 바(Tool Bar)는 메뉴 바(Menu bar)에서 제공되는 기능을 아이콘으로 표시하며, 웍 스페이스(Workspace)는 트리 영역과 리스트 영역으로 구분되는데, 트리 영역은 구성 정보를 트리 형태로 나타내고, 리스트 영역은 메시지를 표시하는 곳이며, 상태 바(Status Bar)는 사용자가 현재 선택한 프롬프트를 보여준다.
보다 상세하게 설명하면, 컨피규어(configure) 메뉴에서 도 4b의 노드 어텍크(Node Attach)(30-1)는 데이터 미러링에 참가하고자 하는 노드를 입력받아서 도 4d의 어텍크(attach)(30-3)하고, 트리 패인(tree pane)에 표시한다. 여기서, 디텍(Detach)은 데이터 미러링에 참가하는 노드들 중에서 삭제하고자 하는 노드를 트리 패인(tree pane)에서 포인팅하여 디텍(detach)하고, 트리 패인(tree pane)에서 삭제한다. 도 4c의 데이터 인서트(Data Insert)(30-2)는 어텍크드 노드(Attached node)중에서 하나를 호스트로 포인팅하고, 데이터 미러링을 하고자하는 타깃(target) 노드와 파일/디렉토리를 입력하여 도 4e의 추가(30-4)하고, 트리 패인(tree pane)에 해당 호스트 아래에 타깃(target) 노드와 파일/디렉토리(file/directory)를 표시한다.
참고적으로, 스타트(Start)는 일부 또는 모든 데이터에 대하여 미러링을 시작 가능하며, 현재 설정된 트리 패인(tree pane)에서 시작하고자 하는 노드나 데이터를 포인팅하면, 포인팅된 모든 부분에 대하여 미러링을 시작하며, 스탑(Stop)은 일부 또는 모든 데이터에 대하여 미러링을 중지 가능하며 현재 설정된 트리 패인(tree pane)에서 중지하고자 하는 노드나 데이터를 포인팅하면 포인팅된 모든 부분을 미러링을 중지하는 것이다.
도 6의 흐름도를 참조하여, 상술한 구성을 갖는 본 발명에 따른 고 가용성 객체간의 제어 흐름도에 대하여 설명한다.
즉, 고 가용성 관리가 스타트(start) 될 경우(단계 601), 고 가용성을 위해 클러스터(200) 시스템 구성 파일이 존재하는지를 판단한다(단계 602).
상기 판단 단계(602)에서 시스템 구성 파일이 존재하면, 디폴트 시스템을 구성한다(단계 603). 반면에, 상기 판단 단계(602)에서 시스템 구성 파일이 존재하지 않으면, 클러스터(200)링 시스템을 재구성한 다음(단계 604), 클러스터(200) 시스템내의 그룹 노드 구성을 관리에 맞게 수행한다(단계 605).
이후, 웹 서버 등 서비스 오류 탐지/회복을 위해 해당 고 가용성 서비스를 등록하며(단계 606), 등록된 고 가용성 서비스는 도 5를 참조하면서 실제 노드 및 서비스 오류 시에 탐지되고 복구되는 과정을 수행하는 것이다(단계 607).
그리고, 도 7은 본 발명에 따른 실제 서비스 오류 탐지 및 회복에 대하여 보여주는 제어 흐름도에 대하여 설명한다.
즉, 오류 탐지 및 복구 객체가 스타트(start)될 경우(단계 701), 클러스터(200) 시스템 및 고 가용성 서비스 정보가 변경되었는지를 체크한다(단계 702).
상기 체크 단계(702)에서 클러스터(200) 시스템 및 고 가용성 서비스 정보가 변경될 경우, 상대 노드인 부 노드(231, 232, 233)에 변경된 정보를 복제한 후(단계 703), 오류 탐지를 위한 대기 상태로 들어간다(단계 704). 반면에, 상기 체크 단계(702)에서 클러스터(200) 시스템 및 고 가용성 서비스 정보가 변경되지 않을 경우, 곧바로 대기 상태(704)로 들어간다.
이후, 클러스터(200) 시스템 및 고 가용성 서비스에 오류가 발생되었는지를 판단한다(단계 705).
상기 판단 단계(705)에서 오류가 발생될 경우, 클러스터(200) 시스템을 재구성하고(단계 706), 서비스 오류를 회복하여 부 노드(231, 232, 233)에서 고 가용성 서비스를 제공받을 수 있도록 제어한다(단계 707). 반면에, 상기 판단 단계(705)에서 오류가 발생되지 않을 경우, 처음 상태로 되돌아간다.
그러므로, 본 발명은 클러스터의 한 시스템 또는 응용 프로그램의 작동에 장애가 발생할 경우, 장애가 발생된 응용 프로그램을 재시작 하거나, 또는 장애가 발생된 서버의 작업을 클러스터의 다른 시스템에 분산 처리하여 서비스가 중단되는시간을 최소화하여 처리 성능을 향상시켜 고 가용성의 효율성을 더욱 높일 수 있으며, 또한, 고 가용성을 효율적으로 관리하기 위하여 클러스터를 구성하고 고 가용성을 관리하는 관리 모듈, 실제 고 가용성을 담당하는 오류 탐지 및 복구를 위한 모듈, 주/부 노드간 일관성 있는 정보를 유지하게 하는 미러링 모듈로 구성하고 각 모듈들을 시스템 관리로부터 컨텐츠 관리에 이르는 구조를 단일화하여 하나의 관리 모듈에서 손쉽게 처리 할 수 있는 효과가 있으며, 또한 호환성 및 효율성을 극대화하기 위하여 관리 모듈 및 오류 탐지 및 복구 모듈은 각 시스템에 호환성을 가질 수 있도록 사용자 레벨에서 제안하였으며, 컨텐츠 복제를 위한 미러링의 경우에는 성능 향상을 위하여 커널 내의 디바이스 드라이버 수준에서 제안하고, 각 모듈간의 원격 정보 교환은 시스템 환경에 가장 적합한 단일 레지스트리 구조를 사용하여 효율성을 더욱 높일 수 있다는 효과가 있다.
Claims (31)
- 클러스터 시스템의 고 가용성 구현장치에 있어서,상기 클러스터에 연결되어 고 가용성 웹 서비스를 제공받는 다수의 클라이언트;상기 다수의 클라이언트로의 모니터링, 오류 탐지 및 오류 회복의 시작 및 중지하기 위해 고 가용성 관리를 위한 관리 객체를 탑재하며, 상기 다수의 클라이언트가 상기 클러스터내의 각종 그룹노드들 중 적합한 노드를 선택하여 접속하도록 제어하는 주제어 서버;상기 주제어 서버에 의해 동작되는 웹 서비스가 임의의 장애가 발생되어 중단될 경우, 상기 주제어 서버와 연결된 후, 오류 탐지 시에 웹 서비스의 복구를 행하며, 오류 회복 시에 웹 서비스 관련 정보를 복제하여 고 가용성의 웹 서비스를 수행하도록 제어하는 부 제어 서버;상기 다수의 클라이언트에 노드별로 웹 서버 및 파일 전송 규약(FTP) 서버 등의 서비스를 네트워크 및 인터넷을 통해 제공하는 다수의 주 노드;상기 다수의 주 노드에 의해 웹 서비스를 제공하는 중에 장애로 인하여 서비스가 중단될 경우, 이를 중단하지 않고 계속적으로 유지하도록 제어하는 보조 노드;상기 오류 회복 시에 웹 서비스 관련 정보를 복제하도록 하기 위해 웹 서비스 관련 정보를 보관하는 디스크 미러링을 포함하는 것을 특징으로 하는 클러스터시스템의 고 가용성 구현 장치.
- 제 1 항에 있어서,상기 다수의 주 노드와 부 노드간과, 주제어 서버와 부 제어 서버간에 서비스의 중단 및 노드의 오류 등을 감시하기 위한 하트비트(heartbeat)가 존재하여 오류 탐지 시에 서비스 복구를 수행하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 1 항에 있어서, 상기 디스크 미러링은,상기 주제어 서버와 부 제어 서버간과, 다수의 주 노드와 부 노드간 서비스를 제공받도록 정보의 일관성을 유지하기 위해 정보 변경 시 정보를 복제하기 위한 메모리인 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 1 항에 있어서, 상기 디스크 미러링은,고 가용성의 관리 객체를 보여주기 위해 시스템 구성, 그룹노드구성, 노드구성, 서비스 구성으로 분류되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 4 항에 있어서, 상기 시스템 구성은,상기 클러스터 시스템의 가상 이름을 의미하며, 상기 주제어 서버에서 인터넷 상에 등록된 실제 서버의 이름을 나타내며, 다수의 그룹 노드에서 상기 클러스터 내에 구성된 그룹 노드들의 리스트인 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 4 항에 있어서, 상기 그룹노드구성은,상기 시스템 구성 내의 그룹노드에 해당되는 것으로, 상기 그룹 노드의 대표 이름과 그룹 노드 내에 있는 노드들이 비어 있는지, 또는 부 노드 없이 단독 노드로 존재하는지, 아니면 일반적인 형태로 주 노드들과 부 노드로 구성되어 있는지에 관련된 상태 정보를 보여주는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 4 항에 있어서, 상기 노드 구성은,상기 그룹노드구성내 주 노드에 해당되는 것으로, 해당 노드의 이름과 물리적인 인터넷 프로토콜(IP) 주소, 주 노드와 부 노드의 분류 및 각 노드에서 서비스 받고자 하는 서비스의 이름들의 리스트로 구성하고 있으며, 상기 서비스 구성은 해당 서비스의 이름, 실제 그 서비스의 실행 파일이 탑재되어 있는 경로로 구성되어 있는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 클러스터 시스템의 서비스 고 가용성 제어장치에 있어서,상기 클러스터 시스템은 주제어 서버, 부 제어 서버, 다수의 주 노드, 부 노드, 디스크 미러링, 하트비트를 구비하는 것으로, 상기 주제어 서버 및 부 제어 서버의 제어에 따라 디스플레이(display)되며, 관리자로부터 요청된 작업에 대해서 다수의 주 노드 및 부 노드에서 웹 서비스를 수행하고, 상기 서비스 수행 여부 및 시스템 상태 등을 관측하는 메인 윈도우;상기 부 노드에 의해 동작되며, 오류 회복을 수행하도록 서비스 동작을 수행하며, 상기 하트비트(heartbeat)를 통해 상기 다수의 주 노드의 오류를 탐지하는 오류 탐지;상기 오류 탐지로부터 시그널 형태의 오류 사실을 제공받을 경우, 대기 상태로 있다가 수행 상태로 전환하여 오류가 있는 노드를 클러스터링에서 고립시키고 오류가 있는 노드의 서비스를 다른 노드에서 동작하게 하여 복구 내용을 수행하고 다시 대기 상태로 넘어가는 오류 회복;상기 오류 회복 시에 웹 서비스 관련 정보를 복제하도록 하기 위해 웹 서비스 관련 정보를 보관하는 디스크 미러링을 포함하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 8 항에 있어서,상기 메인 윈도우의 세부 기능으로, 시스템/그룹/서비스를 구성 및 관리하는 구성 기능과, 시스템/그룹/서비스의 현재 상태 정보 및 로그 정보를 보여주는 모니터링 기능으로 구분되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 9 항에 있어서,상기 메인 윈도우에서 사용되는 연산자들의 기능은 컨피규어(Configure), 스타트(Start), 스탑(Stop), 모니터(Monitor), 시스템 뷰(SystemView), 서비스 뷰(ServiceView), 미러 윈도우(MirrorWindow), 헬프(Help) 등으로 구분되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 컨피규어(Configure) 기능은,상기 클러스터 시스템 구성이 처음일 경우, 초기 클러스터 시스템을 구성하며, 상기 초기 클러스터 시스템 구성은 시스템 구성 정보에 존재하는 모든 노드를 등록하고, 상기 메인 윈도우에 표시하는 기능과;상기 클러스터 시스템 구성이 처음이 아닐 경우, 이전에 구성된 시스템 구성 정보 파일을 읽어와서 시스템 정보를 구축하고 상기 메인 윈도우에 표시하는 기능과;상기 클러스터 시스템 재구성 요구가 있을 경우, 상기 클러스터 시스템 재구성 단계를 이용하여 재구성하고, 상기 재구성이 완료되면 시스템 구성 정보 파일을 갱신한 후, 고 가용성 관리를 스타트(start)하는 기능으로 구분되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 스타트(Start) 기능은,오류 탐지를 위한 하트비트(heartbeat)를 구동하고, 모니터링을 위한 쓰레드 연산자를 수행한 후, 오류 회복을 위한 연산자를 수행하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 스탑(Stop) 기능은,오류 탐지를 위한 하트 비트(heartbeat)를 종료하고, 모니터링을 위한 쓰레드 연산자를 종료한 후, 오류 회복을 위한 연산자를 종료하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 모니터(Monitor) 기능은,상기 클러스터 시스템 보기 메뉴와 모니터에서 서비스 보기 메뉴일 경우, 각각 현재 구성된 시스템 정보 및 현재 수행중인 서비스 정보를 상기 메인 윈도우에 표시하고, 상기 클러스터 시스템 정보 및 서비스 정보에 대하여 변동 사항이 발생될 경우, 해당 정보를 갱신하고 상기 메인 윈도우에 그 내용을 표시한 다음에 대기 상태로 복귀한 후, 상기 주제어 서버 및 해당되는 그룹 노드에 통보하고, 상기 주제어 서버 및 해당되는 그룹 노드의 변동 사항을 갱신하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 시스템 뷰(SystemView) 기능은,상기 클러스터 시스템 정보를 상기 메인 윈도우에 표시하는 것을 특징으로하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 서비스 뷰(ServiceView) 기능은,상기 메인 윈도우에 현재 구성된 서비스 정보를 표시하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서, 상기 미러 윈도우(MirrorWindow) 기능은,상기 디스크 미러링 관리 메인 루틴과 상기 디스크 미러링 관리 윈도우를 호출하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 10 항에 있어서,상기 헬프(Help) 기능은 온라인 사용자 지침서를 보여주는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 8 항에 있어서, 상기 오류 탐지는,상기 부 노드에 의해 수행되는 것으로, 상기 부 노드에서 다수의 주 노드가 액티브로 동작하고 있는지를 알아보기 위한 어라이브(alive) 메시지를 주기적으로 교환하는 중에, 상기 어라이브(alive) 메시지가 발생되지 않으면, 상대 노드에서 오류가 발생된 것으로 판단하여 상기 오류 회복에 오류 사실을 시그널 형태로 통보하여 오류 회복 모듈을 대기 상태로부터 수행 상태로 전환하여 오류 회복 절차를수행하도록 하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 8 항에 있어서, 상기 오류 회복은,상기 부 노드에서 오류가 발생된 노드 이름을 주제어 서버에 통보할 경우, 상기 주제어 서버에서 실행중인 관리 모듈이 동작되면서 오류 노드를 임의의 색상 노드로 표시해서 관리자에게 오류가 발생됨을 통보한 후, 상기 부 노드에서 오류가 발생된 노드를 하트 비트(heartbeat) 모듈에서 분리하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 20 항에 있어서,상기 오류 회복에서 사용되는 연산자들의 기능은 리커버리(Recovery), 아이솔레이션(Isolation), 페일오버(Failover)로 구분되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 21 항에 있어서, 상기 리커버리(Recovery) 기능은,상기 클러스터 시스템 정보와 서비스 정보를 부 노드에 이중화하고, 대기 상태로 전환하여 오류 탐지 신호를 기다리며, 오류 탐지 신호가 제공되면, 사기 아이솔레이션(Isolation) 연산자를 호출하여 오류가 있다고 판단된 노드를 격리하고 시스템을 자동 재구성하는 기능과, 상기 페일오버(Failover) 연산자를 호출하여 오류가 있다고 판단된 노드에서 등록된 수행이 중단된 서비스들을 부 노드에서 재실행하는 기능을 자동으로 실행한 다음에 대기 상태로 복귀하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 21 항에 있어서, 상기 아이솔레이션(Isolation) 기능은,상기 클러스터 시스템 정보 자료 구조에서 오류 노드에 해당하는 정보를 삭제하며, 변경된 시스템 정보에 대한 메모리 내용을 디스크 상에 존재하는 파일도 반영되도록 파일을 갱신하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 21 항에 있어서, 상기 페일오버(Failover) 기능은,오류 노드에서 수행되었던 서비스 정보를 읽어오고, 상기 읽어온 모든 서비스에 대해 서비스의 세부 정보를 분석하여 재실행하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 8 항에 있어서, 상기 디스크 미러링은,단위 노드의 고장을 자동 탐지하는 기능과, 자동 데이터 복구 기능과 시스템 관리 기능을 들 수 있는데, 상기 고장 자동 탐지 기능은 단위 노드의 고장을 시스템 차원에서 하트비트(heartbeat) 방법으로 자동 탐지하며, 네트워크 하부 프리미티브인 트랜스포트 드라이버 인터페이스(Transport Driver Interface : TDI)를 사용하여 메시지를 교환하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현장치.
- 제 25 항에 있어서, 상기 자동 데이터 복구는,상기 고장이 발생된 노드를 수리한 후, 데이터 일치성을 유지하기 위해 로그(log)해 두었던 내용을 자동적으로 복구하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 제 25 항에 있어서, 상기 시스템 관리 기능은,상기 메인 윈도우에 미러링 그룹 구성과 시스템 관리자의 작업을 위한 기능 지원으로 연동되어 있으며, 상기 미러링에서 원격 데이터 전송, 원격 데이터 수신 및 파일 저장 연산자들이 사용되는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 장치.
- 클러스터 시스템의 고 가용성 객체간의 제어방법에 있어서,고 가용성 관리가 스타트(start) 될 경우, 상기 고 가용성을 위해 상기 클러스터 시스템 구성 파일이 존재하는지를 판단하는 단계;상기 판단 단계에서 시스템 구성 파일이 존재하지 않을 경우, 상기 클러스터링 시스템을 재구성한 다음, 상기 클러스터 시스템내의 그룹 노드 구성을 관리에 맞게 수행하는 단계;상기 그룹 노드 구성을 관리에 맞게 수행한 후, 해당되는 고 가용성 서비스를 등록하는 단계;상기 고 가용성 서비스가 등록된 후, 실제 노드 및 서비스 오류 시에 탐지되고 복구되는 과정을 수행하는 단계를 포함하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 방법.
- 제 28 항에 있어서,상기 판단 단계에서 시스템 구성 파일이 존재할 경우, 디폴트 시스템을 구성하는 단계를 더 포함하는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 방법.
- 클러스터 시스템의 실제 서비스 오류 탐지 및 회복 제어방법에 있어서,상기 오류 탐지 및 복구 객체가 스타트(start)될 경우, 상기 클러스터 시스템과 고 가용성 서비스 정보가 변경되었는지를 체크하는 단계;상기 체크 단계에서 변경될 경우, 상대 노드인 부 노드에 변경된 정보를 복제한 후, 오류 탐지를 위한 대기 상태로 들어가는 단계;상기 클러스터 시스템 및 고 가용성 서비스에 오류가 발생되었는지를 판단하는 단계;상기 판단 단계에서 오류가 발생될 경우, 상기 클러스터 시스템을 재구성하고, 서비스 오류를 회복하여 상기 부 노드에서 고 가용성 서비스를 제공받을 수 있도록 제어하는 단계를 포함하는 것을 특징으로 하는 클러스터 시스템의 고 가용성구현 방법.
- 제 30 항에 있어서,상기 체크 단계에서 변경되지 않을 경우, 곧바로 대기 상태로 들어하며, 상기 판단 단계에서 오류가 발생되지 않을 경우, 처음 상태로 되돌아가는 것을 특징으로 하는 클러스터 시스템의 고 가용성 구현 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0081571A KR100404906B1 (ko) | 2001-12-20 | 2001-12-20 | 클러스터 시스템의 고 가용성 구현장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0081571A KR100404906B1 (ko) | 2001-12-20 | 2001-12-20 | 클러스터 시스템의 고 가용성 구현장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030051930A KR20030051930A (ko) | 2003-06-26 |
KR100404906B1 true KR100404906B1 (ko) | 2003-11-07 |
Family
ID=29576683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0081571A KR100404906B1 (ko) | 2001-12-20 | 2001-12-20 | 클러스터 시스템의 고 가용성 구현장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100404906B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930137B2 (en) | 2007-12-10 | 2011-04-19 | Electronics And Telecommunications Research Institute | Availability prediction method for high availability cluster |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100693663B1 (ko) * | 2003-12-30 | 2007-03-14 | 엘지엔시스(주) | 노드 장애 감지 방법 및 시스템 |
US20090016251A1 (en) * | 2007-07-13 | 2009-01-15 | Gainspan, Inc. | Management method and system of low power consuming devices |
KR100956638B1 (ko) * | 2007-12-11 | 2010-05-11 | 한국전자통신연구원 | 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법 |
KR101265388B1 (ko) | 2009-07-02 | 2013-05-20 | 엔에이치엔비즈니스플랫폼 주식회사 | 고가용성 데이터베이스 관리 시스템 및 이를 이용한 데이터베이스 관리 방법 |
KR101374120B1 (ko) * | 2012-05-31 | 2014-03-13 | 삼성에스디에스 주식회사 | 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법 |
KR101654969B1 (ko) * | 2014-02-10 | 2016-09-06 | 단국대학교 산학협력단 | 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치 |
KR102161211B1 (ko) * | 2014-02-28 | 2020-09-29 | 한화테크윈 주식회사 | 고가용성 시스템 |
WO2016153288A1 (ko) * | 2015-03-24 | 2016-09-29 | 건국대학교 산학협력단 | 가상 클러스터 관리 시스템 및 이를 제어하기 위한 방법 |
CN106972962A (zh) * | 2017-03-22 | 2017-07-21 | 北京匡恩网络科技有限责任公司 | 高可用集群的配置方法、装置及系统 |
KR102106689B1 (ko) * | 2018-03-09 | 2020-05-04 | 한국과학기술원 | 사용자 데이터 보호를 제공하는 데이터 가용성 ssd 아키텍처 |
CN112328445B (zh) * | 2020-10-27 | 2023-11-14 | 许继集团有限公司 | 一种基于consul的多节点管理系统 |
CN114764380A (zh) * | 2021-01-15 | 2022-07-19 | 国电南瑞科技股份有限公司 | 一种基于etcd的分布式集群控制方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000054017A (ko) * | 2000-05-17 | 2000-09-05 | 김상돈 | 고가용성 네트워크 시스템 및 그 구현방법 |
JP2000357160A (ja) * | 1999-06-16 | 2000-12-26 | Id Gate Co Ltd | コンピュータネットワーク及びネットワークサーバのクラスタリング方法 |
US6314526B1 (en) * | 1998-07-10 | 2001-11-06 | International Business Machines Corporation | Resource group quorum scheme for highly scalable and highly available cluster system management |
KR20020036502A (ko) * | 2000-11-10 | 2002-05-16 | 오길록 | 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법 |
KR20030034411A (ko) * | 2001-10-23 | 2003-05-09 | 한국전자통신연구원 | 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 |
-
2001
- 2001-12-20 KR KR10-2001-0081571A patent/KR100404906B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314526B1 (en) * | 1998-07-10 | 2001-11-06 | International Business Machines Corporation | Resource group quorum scheme for highly scalable and highly available cluster system management |
JP2000357160A (ja) * | 1999-06-16 | 2000-12-26 | Id Gate Co Ltd | コンピュータネットワーク及びネットワークサーバのクラスタリング方法 |
KR20000054017A (ko) * | 2000-05-17 | 2000-09-05 | 김상돈 | 고가용성 네트워크 시스템 및 그 구현방법 |
KR20020036502A (ko) * | 2000-11-10 | 2002-05-16 | 오길록 | 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법 |
KR20030034411A (ko) * | 2001-10-23 | 2003-05-09 | 한국전자통신연구원 | 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930137B2 (en) | 2007-12-10 | 2011-04-19 | Electronics And Telecommunications Research Institute | Availability prediction method for high availability cluster |
Also Published As
Publication number | Publication date |
---|---|
KR20030051930A (ko) | 2003-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449330B2 (en) | System and method for supporting patching in a multitenant application server environment | |
US10853056B2 (en) | System and method for supporting patching in a multitenant application server environment | |
US7287186B2 (en) | Shared nothing virtual cluster | |
US8375363B2 (en) | Mechanism to change firmware in a high availability single processor system | |
US7788524B2 (en) | Fault-tolerant networks | |
US7076689B2 (en) | Use of unique XID range among multiple control processors | |
US7188237B2 (en) | Reboot manager usable to change firmware in a high availability single processor system | |
JP5102901B2 (ja) | データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム | |
US7814050B2 (en) | Disaster recovery | |
US20040153624A1 (en) | High availability synchronization architecture | |
KR100404906B1 (ko) | 클러스터 시스템의 고 가용성 구현장치 및 방법 | |
JP5384467B2 (ja) | 再目的化可能回復環境 | |
US20090024871A1 (en) | Failure management method for a storage system | |
US20110289417A1 (en) | User interface for configuring and managing the cluster | |
US7065673B2 (en) | Staged startup after failover or reboot | |
JP2004532442A (ja) | ストレージシステムにおけるフェイルオーバー処理 | |
US20030208750A1 (en) | Information exchange for process pair replacement in a cluster environment | |
CN115248720A (zh) | 存储系统、存储节点虚拟机恢复方法和记录介质 | |
CN117762474A (zh) | 一种数据库高可用软件管理方法、装置及系统 | |
US11853175B2 (en) | Cluster system and restoration method that performs failover control | |
Quintero et al. | IBM PowerHA SystemMirror for AIX Cookbook | |
JPH08249196A (ja) | タスクの冗長化実行方式 | |
JP2000082040A (ja) | 営業店バックアップ・システム、センタ側サーバ、営業店サーバ、営業店バックアップ方法および記録媒体 | |
JPH06139213A (ja) | 計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081001 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |