KR19990050461A - 고 가용성 시스템의 오류 처리방법 - Google Patents
고 가용성 시스템의 오류 처리방법 Download PDFInfo
- Publication number
- KR19990050461A KR19990050461A KR1019970069587A KR19970069587A KR19990050461A KR 19990050461 A KR19990050461 A KR 19990050461A KR 1019970069587 A KR1019970069587 A KR 1019970069587A KR 19970069587 A KR19970069587 A KR 19970069587A KR 19990050461 A KR19990050461 A KR 19990050461A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- high availability
- input
- output
- control board
- Prior art date
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
본 발명은 고 가용성 시스템의 오류 처리방법에 관한것으로서, 고 가용성 시스템의 동작중에 시스템 제어보드외의 입/출력 보드등에서 장애가 발생되는 경우, 시스템 제어 보드 및 입/출력 보드의 오류를 검지하는 로직을 추가하여, 공중망과 시리얼 라인을 통한 상대 시스템의 상태 정보를 검색하는 과정에서 발생하는 오동작으로 인한 서비스 중단을 미연에 방지하여 시스템의 정지 시간을 최소화하도록 한 것이다.
이와 같은 고 가용성 시스템의 오류 처리방법은, 동일한 구성을 가지는 두 개의 시스템이 각각 입/출력 프로세스를 통해 서비스를 상호 공유하면서 동작중에, 오류 검출 프로세스의 실행에 따라 어느 하나의 시스템에서 오류가 발생되면 발생된 오류 정보를 고 가용성 관리 프로세서에 전달하는 과정; 오류 정보를 전달받음과 아울러, 두 개의 시스템중 어느 하나의 입/출력 프로세스에서 오류가 발생되면 입/출력 제어명령에 의하여 오류가 발생된 해당 시스템을 다운시키기 위한 동작을 수행하고, 오류가 발생되지 않는 경우에는 지속적으로 오류 검출를 수행하는 과정을 포함함으로써 달성된다.
Description
본 발명은 고 가용성 시스템(High Availability System)에 관한것으로서, 보다 상세하게는 고 가용성 시스템 동작중에 시스템 제어보드외의 보드등에서 오류 발생시 시스템 제어보드를 리셋(Reset)시켜 시스템의 정지 시간(Down time)을 최소화 시키는 고 가용성 시스템의 오류 처리방법에 관한 것이다.
일반적으로, 컴퓨터 시스템은 소프트웨어(Software), 하드웨어(Hardware)등에 의한 장애 발생등으로 인한 시스템이 정지되는 것을 방지하고, 프로세서의 내부 동작이 불안정으로 동작하고 있는가등을 검사하는 프로그램을 준비하여 데이터의 완전성을 유지하고, 만일 장애가 발생되면 장애 부위를 조기에 발견하여 자동적으로 장애 상태를 판단할수 있도록 하여 시스템의 신뢰성, 가용성, 보수성등을 향상시키고 있다.
이와 같이 시스템의 성능을 향상시키기 위해서 하드웨어 기술과 소프트 웨어의 기술적인 연계가 필요하게 되었고, 통상 이중화 시스템에서 상대 시스템의 상태 감시는 네트워크 채널 및 시스템 주변기기 제어용 버스인 스카시(SCSI : Small Computer System Interface) 버스를 이용하여 수행되었다.
도 1은 종래 기술에 따른 고 가용성 시스템을 보인 개략적인 블록 구성도로서, 이에 도시된 바와 같이 공중 망(Public Lan)에 인터페이스를 통해 연결되는 제 1시스템(20), 제 2시스템(30) 및 클러스터 관리 시스템(10)과 시리얼 라인(Serial Line)을 통해 제 1시스템(20)과 제 2시스템(30)이 상호 연결되며, 이들이 각각 공유하는 공유디스크(40)로 구성된다.
바람직하게, 제 1시스템(20)과 제 2시스템(30)은 각각 서버/클라이언트 프로세스(24)(26)(34)(36)와, 오류를 검출하는 오류 검출 프로세스(28)(38), 클러스터 관리 대몬 프로세스(CMSD :이하 대몬 프로세스라 약칭함)(22)(32)를 포함한다.
이와 같이 구성된 고 가용성 시스템의 오류 처리과정을 도 2를 참고하여 상세히 설명하면 다음과 같다.
먼저, 제 1, 제 2 시스템(20)(30)이 기동되는 경우, 상대(Remote) 시스템과의 동기를 맞추기 위하여 고가용성 셋업 프로세스(HASETUP Process)를 수행한다(ST10)(ST11).
고가용성 셋업 프로세스는 제 1, 제 시스템(20)(30)에서 각각 수행되며, 이때 상대 시스템의 상태를 감시하기 위해(Heart beat) 상호 시스템을 연결시키는 시리얼 라인(Serial Line)을 SLIP(Serial line Internet Protocol)으로 셋업시킨다(ST12)(ST13).
이후, 고가용성 셋업 프로세스는 시리얼 라인의 상태 감시기능을 이용하여 상대 시스템이 준비된 상태인지를 검사하고, 만약 준비가 되지 않는 상태이면 준비될때까지 상대 시스템을 폴링(Polling)한다. 즉, 제 2시스템(30)을 검사하는 경우, 제 1시스템(20)이 시리얼 라인(Serial line)을 통해 시스템이 액티브(Active)될때까지 정기적으로 제 2시스템(30)의 상태를 검사한다(ST14)(ST15).
계속해서, 상대 시스템이 액티브 상태가 되면, 이후 상대 시스템이 고가용성 상태로 액티브 되었는지를 검사한다(ST16)(ST17). 이때, 상대 시스템이 고가용성 환경으로 액티브 된 상태이면 다른 시스템의 자원을 복구(Release)시킨후, 복구 완료 명령을 기다리고, 시리얼 라인을 이용한 상대 시스템의 상태 감시 정보를 시작한다(ST18)(ST19)(ST23).
만약, 상대 시스템이 고가용성 상태로 액티브 된 상태가 아니면 제 1, 제 2시스템(20)(30)은 모두 초기 상태이므로, 공중망(Public Lan)을 셋업하고, 고 가용성 시스템을 구성하기 위해 필요한 HAM(High Availability Manager)프로세스, 오류 검출 프로세스(Fault Detection) 및 대몬 프로세스를 수행시킨다(ST20)(ST22).
즉, 고가용성 셋업 프로세스에 의해 수행된 고가용성 프로세스는, 고가용성 시스템을 구성하기 위하여 상대 시스템을 호출하기 위한 RPC(Remote Procedure Call)을 이용하여 상대 시스템의 상태 정보를 주기적으로 폴링한다. 이때 상대 시스템의 상태 정보를 제공받는 경로는 상기에서 기술한 공중망을 이용한 방법과 시리얼 라인을 이용하는 방법이 사용된다.
이와 같은 방법에 의하여 상대 시스템의 상태 정보를 감시하는데, 첫 번째 방법인 공중망을 이용하여 상대 시스템의 상태 정보를 제공받는 방법이 실패하는 경우(ST24), 두 번째 방법인 시리얼 라인을 이용하여 상대방 시스템의 상태 정보를 검사한다(ST26). 시리얼 라인을 통한 상태 정보 검사도 실패인 경우는 상대 시스템에 장애가 발생된 상태이다(ST28). 이때는 클러스터 관리 시스템(30)을 검사하고, 상대 시스템이 제공하던 서비스를 다른 시스템에 제공하기 위한 작업이 수행된다(ST30).
이와 같은 서비스 제공은, 먼저 제 1, 제 2시스템(20)(30)의 클라이언트 프로세스(26)(36)들은 서버 프로세스(24)(34)에 장애가 발생한 것과는 무관하게 계속적으로 작업이 이루어져야 한다. 즉, 서비스를 요구하는 클라이언트 프로세스(26)(36)는 지속적인 동작이 필요하며, 이에 따라 인터넷 프로토콜(Internet Protocol)에 의한 서비스 제공을 수행한다. 인터넷 프로토콜에 의한 클라이언트 프로세스(26)(36)의 서비스 제공은 동일한 서버 프로세스(24)(34)의 인터넷 프로토콜 어드레스로 억세스하여도 가능하게 하기 위하여 동일 인터넷 프로토콜 어드레스로 셋업하여 서비스가 되도록 한다.
이후, 장애가 발생된 시스템에서 제공하던 서비스를 상대 시스템에 인계하여 계속적으로 시스템을 동작시키고, 서비스 제공이 완료되면 상기와 같은 서비스 제공 과정을 복구 명령에 따라 복구시키고, 보통 상태로 시스템을 전환시킨다(ST32 ~ ST38).
그러나, 상기한 종래 기술에 따른 고 가용성 시스템의 오류 처리방법은 상대 시스템의 정보를 주기적으로 제공받아 장애 여부를 검지하기 위한 경로 즉, 공중망을 이용한 상대 시스템의 상태 감시와 시리얼 라인을 이용한 상대 시스템의 상태 감시 경로가 시스템 제어보드를 통해 이루어짐으로써, 시스템 제어보드외의 다른 보드에서 장애가 발생하고 시스템 제어 보드는 정상적으로 동작하면 시스템은 비정상적이지만 정상 상태로서 동작되는 경우가 발생되는 문제점이 있었다.
이런 경우, 네트워크 상에 연결되는 클라이언트 프로세스들은 서비스가 중단된 상태로서, 장애가 일어난 시스템은 상대 시스템에 계속적으로 서비스를 공유해야 하지만 시스템 제어 보드가 정상적으로 동작을 수행하는것처럼 보여 상호 시스템간의 서비스 제공이 이루어지지 않는다.
따라서, 본 발명은 고 가용성 시스템의 동작중에 시스템 제어보드외의 입/출력 보드등에서 장애가 발생되는 경우, 시스템 제어 보드 및 입/출력 보드의 오류를 검지하는 로직을 추가하여 공중망과 시리얼 라인의 오동작에 따른 서비스 정지 시간을 최소화 함으로써, 시스템를 보다 안정화 시키는 고 가용성 시스템의 오류 처리방법을 제공함에 그 목적이 있다.
도 1은 종래 기술에 따른 고 가용성 시스템을 보인 개략적인 블록 구성도이고,
도 2는 도 1에 따른 고 가용성 시스템의 오류 처리과정을 보인 흐름도이고,
도 3은 본 발명에 따른 고 가용성 시스템의 오류 처리과정을 보인 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 클러스터 관리 시스템 20, 30 : 제 1, 제 2 시스템
22, 32 : 대몬 프로세스 24, 34 : 서버 프로세스
26, 36 : 클라이언트 프로세스 28, 38 : 오류 검출 프로세스
40 : 공유 디스크
상기한 목적을 달성하기 위한 본 발명에 따른 고 가용성 시스템의 오류 처리방법은, 동일한 구성을 가지는 두 개의 시스템이 각각 입/출력 프로세스를 통해 서비스를 상호 공유하면서 동작중에, 오류 검출 프로세스의 실행에 따라 어느 하나의 시스템에서 오류가 발생되면 상기 발생된 오류 정보를 고 가용성 관리 프로세서에 전달하는 과정; 상기 오류 정보를 전달받음과 아울러, 상기 시스템중 어느 하나의 입/출력 프로세스에서 오류가 발생되면 입/출력 제어명령에 의하여 오류가 발생된 해당 시스템을 다운시키기 위한 동작을 수행하고, 오류가 발생되지 않는 경우에는 지속적으로 오류 검출를 수행하는 과정을 포함한다.
바람직하게, 제 2과정의 상기 시스템 다운 동작은 상기 오류 정보를 입출력 제어 함수를 이용하여 커널 함수에 전달하는 단계; 상기 오류 정보를 전달받은 커널 함수는 시스템 제어보드를 리셋 시키는 단계를 포함한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참고하여 상세히 설명하면 다음과 같다.
여기서, 본 발명의 실시예의 구성을 설명함에 있어, 명세서의 서두에서 설명된 종래 기술에 따른 고 가용성 시스템은 본 발명에도 적용되므로 설명의 중복을 피하기 위하여 생략이 가능하며, 또한 동일 부호를 사용한다.
먼저, 고가용성 시스템은 상호 제 1, 제 2시스템(20)(30)의 상태 정보를 파악하기 위하여 공중망을 이용한 방법과 시리얼 라인을 이용한 방법을 수행한다. 이때, 하나의 시스템 기동시 상대 시스템과의 동기를 맞추기 위하여 초기 셋업 프로세스를 수행한다.
즉, 동작중인 고 가용성 시스템에서 상대 시스템을 감시하기 위한 동작이 지속적으로 실행되며, 상기 공중망과 시리얼 라인을 통하여 정보를 제공받는다. 이러한 정보 제공중에 오류가 발생되면, 이를 감지하여 장애가 발생된 시스템의 서비스 내용을 상대 시스템에 제공하여 계속적으로 서비스를 실행하도록 하고 있다.
이와같은 일련의 작업은, 공중망을 통한 상대 시스템의 상태 감시가 실패하면, 두 번째 방법인 시리얼 라인을 통한 상대 시스템의 감시 작업을 수행하고, 이때에도 상대 시스템의 감시 작업이 실패하면 상대 시스템에 장애가 발생되는 것으로 간주하여 상대 시스템이 제공하던 서비스를 다른 시스템에 제공한다.
이때, 시스템 제어보드외의 다른 보드에서 오류가 발생되면 이를 감지할 수가 없어 시스템이 정상적인 상태로서 동작되는 경우가 발생되며, 이를 방지하기 위하여 도 3에 도시된 바와 같이 오류 검출 프로세스(Fault Detection Process)을 수행함으로써, 입/출력 프로세스와 시스템 제어보드의 상태를 파악하여 계속적인 서비스가 제공되도록 한다.
오류 검출 프로세스가 수행되면(ST100) 먼저, 입/출력 프로세서와 시스템 제어보드에서 오류가 발생되는지를 판단하여, 오류가 발생되면 고 가용성 관리 프로세스(High Availability Manager Process)에 발생된 오류에 대한 정보를 전달한다(ST102)(ST104)(ST106).
이때, 시스템 제어 보드는 정상적으로 동작하고, 입/출력 프로세스만 오류가 발생되는 경우에는(ST108), 시스템이 비정상적으로 동작하고 있는 상태로서 발생된 오류를 인식하지 못하기 때문에 상대 시스템과 서비스를 공유 하지 못한다. 이에 따라 시스템 제어보드를 리셋하는 동작을 수행시켜 공중망과 시리얼 라인을 통하여 상대 시스템의 상태 정보의 검사가 불능 상태인 것을 인식시키도록 한다.
먼저, 입/출력 보드를 통한 오류 정보 검지가 불능인 상태에서는 디스크 상에 존재하는 커맨드(Command)들을 이용하여 시스템을 다운시킬수가 없다. 그래서 시스템의 메모리상에 있는 프로세스와 커널(Kernel)함수를 이용하여 시스템을 다운시켜야 한다.
시스템 다운작업은 메모리상에 상주하는 고 가용성 관리 프로세스에 의하여 처리되며, 고 가용성 관리 프로세스는 오류 검출 프로세스에 의하여 입/출력 보드의 오류 정보를 전달받는다. 이에 따라 고 가용성 관리 프로세스는 커널 함수의 입/출력 제어 시스템 콜(IOCTL System Call) 함수를 이용하여 커널 함수로 시스템 제어보드의 리셋 명령을 전달한다(ST112).
명령을 전달받은 커널 함수는 시스템 제어보드의 특정 영역을 이용하여 시스템 제어보드를 리셋시킨다(ST114).
이후, 시스템 제어보드가 리셋 처리되면 상대 시스템에서 상태 정보를 검사하는 방법 즉, 공중망과 시리얼 라인을 통한 상태 정보 검사가 모두 실패하는 것으로 인식되어 오류가 발생된 시스템은 상대 시스템에게 공유하고 있는 서비스를 제공하게된다(ST116).
여기서, 입/출력 프로세스가 오류가 발생되지 않은 상태에서는 계속적으로 오류 검출 프로세스에 의하여 오류 검출을 수행한다(ST110).
이상에서 상세히 설명한 바와 같이, 본 발명은 고 가용성 시스템의 동작중에 시스템 제어보드외의 입/출력 보드등에서 장애가 발생되는 경우, 시스템 제어 보드 및 입/출력 보드의 오류를 검지하는 로직을 추가하여, 공중망과 시리얼 라인을 통한 상대 시스템의 상태 정보를 검색하는 과정에서 발생하는 오동작으로 인한 서비스 중단을 미연에 방지하여 시스템의 정지 시간을 최소화하게 하는 효과가 있다.
Claims (2)
- 동일한 구성을 가지는 두 개의 시스템이 각각 입/출력 프로세스를 통해 서비스를 상호 공유하면서 동작중에, 오류 검출 프로세스의 실행에 따라 어느 하나의 시스템에서 오류가 발생되면 상기 발생된 오류 정보를 고 가용성 관리 프로세서에 전달하는 과정; 상기 오류 정보를 전달받음과 아울러, 상기 시스템중 어느 하나의 입/출력 프로세스에서 오류가 발생되면 입/출력 제어명령에 의하여 오류가 발생된 해당 시스템을 다운시키기 위한 동작을 수행하고, 오류가 발생되지 않는 경우에는 지속적으로 오류 검출를 수행하는 과정을 포함하는 것을 특징으로 하는 고 가용성 시스템의 오류 처리방법.
- 제 1항에 있어서, 상기 시스템 다운 동작은 상기 오류 정보를 입출력 제어 함수를 이용하여 커널 함수에 전달하는 단계; 상기 오류 정보를 전달받은 커널 함수는 시스템 제어보드를 리셋 시키는 단계를 포함하는 것을 특징으로 하는 고 가용성 시스템의 오류 처리방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970069587A KR19990050461A (ko) | 1997-12-17 | 1997-12-17 | 고 가용성 시스템의 오류 처리방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970069587A KR19990050461A (ko) | 1997-12-17 | 1997-12-17 | 고 가용성 시스템의 오류 처리방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990050461A true KR19990050461A (ko) | 1999-07-05 |
Family
ID=66091115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970069587A KR19990050461A (ko) | 1997-12-17 | 1997-12-17 | 고 가용성 시스템의 오류 처리방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990050461A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040051042A (ko) * | 2002-12-11 | 2004-06-18 | 엘지엔시스(주) | 고가용성 시스템의 장애 처리방법 |
KR100753565B1 (ko) * | 2001-12-28 | 2007-08-30 | 엘지엔시스(주) | 고가용성 시스템 및 그의 태스크 분할 인계방법 |
-
1997
- 1997-12-17 KR KR1019970069587A patent/KR19990050461A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100753565B1 (ko) * | 2001-12-28 | 2007-08-30 | 엘지엔시스(주) | 고가용성 시스템 및 그의 태스크 분할 인계방법 |
KR20040051042A (ko) * | 2002-12-11 | 2004-06-18 | 엘지엔시스(주) | 고가용성 시스템의 장애 처리방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100557399B1 (ko) | 네트웍 매체 링크상태 기능을 이용한 컴퓨터 클러스터링시스템의 가용도 개선방법 | |
US6266781B1 (en) | Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network | |
US6195760B1 (en) | Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network | |
US5121486A (en) | Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit | |
US7437598B2 (en) | System, method and circuit for mirroring data | |
US7634683B2 (en) | Managing failover of J2EE compliant middleware in a high availability system | |
US4628508A (en) | Computer of processor control systems | |
US5696895A (en) | Fault tolerant multiple network servers | |
US20070288585A1 (en) | Cluster system | |
US20070276983A1 (en) | System method and circuit for differential mirroring of data | |
WO2000007101A1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
US6629260B1 (en) | Automatic reconnection of partner software processes in a fault-tolerant computer system | |
JPH07306794A (ja) | 分散システム及び分散システムの高信頼化方法 | |
KR20030048503A (ko) | 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법 | |
KR19990050460A (ko) | 고 가용성 시스템의 장애 복구방법 및 장치 | |
KR19990050461A (ko) | 고 가용성 시스템의 오류 처리방법 | |
JP3025732B2 (ja) | 多重化コンピュータシステムの制御方式 | |
JPH11338725A (ja) | クラスタシステム、クラスタシステムにおける監視方式およびその方法 | |
JP2000020336A (ja) | 二重化通信システム | |
WO2022143065A1 (zh) | 数据库探活方法及装置 | |
JP2002373084A (ja) | 二重化システムの状態交換・障害検出兼用方法 | |
JPH0934852A (ja) | クラスタシステム | |
JP2001175545A (ja) | サーバシステムおよび障害診断方法ならびに記録媒体 | |
KR100257162B1 (ko) | 이중화 시스템에서 상대 시스템의 감시방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |