KR20020010490A - 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버 - Google Patents

소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버 Download PDF

Info

Publication number
KR20020010490A
KR20020010490A KR1020010044036A KR20010044036A KR20020010490A KR 20020010490 A KR20020010490 A KR 20020010490A KR 1020010044036 A KR1020010044036 A KR 1020010044036A KR 20010044036 A KR20010044036 A KR 20010044036A KR 20020010490 A KR20020010490 A KR 20020010490A
Authority
KR
South Korea
Prior art keywords
failover
node
nodes
configuration information
service
Prior art date
Application number
KR1020010044036A
Other languages
English (en)
Other versions
KR100423687B1 (ko
Inventor
크리스챤 보리크
피터 젬스예거
클라우스 스크로이프
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20020010490A publication Critical patent/KR20020010490A/ko
Application granted granted Critical
Publication of KR100423687B1 publication Critical patent/KR100423687B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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 processing functionality is redundant
    • G06F11/2035Error 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 processing functionality is redundant without idle spare hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 서비스를 제공하는 소결합된 노드들의 클러스터를 가진 분산 계산 환경에서의 공유 디스크 파일 시스템을 위한 데이터 관리 응용 프로그램의 페일오버를 처리하기 위한 메카니즘이다. 이러한 메카니즘에 따르면, 클러스터의 어떤 노드들은 페일오버 후보 노드로 정의된다. 페일오버 후보들에 대한 구성 정보는 바람직하게는 중앙 저장 장치에 저장된다. 적어도 하나의 페일오버 후보의 고장 정보만에 한정되지 않는 정보를 포함하는 메시지 정보는 페일오버 후보 노드 간에 분산된다. 분산된 메시지 정보와 저장된 구성 정보를 분석함에 의하여 페일오버 후보 노드가 고장 노드의 서비스를 인수받을 지의 여부를 결정한다. 페일오버 후보 노드에 의한 서비스의 인수 후에 상기 구성 정보는 중앙 저장 장치에서 갱신된다.

Description

소결합 노드 클러스터에서의 공유 디스크 파일 시스템용 데이터 관리 응용 프로그램의 연속 수행 페일오버{CASCADING FAILOVER OF A DATA MANAGEMENT APPLICATION FOR SHARED DISK FILE SYSTEM IN LOOSELY COUPLED NODE CLUSTERS}
본 발명은 클러스터형 정보 기술 환경(clustered information technology environment)에서 분산된 데이터 저장 자원(data storage resources) 간에 공유하는 정보를 관리하는 기술 분야에 관한 것으로서, 보다 구체적으로는 소결합 노드 클러스터(loosely coupled node cluster)와 같은 데에서 사용되는 공유 디스크 파일 시스템(shared disk file system)을 페일오버 복구(failover recovery) 처리(handling)하는 데이터 관리 방법 및 시스템에 관한 것이다.
대규모 계산 환경(large computing environments)이나 네트워크형(networked) 계산 환경을 구축한 업체들은 주로 분산형 파일 시스템(distributed file system)을 채용한다. 최근 몇 년 간에, 고해상도의 화상(high-resolution images), 과학 기술 자료 등을 저장해야 할 필요성이 대두됨에 따라 데이터 입력/출력(input/output) (I/O)과 저장 시스템의 성능 및 기능성(functionality) 간의 측면에 있어서 심각한 불균형이 야기되고 있다. 따라서, 현재의 대량 저장 시스템(mass storage systems)의 성능과 용량(capacity)이 대폭적으로 향상되어야 한다.
이러한 저장 기능 강화형(storage-intensive)의 계산 환경에서 비용 효율적(cost-effective)인 방식으로 데이터를 접근(access)할 수 있도록 하기 위하여, 대용량 저장 시스을은 기 구축된 기반 구조의 분산형 파일 시스템과 통합하여야 한다. 그 결과, 대용량 저장 시스템을 이러한 파일 시스템과 결합시키게 되면 파일 시스템에 대한 일률적이고도 체계적인 감시 및 관리가 현실화될 수 있다.
데이터 저장 용량을 늘이고자 하는 지속적인 요구에 따라 분산형 저장 시스템의 관리에 수반된 비용을 고려하지 않을 수 없는데, 이러한 비용은 저장 장치 자체에 대한 비용보다 현저히 높다. 따라서 저장 장치를 데이터 관리 응용 프로그램(DATA Management(DM) application)에 의해 지능적이고 효율적으로 관리해야 할 필요성이 지속적으로 있어 왔다.
DM 응용 프로그램은 제한된 저장 용량을 가진 빠른 온라인(on-line) 저장 장치와 3차 저장 장치(tertiary storage archive) 간에 데이터를 이동시킨다. 이에 더하여, DM 응용 프로그램은 3차 저장 장치에 저장된 모든 데이터에 대하여 온라인 의미론(semantics)을 제공한다. 즉, 사용자는 데이터에 접근하기 위하여 어떠한 관리적 조작(administrative operation)을 행할 필요가 없다. 게다가, DM 응용 프로그램은 보관된 데이터(archived data)로의 어떠한 접근이든지 인식하고 그 데이터를 사용자에게 자동적으로 전송한다. 이러한 이유로, 사용자가 데이터 파일(data file)로부터 데이터 블록을 읽으려 시도할 때 DM 응용 프로그램에 통지될 수 있도록 소정의 탐지 기관(monitoring facilities)이 구비되어야 한다.
전술한 개념, 즉 원격 저장 장치(remote storage device)로 데이터를 이동시켜서 지역 저장 공간(local storage space)을 비우는 것, 은 보통 계층적 저장 장치 관리(HSM: Hierarchical Storage Management)라고 알려져 있다. 이 저장 관리(storage management)는 사용자에게 투명(transparent)한데, 이는 사용자에게 마치 데이터가 지역적(local)인 것처럼 보이게 된다.
파일 토대(file-based)의 HSM에서 DM 응용 프로그램은 단지 파일 속성(file attributes)만을 가지는 플레이스 홀더(place holders)로써 소위 스텁 파일들(stub files)을 발생시킨다. 스텁 파일들, 또는 상응하게 펀칭된 디스크 영역(들)(correspondingly punched disk region(s)), 에 접근할 때, 파일 (또는 디스크 영역)의 데이터는 원격 저장 장치로부터 다시 회수(recall)된다. 일반적으로 HSM은 방대한 양의 드물게 접근되는 데이터(rarely accessed data)(예를 들어 저장된 기상 지도들, 비디오 발표물들)를 저장하는 파일 서버(file server)에 설치된다.
만약 저장 시스템의 일부가 고장 저장 시스템(failure storage system)의 서비스(service)를 인수(take over)할 수 있다면 전술한 분산형 대량 저장 시스템의 유용성(availability), 즉 기 구축된 기반구조의 데이터 저장 장치와 DM 응용 프로그램(들)과의 결합의 유용성이 향상될 수 있다는 것도 알려져 있는데, 이를 일반적으로 페일오버(failover)라고 부른다.
그 결과, 본원의 출원인에 의하여 개발되어 판매된 AIX SP (UNIX-based Scalable Power Parallel File System)에서 실행되는 일반 병렬 파일 시스템( (GPFS: General Parallel File System)과 같은 다중 호스트 머신(multiple host machines)을 통하여 디스크의 공유를 관리하는 파일 시스템이 알려져 있다. DM 응용 프로그램을 일반 소프트웨어 응용프로그램과 매우 유사하게 개발하기 위하여, 파일 시스템에 의해 구현되고(implemented) 데이터 관리(DM) 응용 프로그램에 의해 사용되어 다음의 기능을 수행하는 데이터 관리 응용 프로그램 인터페이스(DMApi: Data Management Application Interface)(Data Management Interfaces Group (DMIG) 컨소시엄에 의해 분류됨)가 제안되었다.
- 계층적 저장 관리 (HSM)
- 데이터 백업(backup)과 재저장(restore)
DMApi는 강하며(robust), 상업적 등급(commercial-grade)의 DM 응용 프로그램을 구현하는데 적합한 환경을 제공하는 것을 목표로 삼고 있다. 공유된 디스크환경에서 DMApi는 DM 응용 프로그램 크래쉬 복구(crash recovery)와 파일 시스템 객체(object)의 상태적 제어(stateful control)를 위한 설비를 특별히 포함할 수도 있다.
본 발명에서 특히 언급하고자 하는, 소결합된 컴퓨터 노드의 클러스터에서, 각 노드는 저장 관리 지원(support)을 제공하는 DM 응용 프로그램을 포함하고, 이 저장 관리 지원은 동기적(synchronous)이거나 비동기적(asynchronous)일 수 있는 이른바 DMApi 이벤트(events)를 필요로 한다. DMApi 이벤트는 클러스터의 어떠한 노드 상에서 구현된 기 구축된 기반구조의 운영 체계(operating system)에서 어떠한 조작들이 일어날 때마다 DM 응용 프로그램으로 통지되도록 하는 메카니즘(mechanism)이다. 이러한 메카니즘에 의하여, DMApi 세션(sessions)은 고장의 단일 점(single point)을 발생하는 다른 노드에 의하여 인수될 수 있다. 이 DMApi 세션은 DM 응용 프로그램과 기 구축된 기반구조의 운영 체계에서 구현되는 DMApi의 커널 구성 요소(Kernel component) 간의 주 통신 채널(primary communication channels)이다.
전통적인 단일 노드/컴퓨터(one-node/computer) 환경에서 시스템 고장의 경우에 파일 시스템은 정지되었다. 클러스터 환경(cluster environment)에서는 단일 노드 고장이 시스템 내의 다른(독립된) 노드들에게는 영향을 주지 않을 가능성이 크다. 만일 DM 응용 프로그램이 고장 노드 상에 상주(reside)하면, 스텁된(stabbed) 파일들에의 접근은 이용될 수 없게 되고, 이는 액티브(active) 클러스터 노드 상에서 실행되는 프로세스(process)를 잠정적으로 중단(interrupt)시킨다. 그러므로 초기 노드 고장(intial node failure)에 의하여 영향을 받지 않은 다른 클러스터 노드를 떠나기 위하여 DM 응용 프로그램을 HSM 기능성을 복구하는 액티브 노드로 이동시키는 것이 바람직하다.
따라서, 본 발명은 분산형 연산 환경에서 공유 디스크 파일 시스템용 데이터 관리 응용 프로그램의 고장을 처리하기 위한 방법 및 시스템을 제공하는 것을 하나의 목적으로 한다.
또한, 데이터 접근 서비스를 제공하는 소결합 노드를 가진 분산형 연산 환경에서의 페일오버를 처리하는 방법 및 시스템을 제공하는 것을 다른 목적으로 한다.
또한, 이러한 클러스터형 환경에서 기초한 DMApi 기반형 HSM 응용 프로그램의 페일오버 처리를 가능하게 하는 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
이러한 목적들은 독립항들에서의 특징에 의하여 해결된다. 본 발명의 유리한 실시예들은 종속항들의 주제 사항(subject matter)이다.
본 발명에 의한 방법은, 클러스터의 어떠한 노드들을 페일오버 후보(candidate) 노드들로 정의하고, 상기 모든 페일오버 후보 노드들에 대한 구성 정보(configuration information)를 저장하고, 적어도 하나의 후보 노드의 고장 정보(failure information)에만 제한되지 않은 것을 포함하는 메시지 정보(message information)를 분산시키고, 페일오버 후보 노드에 의하여 고장 노드의 서비스를 인계받을지의 여부를 결정하기 위하여 분산된 메시지 정보와 저장된 구성 정보를분석(analyzing)하고, 적어도 하나의 페일오버 후보 노드가 고장 노드의 서비스를 인계받는 경우에 상기 구성 정보를 갱신(updating)하는 단계에 의하여 앞에서 상술한 것을 성취하는 것이다.
일반적으로 말하면, 클러스터 환경에는 두 가지 유형의 페일오버가 있다. 첫 번째 유형은 하나의 노드가 더 이상 데이터 접근 서비스를 제공할 수 없음을 인정(recognize)하고, 이에 따라 다른 노드 상에서 데이터 접근 서비스를 복구하기 위하여 페일오버 요구(request)를 발동(trigger)하여야 한다. 한 노드의 전체 고장인 경우에, 이 클러스터 서비스는 페일오버 후보 노드들에게로 고장 이벤트를 분산시킨다. 본 발명은 두 가지 유형의 고장을 해결하고 단지 하나의 메카니즘만을 제공한다.
고장의 경우에 DMApi 세션이 이동하게 하여 DM 응용 프로그램의 연속 수행형 페일오버(cascaded failover)를 가능하게 하는 파일 시스템과 결합된 메카니즘을 제공하는 것은 본 발명이 담고 있는 특별한 개념이다. 이러한 메카니즘은 분산형 대량 저장 시스템의 사용자(들)에게 독특한 방법으로 높은 수준의 유용성을 제공한다.
소결합 시스템은 공유된 주 메모리 (RAM)의 부족으로 유발된 클러스터 노드의 뚜렷한 독립(independence)에 의하여 특징지어진다. 클러스터 기능성은 노드 대 노드 통신(node-to-node communication)과 공유형 데이터 저장 같은 기능을 제공하는 소프트웨어와 하드웨어 측면(hardware side)에서의 몇 종류의 고속 연결(high-speed interconnection)에 기초를 두고 있다.
모노리틱(monolithic) (다중 프로세서) 시스템과 대비할 때 소결합 클러스터 노드 간의 동기화(synchronization)에 관한 두 가지 문제가 있다.
S 시스템 뮤텍스(mutexes)와 유사한 동기된 로킹(synchronized locking) 메
카니즘의 부족
S 고장 노드 상의 지역 구성 정보의 손실
본 발명은 2차 저장 장치와 대체적 객체(alternative object) 로킹 메카니즘을 사용하여 이러한 기능성을 시뮬레이팅(simulating)에 의하여 위의 문제들을 극복한다.
더불어, 본 발명은 스텁형 파일들(stubbed files)에의 접근-보증(access-guarantee)을 편리하게 제공한다.
본 발명의 바람직한 실시예에서는, 만약 파일 시스템의 부분 집합(subset) 만이 제1 페일오버 후보에 의하여 고장 노드로부터 인수된다면 페일오버 요청은 적어도 제2 페일오버 후보로 요청된다.
도 1은 종래기술에 따른 비상주 파일을 읽기 위한 DMApi 모델 데이터 흐름을 도시한 데이터 흐름도.
도 2는 본 발명에 따른 노드 클러스터의 초기 상태를 도시한 블록 다이어그램.
도 3은 고장 노드의 서비스를 인수하기 위한 몇 페일오버 후보 노드 간의 동기적 동기화를 제공하는 본 발명의 첫 번째 실시예를 도시한 타임 차트(time chart)
도 4는 비동기적 동기화를 제공하는 실시예를 도시한 것으로서, 도 3과 유사한 타임 차트
도 5는 본 발명에 따른 원격 데이터 회수 요청의 인수를 묘사한 블록 다이어그램.
도 6은 본 발명의 예시적 구현을 묘사한 다른 블록 다이어그램.
<도면의 주요 부분에 대한 부호의 설명>
100 : 노드
110 : DM 응용 프로그램
130 : DMApi 구현
140 : 원격 노드
150 : 3차 저장 장치
160 : 프로세스
170 : 사용자 응용 프로그램
200 : 클러스터
210 : 시스템 데이터 저장소 (SDR)
220 : SP 그룹 서비스 (GS)
230, 240, 250 : 노드
300 : 고장 노드
310, 320 : 페일오버 후보
340 : 우선 키
본 발명은 도면을 참조하여 이하의 상세한 설명을 숙독함으로써 잘 이해될 수 있으며, 추가의 특징이나 장점을 명확하게 알 수 있다.
도 1은 종래기술에서 시간(시간축)에 따라 비 상주 파일(non-resident file)을 읽기 위한 DMApi 모델 데이터 흐름(DMApi model data flow)을 도시한 것이다. 분산 클러스터형 컴퓨터 환경에서의 도시한 노드(100)은 파일 데이터로의 사용자 접근을 제어하는 몇 가지 방식을 제공하는 DM 응용 프로그램(110)을 실행시키는 호스트 컴퓨터를 포함하고, 이 파일 데이터는 도시한 노드에 연결된 자기 디스크(magnetic disk)와 같은 지역 디스크(local disk)나 2차 저장 장치(secondary storage) 등에 지역적으로 저장(도시하지 아니함)되어 있다. 이 노드(100) 상에는, DMApi 구현(130)을 가진 운영 체계 커널(120)이 실행되고 있다.
원격 노드(remote node)(140) 상에는, 높은 저장 용량을 갖지만 낮은 데이터 접근이나 낮은 저장 성능을 가진 3차 저장 장치(150)이 구비되어 있는데, 이는 드물게 접근되는 데이터(infrequently accessed data)용으로 사용된다. 3차 저장 장치(150)은 종종 로보틱 테이프 라이브러리(robotic tape library)나 광학 디스크 자동 교환기(optical disk autochanger)이고, 네트워크 상의 다른 호스트와도 종종 연결된다. 2차 저장 장치와 3차 저장 장치(150) 간에 데이터를 이동시키는 프로세스(160)을 종종 데이터 이동(data migration)이라고 부른다.
파일 시스템 데이터 (상주 데이터(resident data))는 지역 디스크 상에 존재하고, 가능한, 3차 저장 장치(150) 상에 복제된다. 혹시라도 있는 상주 데이터로의 어떠한 지역적 변화(local change)도 3차 복사(tertiary copy)를 무효(invalidate)시켜야 한다. 비상주 데이터는 3차 저장 장치(150) 상에만 존재하고 사용자가 이에 접근할 수 있기 전에 지역 디스크로 복사되어야 한다. 만약 데이터가 먼저 지역 디스크로 복사되지 않는다면 DMApi 데이터 흐름 모델은 데이터에의 접근을 허용하지 않음에 주목해야 한다.
데이터를 3차 저장 장치(150)으로부터 지역 저장 장치 상의 파일로 전송하기 위하여, 이 DM 응용 프로그램(110)은 관리된 영역(managed region)이 설정(set)된동안 파일에 쓸 수 있다. 이 DMApi는, 이벤트 발생 코드를 우회(bypassing)시키는, "숨겨진(under cover)" 데이터에 접근하기 위한 특별한 인터페이스(미도시)를 제공한다. 이러한 인터페이스는 숨겨진 I/O(invisible I/O) 라고 불린다. 이러한 의미론은, 데이터 이벤트를 발생시키지 않고 파일 타임 스탬프(timestamps)를 수정하지 않는 다는 것을 제외하고, 통상적인 읽기(2) 및 쓰기(2) 시스템 호출(calls)과 유사하다.
3차 저장 장치(150)으로 파일 데이터를 보내기 위하여, 이 DM 응용 프로그램(110)은 표적 파일(target file)로의 접근 권한(rights)을 얻을 필요가 있다. 바쳐진(dedicated) DMApi 호출을 이용하여, 파일 데이터 뿐 아니라 파일 속성까지도 읽어 내어지고 원격 데이터 서버로 보내질 수 있다. 그 후 지역 저장 공간을 얻기 위하여 데이터 세그먼트(segment)가 (데이터 홀(data hole)을 펀칭하여) 비워질 수 있다. 이 데이터 홀이 소위 관리된 영역이다. 이 DM 접근 권한은 이 처리 과정 이후에 포기된다.
파일 시스템으로부터 메시지를 수신하기 위하여, DM 응용 프로그램(110)은 주어진 파일 시스템을 위하여 수신하고자 하는 일련의(a set of) DM 이벤트를 정의할 필요가 있다. 그 중에서도 특히, 이러한 이벤트는 장착(mounting) 또는 저장 공간(예를 들면, 공간 초과 통지(out-of-space notification))을 고려한 파일 시스템 상태 이벤트나 파일에의 읽기/쓰기/절단 접근(read/write/truncate access)일 수 있다
만일 사용자 응용 프로그램(170)이 펀칭된 파일(->관리된 영역)을 읽으면,이 DMApi는 이 응용 프로그램을 중지(suspend)시키고 메시지 대기열(queue)로 이벤트를 내보낸다. 적절한 DM 이벤트 성질(disposition)을 가진 DM 응용 프로그램은 이벤트를 읽어내고 원격 저장 장치로부터의 파일 데이터를 재 저장할 수 있다. 그 후, 이벤트는 반응하여 읽기 이벤트를 유발한 원래의 응용 프로그램을 부활(reactivate) (해제(unblock))시킨다.
티볼리 공간 관리자(Tivoli Space Manager)와 같은 HSM 구현은 보통 지역 저장 공간을 자동적으로 관리한다. 따라서 만약 파일 시스템이 정해진 사용 비율 (예를 들어 70%)을 초과하거나 공간 초과 이벤트를 발생하면, DM 디몬(daemon)은 정의된 저 문턱값(lower threshold)에 이를 때까지 발생된 후보 목록에 기초한 적격(eligible)의 파일들을 원격 서버로 이동시키기 시작한다.
도 2는 본 발명에 의한 4-노드 클러스터(200)의 초기 상태를 도시한 것이다. 노드 2는 "/gpfs1"이라 불리는 특정된 일반 병렬 파일 시스템(General Parallel File System) (GPFS)용 DM 서비스를 제공한다. 노드(1,3)은 노드(2)의 서비스를 인수하기 위한 잠정적 후보들 (페일오버 후보 노드들)이다. 노드(4)상에는 공유형 파일 시스템이 구현되지 않고, 따라서 적격이 없다. 구성 데이터는 IBM AIX SP 차원의 "시스템 데이터 저장소(system data repository)"(SDR)(210)에 저장되어 있다. 노드 고장을 추적(track)하고 정의된 노드들 그룹(defined group of nodes) (여기서는 클러스터에 참여한 노드들) 내에 메시지를 분산하는 통신 프로토콜(protocol)을 제공하는 SP 그룹 서비스(SP Group Service)(220)를 통하여 노드 간의 통신이 행해진다.
클러스터(200) 내의 균일한 구현은 클러스터(200) 내에 마련된 SDR(210)에서 모든 페일오버 노드(230 내지 250)용 구성 데이터를 저장함에 의하여 보장된다.
공유 환경은
- 파일 시스템의 구체적인 설정을 포함하여 클러스터(200)내에서 관리되는
파일 시스템의 목록
- 하나 또는 그 이상의 파일 시스템을 현재 관리하는 노드
- 원격 저장 서비스로의 접근 정보와 같은 부가적 구성 정보
를 알 필요가 있다.
게다가, 통신 인터페이스는 페일오버 환경의 참여한 노드들로 메시지 (예를 들어 노드의 고장 보고)를 분산시키기 위하여 제공된다 (적절한 고장 복구 통신 프로토콜에 대하여는 도 3을 참고하라).
통신 인스턴스(instance) (AIX SP 그룹 서비스와 같은)는 참여한 클러스터 노드가 관리 그룹(management group)을 형성하도록 하는 API를 제공한다. 통신 구조(architecture)에서 각 노드는 그룹 서비스 인스턴스(서버)의 클라이언트(client) (SP GS 세계에서의 소위 서비스 제공자)이다. 인터페이스로 보내지는 클라이언트 메시지는 참여한 그룹 멤버(member)에 자동적으로 분산된다. 이 AIX SP GS 메시지 통지는 이벤트 구동형(event-driven) (->콜백 기능(callback function))이다.
만일 어느 노드 상의 DM 응용 프로그램이 더이상 그 서비스를 제공할 수 없게 되면, 그 고장에 대하여 페일오버 그룹의 다른 멤버로 통지되어야 한다. 이는고장 노드로부터 활발히 되거나, 전체 노드 고장(크래쉬)의 경우에는 클러스터 통신 서비스 (예를 들어 SP GS)에 의하여 보고된다.
고장 통지에 기초하여, 고장 환경에서의 잠정적 인수 노드는 고장 노드에 의하여 원래 관리된 파일 시스템용 DM 서비스를 복구하기 위하여 이들이 동기되도록 노력해야 한다. 각 노드는 고장 노드의 서비스를 인계받는 것이 알맞은 지의 여부를 결정하기 위하여 중앙 데이터 저장소(210)에 저장된 공유 구성 데이터를 분석할 필요가 있다. 이 방식(procedure)의 결과는 다음과 같을 수 있다.
1. 후보 없음: 할일 없음 - 서비스는 복구되지 않음
2. 한 후보: 부가적인 동기화 노력 없이 서비스는 회복됨
3. 한 후보 이상: 서비스가 회복될 수 있으나 동기화가 필요함
위의 선택 사항 3을 고려할 때, 만약 노드들의 클러스터(200)이 공유 메모리 (예를 들어, IBM SP와 같은 독립 머신의 클러스터)를 통하여 통신하지 않는다면 서로 다른 노드를 동기시키기 위한 추가의 노력이 필요하다. 고장 노드의 파일 시스템을 인수하기 위하여 몇 후보 간의 동기화는
a) 동기적이거나
b) 비동기적일 수 있다.
도 3은 본 발명에 따른 방법의 제1 실시예를 도 2에서 도시한 것과 같은 4-노드 클러스터에서 도시한 것이다. 이는 하나의 고장 노드(300)의 서비스를 인수하기 위한 몇 개의 페일오버 후보 노드 간의 동기적, 즉 통신 근간의 (communication-based) 동기화를 제공한다.
클러스터의 서로 다른 노드 간의 페일오버 기능성을 제공하기 위하여 이 DM 응용 프로그램은 고장 복구 프로세스에 참여해야 하는 모든 노드 상에 설치(install)될 필요가 있다. 초기 설정에서 이러한 노드 중 적어도 하나는 특별한 파일 시스템용 데이터 관리(data management) (DM) 서비스를 제공한다. 잠정적 페일오버 후보(310,320)는 배후(background)에서 휴지(sleeping)로 유지되거나 다른 파일 시스템용 서비스를 제공한다.
적격 노드(310,320)은 그룹의 다른 멤버(310,320,350)로 메시지를 분산시키기 위하여, 전술한 그룹 서비스와 같은 바쳐진 클러스터 통신 서비스(330)에 의하여 처리되는 클러스터 통신 메카니즘을 통하여 하나의 메시지를 내보낸다. 이 메시지는 우선 키(priority key)(340)를 (예를 들어, 노드의 작업 부하(workload)(360)에 기초함) 포함한다.
이 방법은 바람직하게는 AIX SP에 사용되는 시스템 데이터 저장소 (SDR)에 의하여 제공되는 명령 인터페이스(command interface)에 기초한 블로킹 메카니즘(blocking mechanism)을 제공한다. 이 SDR은 주어진 데이터 기록 유형에 대한 지속되는(persistent) 데이터 객체를 만들고 수정(modify)하는 것을 허용한다. 기본 연산(atomic operation)에서 데이터 객체를 점검(check)하고 수정하며, 이로써 공유 HSM 자원 상의 잠금(lock)(시스템 뮤텍스와 유사)을 설정하는 것을 가능하게 하는데, 본 발명에서 이는 다음과 같이 IF-THEN 조건부 단계로서 수행된다.
if(lock==0) then {lock = 1}
만약 이러한 점검이 실패하면, 다시 시도하기 전에 호출자(caller)는 잠시대기한다. 잠금에 더하여 연이은 노드 역시 잠금 세목(specific) 타임 스탬프 (클러스터 차원의 동기된 클럭에 기초함)를 갱신할 필요가 있다. 만약 잠금을 유지(hold)하는 노드가 크래쉬되면 대기 노드가 잠금에 영구히 접근하려 시도하는데, 이는 명백히 바람직하지 않은 것이다.
서비스 인수는 약 60 초 정도의 시간을 필요로 할 수 있다. 이제 만약 잠금을 위한 타임 스탬프가 이러한 60 초보다 오래되면 후보 노드는 잠금을 유지하는 노드가 복구되지 않고 잠금의 인수(타임 스탬프를 다시 갱신하면서)를 자유로이 강제하려 한다고 추정할 수 있다. 공유 HSM 자원의 접근이 완료된 후, 잠금은 영(zero)으로 재설정 된다.
이상에서 살펴본 우선 키는 UNIX 업타임(uptime) 명령에 기반을 둔다. 업타임은 다른 데이터 이외에도 최종 15 분 동안의 시스템 작업 부하를 보고한다. 보고된 작업 부하가 높을 수록 우선 키의 값은 낮아진다.
메시지를 수신하는 노드는 입력되는 키를 그 자신의 것과 맞추어 볼 수 있다. 최상의 키(380)은 서비스를 인계받을 수 있는 권한을 얻는다. 키를 내보내는 잠정적 백업 노드의 개수는 시스템에서 알려지지 않고, 따라서 선출 단계(voting phase)는 정해진 일시 중지(timeout)(370) 후에 끝낼 필요가 있다. 권한을 얻은 노드는 그의 현재 액티브 HSM 구성에 하나 또는 그 이상의 파일 시스템을 추가하든지 HSM 서비스(380)을 개시(start up)한다. 전형적인 DMApi 기반의 응용 프로그램은 표적 파일(들)을 위하여 발생된 모든 도착 이벤트(incoming event)를 인수하도록 이벤트 마스크(mask)를 설정할 필요가 있다. 서비스를 인계받는 노드는일관성(consistency)을 보증하기 위하여 중앙 데이터 저장소 내의 구성 파일들을 갱신할 필요가 있다. 이 갱신 메카니즘은 경쟁 조건(race condition)을 피하기 위하여 록킹 메카니즘(위 참조)에 의하여 행해진다. 나머지는 슬리핑 백업(sleeping backup)으로 남거나 또는 자신의 HSM 파일 시스템 상의 서비스를 계속한다. 만약 노드가 투표 단계에서 지연되면 고장난 노드를 가진 소유자 파일에서 정의된 액티브 노드와 일치(match)될 수 있다. 만약 불일치가 있다면 인수가 이미 일어나 버렸기 때문에 제어를 시도하는 것을 중지한다.
위에서 살펴본 것과 같은 동기적 다단계 핸드쉐이크 메카니즘(multi-phase handshake mechanism)에 의하여 상황을 처리하는 것은 상태 정보를 일정 시간동안 유지하는 것이 필요하고, 상당한 통신 부담이 수반된다. 초기 인수 노드가 고장 노드의 모든 파일 시스템(예를 들어 장착되지 않은 파일 시스템)을 관리하지 못할 수도 있기 때문에 파일 시스템마다 선출(vote)하는 것이 필요하다.
도 4는 페일오버 후보 간의 동기화가 비동기식 (데이터 잠금에 기초) 프로토콜을 통하여 이루어지는 다른 실시예를 도시한 것이다. 본 실시예는 3개의 노드를 가진 상황으로 도시하였다. 각 노드는 구성 파일들을 단순히 로킹, 갱신 그리고 해제함에 의하여 파일 시스템을 경쟁하여 인계받을 수 있다. 클러스터 데이터 저장소에서의 구성 파일들을 잠그고 수정할 수 있었던 노드가 고장 노드로부터 파일 시스템을 인계받을 권한을 얻는다. 페일오버 요청은 지연된 노드들에 더 연속적으로 수행되는데 이는 그 전의 인수 노드에 의하여 서비스될 수 없는 나머지 파일 시스템을 인수하도록 할 수도 있다 . 도 3에서와 같은 동기식 접근 방법과 대비할때, 전술한 비동기식 페일오버 메카니즘은 페일오버 그룹의 노드 간의 명시적인 메시지를 필요로 하지 않는다.
고장 시에 고장 노드는 파일 시스템으로부터의 데이터 관리(DM) 이벤트를 처리할 수 있다. 그러한 이벤트를 발생하는 프로세스는 파일의 데이터가 원격 저장 서버로부터 회수되고 나서 DM 응용 프로그램이 이벤트를 해제할 때까지 DMApi 환경에 의하여 블로킹된다. 서비스를 인계받는 노드는 현재의(existing) DMApi 세션을 사용하고, 만약 존재하지 않는 경우는 새로운 DMApi 세션을 생성한다. 게다가, 이는 고장 노드로부터의 세션으로 추정한다. 고장난 노드로부터의 현안의(pending) 이벤트는 잠정적 DMApi 세션으로 이동하고 이벤트의 종류에 의존하여 다른 방법으로 관리된다. 이는 블로킹된 프로세스가 다시 해제되는 것을 보장한다.
도 5는 원격 데이터 회수 요청의 인수를 도식화 한 것이다. GPFS HSM상에서 DMApi은 만약 GPFS 데몬이 죽으면(비정상적으로, 노드 크래쉬에 기인, 사용자 요청에 의하여) 이러한 종류의 이벤트 인수를 지원한다.
통신 이벤트의 종류에 따라 DM 응용 프로그램을 처리하는 것 역시 동시발생 스레드(concurrent thread)를 가진 문제를 피하기 위하여 일종의 큐잉(queuing)을 필요로 할 수도 있다. 대체로 모든 프로세스/스레드는 중앙 데이터 저장소에서의 잠긴 데이터 객체에 의하여 블로킹되나 이는 바람직하지 않은 분주한 대기(busy waiting)를 일으킨다. 단일 스레드형 환경(single threaded environment)에서 입력되는 요청은 단순한 FIFO 목록에 저장될 수 있다. 다중 스레드형 환경에서 동기화는 시스템 뮤텍스나 조건 변수들(conditional variables)에 의하여 성취될 수 있다.
마지막으로, 도 6은 IBM SP상의 AIX용 GPFS HSM에서 본 발명의 그룹 서비스 구현을 도시한 것이다.
도시한 SP 환경은
전 클러스터 차원의(cluster-wide) 통신 프로토콜에 더하여 노드 크래쉬에 대한 추적 메카니즘을 제공하는 그룹 서비스 (GS)(600)과,
전 클러스터 차원의 구성 파일들을 저장하는 시스템 데이터 저장소 (SDR)(610)으로
특징지어진다.
이 SP 그룹 서비스는 임의의 노드 상에 분산된 프로세스 실행으로 이루어지는 통신 그룹을 형성하는 메카니즘을 제공한다. 참여한 프로세스는 메시지들을 그룹의 모든 멤버로 분산시킬 수 있다. 게다가, 그룹 서비스는 멤버 프로세스의 수명 상태(life status) - 페일오버 메카니즘을 발동하는 그룹 멤버에 프로세스 (->전체 노드) 고장을 보고하는데 사용될 수 있는 특징 - 를 감시하도록 지시를 받을 수 있다.
AIX SP상의 GPFS HSM의 작업은
- dsmwatchd(620,630,640): 모든 페일오버/복구 활동용 초점(focal point)
- dsmrecalld(680,690,700): 이동된 데이터를 원격 저장 서버로부터 다시 회수할 책임이 있음
- dsmmonitord(650,660,670): 파일 시스템의 용량 초과 조건과 원격 저장 서버로의 자동 데이터 이동을 책임짐
의 3가지 데몬으로 구분된다.
이 dsmwatchd는 기본적으로 다음의 두 작업을 실행한다.
S 주 프로세스 (DM 스레드)(720)에 의하여 행해지는 크래쉬된 dsmmonitord
와 dsmrecalld의 복구
S ·망가진(corrupted) 지역 환경 (GPFS 데몬 크래쉬/ 정지
(crash/shutdown), 노드 크래쉬, 망가진 HSM 데몬)의 경우에 적극적 페
일 오버
·원격 고장 노드의 파일 시스템의 적극적 인수
를 포함하는 콜백 스레드(730)에 의하여 발동되는 페일오버 환경을 관리
첫 번째 작업 1에 따라서, 이 dsmwatchd가 DM 서비스가 동작준비(up)인지를 확인하고 dsmrecalld가 실제로 동작하는 것을 보장하기 위하여 DM 호출을 통하여 dsmrecalld를 "핑(ping)"한다. 만약 dsmwatchd가 더이상 dsmrecalld를 핑(ping)할수 없으면 이는 dsmrecalld를 한번 재 시작하려 할 것이고 만약 성공하지 못하면 DM 환경이 망가졌다는 가정에 기초하여 다른 노드로 페일오버를 개시하려 할 것이다. 게다가 만약 PID가 더이상 존재하지 않으면 표적 데몬을 재 시작하려고 프로세스 ID를 추적한다.
두 번째 작업 2에 따라서, SP 그룹 서비스(GS) 동작은 전술한 바와 같이 구현된다. 동기적 동작은 종종 어떤 GS 제한으로 인하여 일어날 수 없기 때문에 이 인수 메카니즘은 바람직하게는 비동기적으로 동작한다. 다중 페일오버 요청은 스레드 뮤텍스에 의하여 대기(queued)된다.
이상에서 살펴본 바와 같이 본 발명은, 하나의 노드가 더이상 데이터 접근 서비스를 제공할 수 없음을 인정하고, 이에 따라 다른 노드 상에서 데이터 접근 서비스를 복구하기 위하여 페일오버 요구(request)를 발동(trigger)하거나, 한 노드의 전체 고장인 경우에, 페일오버 후보 노드들에게로 고장 이벤트를 분산시키는 클러스터 서비스 형태를 취함으로서, 단지 하나의 메카니즘만으로 두 가지 유형의 고장을 해결할 수 있다.

