Solaris OS용 Sun Cluster 개념 안내서

새 데이터 서비스 개발

Sun에서는 클러스터에서 여러 응용 프로그램이 페일오버 또는 확장 가능한 서비스로 작동하도록 할 수 있는 구성 파일과 관리 메소드 템플리트를 제공합니다. 고가용성 데이터 서비스로 실행할 응용 프로그램이 현재 Sun에서 제공되는 것이 아니면, API 또는 DSDL API을 사용하여 응용 프로그램을 취하고 이를 고가용성 데이터 서비스로 실행되도록 구성할 수 있습니다.

응용 프로그램이 페일오버 서비스가 될 수 있도록 할 것인지를 결정하는 기준이 있습니다. 자세한 기준은 응용 프로그램에 사용할 수 있는 API를 설명하는 SunPlex 문서에서 설명합니다.

여기서 사용하는 서비스가 확장 가능 데이터 서비스 구조의 장점을 취할 수 있는지 알 수 있도록 도와주는 일부 지침을 제시하기로 하겠습니다. 확장 가능 서비스에 대한 자세한 내용은 확장 가능 데이터 서비스 절을 참조하십시오.

다음 지침을 만족시키는 새로운 서비스는 확장 가능 서비스로 사용할 수 있습니다. 기존의 서비스가 이러한 지침을 정확하게 따르지 않으면, 서비스가 지침을 따르도록 부분을 재작성해야 할 수도 있습니다.

확장 가능 데이터 서비스는 다음 특징을 가집니다. 먼저 이러한 서비스는 하나 이상의 서버 인스턴스로 구성됩니다. 각 인스턴스는 클러스터의 서로 다른 노드에서 실행됩니다. 동일한 서비스에서 두 개 이상의 인스턴스가 동일한 노드에서 실행될 수는 없습니다.

두 번째, 서비스가 외부 논리 데이터 저장소를 제공할 경우, 여러 서버 인스턴스로부터 이 저장소로의 동시 액세스를 동기화하여, 업데이트 사항을 손실하거나 데이터가 변경되는 동안 데이터를 읽는 일이 발생하지 않도록 해야 합니다. 저장소에 저장된 상태를 메모리 내에 기억된 상태와 구별하기 위해 “외부”라고 표현하고, 저장소가 복제될 수는 있지만 단일 엔티티로 표시되기 때문에 “논리”라고 합니다. 게다가, 이 논리 데이터 저장소에는 서버 인스턴스가 저장소를 업데이트할 때마다 다른 인스턴스가 업데이트 사항을 즉시 볼 수 있도록 하는 등록 정보가 있습니다.

SunPlex 시스템은 클러스터 파일 시스템과 전역 원시 분할 영역을 통해 이러한 외부 저장 장치를 제공합니다. 예를 들면, 서비스가 새로운 데이터를 외부 로그 파일에 기록하거나 기존 데이터를 제 위치에서 수정한다고 가정합시다. 이 서비스의 여러 인스턴스가 실행될 경우, 각 인스턴스는 이 외부 로그에 대한 액세스를 가지므로 각각은 동시에 이 로그에 액세스할 수도 있습니다. 각 인스턴스는 해당되는 액세스를 이 로그에 동기화해야 합니다. 그렇지 않으면, 인스턴스는 서로 간섭합니다. 서비스는 fcntl(2)lockf(3C) 명령을 통한 일반 Solaris 파일 잠금을 사용하여 원하는 동기화를 수행할 수 있습니다.

이런 저장소 유형의 다른 예는 가용성이 큰 Oracle 또는 SPARC 기반 클러스터를 위한 Oracle Real Application Clusters와 같은 백엔드 데이터베이스입니다. 그러한 백엔드 데이터베이스 서버는 데이터베이스 조회와 업데이트 트랜잭션을 사용하여 내장된 동기화를 제공하므로, 여러 서버 인스턴스가 자체의 고유 동기화를 구현하지 않아도 됩니다.

현재 모습에서 확장 가능 서비스가 아닌 서비스의 예는 Sun의 IMAP 서버입니다. 이 서비스는 저장소를 업데이트하지만, 그 저장소는 개인용이므로 여러 IMAP 인스턴스가 저장소에 기록하면 업데이트 작업이 동기화되지 않았기 때문에 인스턴스들 간에 서로 덮어쓰게 됩니다. IMAP 서버는 동시 액세스를 동기화하기 위해 다시 작성해야 합니다.

마지막으로, 인스턴스에는 다른 인스턴스의 데이터에서 분리된 개인용 데이터가 있을 수 있다는 점에 유의하십시오. 그러한 경우, 데이터는 개인용이고, 해당되는 인스턴스만 이를 조작할 수 있으므로 서비스는 자체를 동시 액세스에 동기화하는데 관여하지 않아도 됩니다. 이 경우, 전역으로 액세스할 수 있게 될 수도 있으므로 클러스터 파일 시스템 아래에 개인 데이터를 저장하지 않도록 주의해야 합니다.

데이터 서비스 API 및 데이터 서비스 개발 라이브러리 API

SunPlex 시스템은 응용 프로그램의 가용성을 높이기 위하여 다음과 같은 기능을 제공합니다.

Sun Cluster Data Services Planning and Administration Guide for Solaris OS는 SunPlex 시스템과 함께 제공된 데이터 서비스를 설치하고 구성하는 방법을 설명합니다. Sun Cluster 3.1 9/04 Software Collection for Solaris OS(SPARC Platform Edition)은 Sun Cluster 프레임워크에서 다른 응용 프로그램을 사용하여 가용성을 높이는 방법을 설명합니다.

응용 프로그램 프로그래머가 Sun Cluster API를 사용하면 데이터 서비스 인스턴스를 시작하고 중지하는 스크립트와 오류 모니터를 개발할 수 있습니다. 이러한 도구를 사용하면, 응용 프로그램에 페일오버 또는 확장 가능 데이터 서비스 중 어느 것을 제공할 것인지 측정할 수 있습니다. 또한 SunPlex 시스템은 응용 프로그램을 페일오버 서비스나 확장 가능 서비스로 실행하기 위해 필요한 시작 및 중지 메소드를 신속하게 만들기 위해 사용할 수 있는 “일반” 데이터 서비스를 제공합니다.