Sun Cluster 3.0 개념

새로운 데이터 서비스 개발

Sun은 하나의 클러스터 내에서 다양한 응용프로그램이 고가용성 데이터 서비스처럼 작동하도록 만드는 소프트웨어를 제공합니다. 고가용성 데이터 서비스로 실행할 응용프로그램이 현재 Sun에서 제공되는 것이 아니면, API 또는 DSDL API을 사용하여 응용프로그램을 취하고 이를 고가용성 데이터 서비스로 실행되도록 구성할 수 있습니다. 데이터 서비스에는 페일오버와 확장가능 두 가지의 주요 기능이 있습니다. 응용프로그램이 이러한 데이터 서비스 주요 기능 중 하나를 사용할 수 있는지 판별하기 위한 일련의 기준이 있습니다. 특정 기준은 응용프로그램에 대해 사용할 수 있는 API를 설명하는 Sun Cluster 문서에 설명됩니다.

여기서, 사용하는 서비스가 확장가능 데이터 서비스 구조의 장점을 취할 수 있는지 알 수 있도록 도와주는 일부 지침을 제시하기로 하겠습니다. 확장가능 서비스에 대한 일반적인 정보는 "확장가능 데이터 서비스" 부분을 참조하십시오.

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

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

두 번째, 서비스가 외부 논리 데이터 저장소를 제공할 경우, 여러 서버 인스턴스로부터 이 저장소로의 동시 액세스를 동기화하여, 데이터가 변경되는 대로 데이터를 읽거나 갱신사항을 유실하는 일이 없도록 해야 합니다. 메모리내 상태와 저장소를 구별하기 위해 "외부"라고 말하며, 저장소 자체가 복제될 수 있어도 그 저장소가 단일 엔티티로 표시되므로 "논리"라고 합니다. 게다가, 이 논리 데이터 저장소에는 서버 인스턴스가 저장소를 갱신할 때마다 갱신사항이 즉시 다른 인스턴스에 의해 보여지는 등록정보가 있습니다.

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

그러한 저장소의 다른 예로는 고가용성 Oracle이나 Oracle Parallel Server와 같은 백엔드 데이터베이스를 들 수 있습니다. 그러한 백엔드 데이터베이스 서버는 데이터베이스 조회와 갱신 트랜잭션을 사용하여 내장된 동기화를 제공하므로, 여러 서버 인스턴스가 자체의 고유 동기화를 구현하지 않아도 됩니다.

현재 모습에서 확장가능 서비스가 아닌 서비스의 예는 Sun의 IMAP 서버입니다. 서비스는 저장소를 갱신하지만, 그 저장소는 개인용이므로 여러 IMAP 인스턴스가 저장소에 기록할 경우, 그 인스턴스들은 갱신사항이 동기화되지 않으므로 서로 겹쳐씁니다. IMAP 서버는 동시 액세스를 동기화하기 위해 다시 작성해야 합니다.

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

Data Service API 및 Data Service Development Library API

Sun Cluster는 다음을 제공하여 응용프로그램을 고가용성으로 만듭니다

Sun Cluster 3.0 Data Services Installation and Configuration Guide에서는 Sun Cluster와 함께 제공되는 데이터 서비스를 설치하고 구성하는 방법에 대해 설명합니다. Sun Cluster 3.0 Data Services Developers' Guide에서는 Sun Cluster 프레임워크 하에서 고가용성이 될 다른 응용프로그램을 측정하는 방법에 대해 설명합니다.

Sun Cluster API 및 Data Service Development Library API는 응용프로그램 프로그래머가 데이터 서비스 인스턴스를 시작하고 정지하는 스트립트와 결함 모니터를 개발할 수 있게 합니다. 이러한 도구를 사용하면, 응용프로그램에 페일오버 또는 확장가능 데이터 서비스 중 어느 것을 제공할 것인지 측정할 수 있습니다. 또한 Sun Cluster는 응용프로그램의 필요한 시작 및 정지 메소드를 빨리 생성하여 고가용성 데이터 서비스로 실행되도록 하는데 사용될 수 있는 "일반" 데이터 서비스를 제공합니다