Claims (12)

  1. 서비스를 제공하는 소결합된 노드들(loosely coupled nodes)의 클러스터를 가진 분산형 계산 환경에서의 공유 디스크 파일 시스템용 데이터 관리 응용 프로그램의 페일오버(failover)를 처리하기 위한 방법으로서,
    상기 클러스터의 임의의 노드들을 페일오버 후보 노드로 정의하는 단계,
    상기 페일오버 후보 노드 모두에 대한 구성 정보를 저장하는 단계,
    적어도 하나의 페일오버 후보 노드의 고장 정보를 포함하는 메시지 정보를 상기 페일오버 후보 노드들 간에 분산시키는 단계,
    고장 노드의 서비스를 페일오버 후보 노드가 인계받을지의 여부를 결정하기 위하여 상기 분산된 메시지 정보와 상기 저장된 구성 정보를 분석하는 단계, 및
    적어도 하나의 페일오버 후보 노드가 고장 노드의 서비스를 인계받는 경우에 상기 구성 정보를 갱신하는 단계
    를 포함하는 페일오버 처리 방법.
  2. 제1항에 있어서, 제1 페일오버 후보가 상기 고장 노드로부터 상기 파일 시스템의 일부만을 인계받는 경우, 적어도 제2 페일오버 후보에게로 페일오버 요청을 하는 페일오버 처리 방법.
  3. 제1항에 있어서, 상기 구성 정보는 상기 클러스터 내에 마련된 중앙 데이터저장 장치에 저장되는 페일오버 처리 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 분산된 메시지 정보는 적어도 한 노드에 대한 고장 보고 사항을 포함하는 페일오버 처리 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 페일오버 후보 노드들은 상기 분산된 메시지 정보의 일부로서 분산되어 있는 상기 각 페일오버 후보 노드의 작업 부하에 관련된 우선 키(priority key)를 계산하는 페일오버 처리 방법.
  6. 제5항에 있어서, 상기 우선 키를 수신하는 페일오버 후보 노드들은 상기 수신된 우선 키와 그들 자신의 우선키를 비교하여 최상의 우선 키가 상기 서비스를 인계받을 권한을 갖도록 하는 페일오버 처리 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 구성 정보의 갱신은 로킹 메카니즘(locking mechanism)에 의하여 처리되는 페일오버 처리 방법.
  8. 서비스를 제공하는 소결합 노드들의 클러스터를 가지는 분산형 계산 환경에서 공유 디스크 파일 시스템용 데이터 관리 응용 프로그램의 페일오버를 처리하도록 구현된 컴퓨터 가독성 프로그램 코드 수단(computer readable program code means)을 수록한 컴퓨터 가용성 매체(computer usable medium)를 포함하는 제품으로서, 상기 제품에서의 컴퓨터 가독성 프로그램 코드 수단은 컴퓨터로 하여금
    상기 클러스터의 임의의 노드들을 페일오버 후보 노드로 정의하는 단계,
    상기 페일오버 후보 노드 모두에 대한 구성 정보를 저장하는 단계,
    적어도 하나의 페일오버 후보 노드의 고장 정보를 포함하는 메시지 정보를 상기 페일오버 후보 노드 간에 분산시키는 단계,
    고장 노드의 서비스를 페일오버 후보 노드가 인계받을지의 여부를 결정하기 위하여 상기 분산된 메시지 정보와 상기 저장된 구성 정보를 분석하는 단계, 및
    적어도 하나의 페일오버 후보 노드가 고장 노드의 서비스를 인계받는 경우에 상기 구성 정보를 갱신하는 단계
    를 수행하기 위한 위한 컴퓨터 가독성 프로그램 코드 수단을 포함하는 제품.
  9. 서비스를 제공하는 소결합 노드들의 클러스터를 가지는 분산형 계산 환경에서 공유 디스크 파일 시스템용 데이터 관리 응용 프로그램의 페일오버를 처리하기 위한 시스템으로서,
    페일오버 후보 노드들에 대한 구성 정보를 저장하기 위한 데이터 저장 수단,
    페일오버 후보 노드들 간에 메시지 정보를 분산시키기 위한 통신 인터페이스 수단,
    고장 노드의 서비스를 페일오버 후보 노드가 인계받을지의 여부를 결정하기 위하여 상기 메시지 정보와 상기 구성 정보를 분석하는 수단, 및
    적어도 하나의 페일오버 후보 노드가 고장 노드의 서비스를 인계받는 경우에상기 구성 정보를 갱신하는 수단
    을 포함하는 시스템.
  10. 제9항에 있어서, 상기 페일오버 처리를 연속 수행(cascading)하는 수단을 추가로 포함함으로써, 제1 페일오버 후보가 상기 고장 노드로부터 상기 파일 시스템의 일부만을 계받는 경우, 적어도 제2 페일오버 후보로 페일오버 요청을 수행하는 시스템.
  11. 제9항에 있어서, 상기 데이터 저장 수단이 상기 클러스터 내에 마련된 중앙 데이터 저장 장치인 시스템.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 구성 정보를 갱신하는 수단은 고장 노드의 서비스를 인계받는 페일오버 후보에 위치하는 시스템.
KR10-2001-0044036A 2000-07-28 2001-07-21 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버 KR100423687B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00116453.2 2000-07-28
EP00116453 2000-07-28

Publications (2)

Publication Number Publication Date
KR20020010490A true KR20020010490A (ko) 2002-02-04
KR100423687B1 KR100423687B1 (ko) 2004-03-18

Family

ID=8169395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0044036A KR100423687B1 (ko) 2000-07-28 2001-07-21 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버

Country Status (6)

Country Link
US (2) US6990606B2 (ko)
JP (1) JP4204769B2 (ko)
KR (1) KR100423687B1 (ko)
CN (1) CN1190733C (ko)
DE (1) DE10134492B4 (ko)
SG (1) SG99917A1 (ko)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6890968B2 (en) * 2001-05-16 2005-05-10 Kerr Corporation Prepolymerized filler in dental restorative composite
US7409420B2 (en) * 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US7702791B2 (en) 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7403996B2 (en) 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US20030177224A1 (en) * 2002-03-15 2003-09-18 Nguyen Minh Q. Clustered/fail-over remote hardware management system
CA2497306A1 (en) * 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for integrating primary data storage with local and remote data protection
US7814050B2 (en) * 2002-10-22 2010-10-12 Brocade Communications Systems, Inc. Disaster recovery
CN1302411C (zh) * 2002-12-31 2007-02-28 联想(北京)有限公司 大型机群系统的集中控制方法
CN1317658C (zh) * 2002-12-31 2007-05-23 联想(北京)有限公司 利用机群节点相互备份的容错方法
US7137040B2 (en) * 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
CN1326045C (zh) * 2003-06-09 2007-07-11 浪潮电子信息产业股份有限公司 构建高可用分布式存储系统的方法
US20060064400A1 (en) * 2004-09-21 2006-03-23 Oracle International Corporation, A California Corporation Methods, systems and software for identifying and managing database work
US7747717B2 (en) * 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7664847B2 (en) * 2003-08-14 2010-02-16 Oracle International Corporation Managing workload by service
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
JP4023441B2 (ja) 2003-12-09 2007-12-19 日本電気株式会社 コンピュータシステム及びプログラム
DE102004005128B3 (de) * 2004-02-02 2005-01-05 Fujitsu Siemens Computers Gmbh Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
US7584382B2 (en) * 2004-02-19 2009-09-01 Microsoft Corporation Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems
US7900206B1 (en) * 2004-03-31 2011-03-01 Symantec Operating Corporation Information technology process workflow for data centers
JP4382602B2 (ja) * 2004-04-23 2009-12-16 株式会社日立製作所 リモートコピーシステム
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US8195976B2 (en) * 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
US8326990B1 (en) 2005-07-15 2012-12-04 Symantec Operating Corporation Automated optimal workload balancing during failover in share-nothing database systems
US7814065B2 (en) * 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
WO2007035747A2 (en) * 2005-09-19 2007-03-29 Millennium It (Usa) Inc. Scalable fault tolerant system
JP4730263B2 (ja) * 2005-09-21 2011-07-20 富士ゼロックス株式会社 画像処理装置の保守システム
US7493512B2 (en) * 2005-10-04 2009-02-17 First Data Corporation System and method for providing data services via a network
US7761431B2 (en) * 2006-02-16 2010-07-20 International Business Machines Corporation Consolidating session information for a cluster of sessions in a coupled session environment
JP4699516B2 (ja) * 2006-03-28 2011-06-15 富士通株式会社 名前空間複製プログラム、名前空間複製装置、名前空間複製方法
US7770063B2 (en) 2006-08-26 2010-08-03 International Business Machines Corporation Simulation of failure recovery within clustered systems
US20080077635A1 (en) * 2006-09-22 2008-03-27 Digital Bazaar, Inc. Highly Available Clustered Storage Network
US7992036B2 (en) * 2007-01-22 2011-08-02 International Business Machines Corporation Apparatus, system, and method for volume-level restoration of cluster server data
JP5341317B2 (ja) * 2007-01-30 2013-11-13 セイコーエプソン株式会社 アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
US8713186B2 (en) * 2007-03-13 2014-04-29 Oracle International Corporation Server-side connection resource pooling
US7734947B1 (en) * 2007-04-17 2010-06-08 Netapp, Inc. System and method for virtual interface failover within a cluster
JP2008269462A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd ノードの管理装置及び方法
US7958385B1 (en) 2007-04-30 2011-06-07 Netapp, Inc. System and method for verification and enforcement of virtual interface failover within a cluster
US8984108B2 (en) * 2007-05-03 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Dynamic CLI mapping for clustered software entities
CA2630014C (en) * 2007-05-18 2014-05-27 Nec Infrontia Corporation Main device redundancy configuration and main device replacing method
US7631214B2 (en) * 2007-05-31 2009-12-08 International Business Machines Corporation Failover processing in multi-tier distributed data-handling systems
US7861111B2 (en) * 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
US7921324B2 (en) * 2007-07-12 2011-04-05 International Business Machines Corporation Providing file system availability during local path failure of a non-server node
US8527622B2 (en) * 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US8630415B2 (en) * 2008-01-25 2014-01-14 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for authentication service application processes during service reallocation in high availability clusters
CN101552690B (zh) * 2008-03-31 2011-04-06 华为技术有限公司 一种节点维护功能的配置方法、系统及节点设备
US8135981B1 (en) * 2008-06-30 2012-03-13 Symantec Corporation Method, apparatus and system to automate detection of anomalies for storage and replication within a high availability disaster recovery environment
US8399206B2 (en) * 2008-07-10 2013-03-19 Nodality, Inc. Methods for diagnosis, prognosis and methods of treatment
US7827321B2 (en) * 2008-10-02 2010-11-02 International Business Machines Corporation Central processing unit measurement facility
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8037364B2 (en) * 2009-01-09 2011-10-11 International Business Machines Corporation Forced management module failover by BMC impeachment consensus
CN101847148B (zh) * 2009-03-23 2013-03-20 国际商业机器公司 实现应用高可用性的方法和装置
CN101854373B (zh) * 2009-04-01 2013-10-09 华为技术有限公司 任务切换方法、服务器节点及集群系统
US8873377B2 (en) * 2009-11-18 2014-10-28 Juniper Networks, Inc. Method and apparatus for hitless failover in networking systems using single database
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9098439B2 (en) 2012-01-05 2015-08-04 International Business Machines Corporation Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs
CN102609531B (zh) * 2012-02-14 2015-05-06 北京鼎普科技股份有限公司 一种根据关键字反查文件的方法
US8738701B2 (en) * 2012-02-28 2014-05-27 Microsoft Corporation Arbitration of disk ownership in a storage pool
TWI610166B (zh) 2012-06-04 2018-01-01 飛康國際網路科技股份有限公司 自動災難復原和資料遷移系統及方法
US9753954B2 (en) * 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US9116860B2 (en) 2012-12-14 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9122652B2 (en) * 2012-12-17 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9755889B2 (en) * 2013-02-13 2017-09-05 International Business Machines Corporation Service failover and failback using enterprise service bus
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9104643B2 (en) * 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
CN103366106A (zh) * 2013-06-21 2013-10-23 国家电网公司 远程数据恢复系统客户端安全监控方法
US9170746B2 (en) 2014-01-07 2015-10-27 Netapp, Inc. Clustered raid assimilation management
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
GB2529436B (en) 2014-08-20 2016-05-18 Ibm Grouping file system events to perform continuous file system monitoring and backup
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9811428B2 (en) * 2014-09-22 2017-11-07 Netapp Inc. System and method for handling multi-node failures in a disaster recovery cluster
US20160092287A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Evidence-based replacement of storage nodes
JP6388290B2 (ja) * 2014-11-12 2018-09-12 華為技術有限公司Huawei Technologies Co.,Ltd. 分散システムにおけるロック・サーバの故障を処理するための方法およびシステム
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
CN104410698B (zh) * 2014-12-03 2019-03-08 天津南大通用数据技术股份有限公司 一种share nothing集群下的发起节点异常处理方法及装置
WO2016098142A1 (ja) * 2014-12-18 2016-06-23 三菱電機株式会社 産業コントローラおよび産業コントローラシステム
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9813492B2 (en) * 2015-05-18 2017-11-07 Oracle International Corporation System and method for automatic migration of poller proxy services in a service bus environment
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10235059B2 (en) 2015-12-01 2019-03-19 Netapp, Inc. Technique for maintaining consistent I/O processing throughput in a storage system
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10474653B2 (en) 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
US10331523B2 (en) 2017-04-04 2019-06-25 International Business Machines Corporation Recovering a failed clustered system using configuration data fragments
CN107122271B (zh) * 2017-04-13 2020-07-07 华为技术有限公司 一种恢复节点事件的方法、装置及系统
CN111095233B (zh) * 2017-09-28 2023-09-26 深圳清华大学研究院 混合文件系统架构、文件存储、动态迁移及其应用
JP7203102B2 (ja) * 2017-10-31 2023-01-12 アビニシオ テクノロジー エルエルシー コンピュータクラスタインターフェースを管理すること
CN110113395B (zh) * 2019-04-19 2021-11-09 新华三云计算技术有限公司 共享文件系统维护方法及装置
CN110286732B (zh) * 2019-06-27 2021-01-12 华云数据控股集团有限公司 高可用集群掉电自动恢复方法、装置、设备及存储介质
US11347601B1 (en) * 2021-01-28 2022-05-31 Wells Fargo Bank, N.A. Managing data center failure events
US11438224B1 (en) 2022-01-14 2022-09-06 Bank Of America Corporation Systems and methods for synchronizing configurations across multiple computing clusters

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136498A (en) 1990-09-26 1992-08-04 Honeywell Inc. Method for enacting failover of a 1:1 redundant pair of slave processors
JP2814880B2 (ja) * 1993-06-04 1998-10-27 日本電気株式会社 異なる命令特性を持つ複数のcpuによって構成される計算機システムの制御装置
JP3296378B2 (ja) 1993-08-27 2002-06-24 株式会社東芝 コンピュータバックアップシステム
US5561759A (en) * 1993-12-27 1996-10-01 Sybase, Inc. Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions
JP3300776B2 (ja) 1994-03-15 2002-07-08 株式会社日立製作所 並列プロセッサの切替え制御方式
JPH07334468A (ja) 1994-06-07 1995-12-22 Toshiba Corp 負荷分散方式
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
US6012150A (en) 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US5875290A (en) * 1997-03-27 1999-02-23 International Business Machines Corporation Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system
JPH11184825A (ja) 1997-12-19 1999-07-09 Mitsubishi Electric Corp クラスタシステム
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6195760B1 (en) 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters

Also Published As

Publication number Publication date
CN1190733C (zh) 2005-02-23
JP4204769B2 (ja) 2009-01-07
US7523345B2 (en) 2009-04-21
US20020073354A1 (en) 2002-06-13
DE10134492B4 (de) 2006-02-09
JP2002091938A (ja) 2002-03-29
US6990606B2 (en) 2006-01-24
KR100423687B1 (ko) 2004-03-18
CN1336589A (zh) 2002-02-20
SG99917A1 (en) 2003-11-27
DE10134492A1 (de) 2002-02-21
US20060010338A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
KR100423687B1 (ko) 소결합 노드 클러스터에서의 공유 디스크 파일 시스템용데이터 관리 응용 프로그램의 연속 수행 페일오버
EP1024428B1 (en) Managing a clustered computer system
US6393485B1 (en) Method and apparatus for managing clustered computer systems
US7802128B2 (en) Method to avoid continuous application failovers in a cluster
US9785691B2 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
US5095421A (en) Transaction processing facility within an operating system environment
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
US20030187927A1 (en) Clustering infrastructure system and method
US7366742B1 (en) System and method for distributed discovery and management of frozen images in a storage environment
US6594779B1 (en) Method, system and program products for managing the checkpointing/restarting of resources of a computing environment
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的系统和方法
US11550820B2 (en) System and method for partition-scoped snapshot creation in a distributed data computing environment
US7840940B2 (en) Semantic management method for logging or replaying non-deterministic operations within the execution of an application process
US7203863B2 (en) Distributed transaction state management through application server clustering
JP2000194678A (ja) クラスタコンピュ―タシステムにおける高度に利用可能な非同期i/o
Narasimhan et al. Strongly consistent replication and recovery of fault-tolerant CORBA applications
Natarajan et al. Applying patterns to improve the performance of fault tolerant CORBA
US7533296B2 (en) Method for optimizing the transmission of logging data in a multi-computer environment and a system implementing this method
CA2619778C (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
CN113934575A (zh) 一种基于分布式拷贝的大数据备份系统及方法
CN112069160A (zh) 一种基于cap数据清洗同步方法
US7925932B1 (en) Method and appartus for detecting an application process failure
Laranjeira NCAPS: Application high availability in UNIX computer clusters
Kuhn et al. Oracle Processes
Clusterware RAC Concepts

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120229

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee