Sun Cluster 3.0 12/01 개념

가용성이 높은 프레임워크

SunPlex 시스템은 네트워크 인터페이스, 응용프로그램, 파일 시스템 및 멀티호스트 디스크를 포함하여 사용자와 데이터 사이의 "경로"에 있는 모든 구성 요소의 가용성을 향상시킵니다. 일반적으로 시스템의 한 위치(소프트웨어 또는 하드웨어)에서 장애가 발생한 후에도 클러스터 구성 요소가 계속 작동하면 사용성이 높은 것입니다.

다음 표는 SunPlex 구성 요소에서 발생하는 하드웨어 및 소프트웨어 장애와 가용성이 높은 프레임워크에 구축된 복구 방법입니다.

표 3-1 SunPlex 장애 탐지 및 복구 레벨

장애가 발생한 클러스터 구성 요소 

소프트웨어 복구 

하드웨어 복구 

데이터 서비스 

HA API, HA 프레임워크 

없음 

공용 네트워크 어댑터 

NAFO(네트워크 어댑터 페일오버) 

여러 개의 공용 네트워크 어댑터 카드 

클러스터 파일 시스템 

1차 및 2차 복제 

멀티호스트 디스크 

이중화된 멀티호스트 디스크 

볼륨 관리자(Solstice DiskSuite 및 VERITAS Volume Manager) 

하드웨어 RAID-5(예: Sun StorEdge A3x00) 

글로벌 장치 

1차 및 2차 복제 

장치, 클러스터 전송 연결 장치에 대한 복수 경로 

독립 네트워크 

HA 전송 소프트웨어 

여러 개의 개인용 하드웨어 독립 네트워크 

노드 

CMM, 페일패스트 드라이버 

복수 노드 

Sun Cluster 소프트웨어의 프레임워크는 가용성이 높기 때문에 노드 장애를 즉시 탐지하고 프레임워크 자원을 제공하는 새로운 서버를 남은 노드에 구성합니다. 모든 프레임워크를 동시에 사용하지 못하는 경우는 없습니다. 복구 중에도 충돌이 발생한 노드의 영향을 받지 않는 프레임워크 자원을 모두 사용할 수 있습니다. 또한 장애가 발생한 노드의 프레임워크 자원은 복구되는 대로 바로 사용할 수 있습니다. 다른 프레임워크 자원이 모두 복구될 때까지 복구된 프레임워크 자원이 대기하지 않아도 됩니다.

가용성이 높은 프레임워크 자원은 대부분 자원을 사용하는 응용프로그램(데이터 서비스)에 투명하게 복구됩니다. 장애 발생 전후에 프레임워크 자원 액세스에 대한 설정은 완전하게 보존됩니다. 프레임워크 자원 서버가 다른 노드로 이동된 것만 응용프로그램이 인식할 수 없습니다. 다른 노드에 디스크에 대한 다른 하드웨어 경로가 있기만 하면, 한 노드에 장애가 발생할 경우에 노드에 연결된 파일, 장치 및 디스크 볼륨을 사용하여 다른 노드의 프로그램에 완전히 투명하게 인식됩니다. 예를 들어, 여러 노드로 연결하는 포트가 있는 멀티호스트 디스크를 사용할 수 있습니다.

클러스터 멤버쉽 모니터

CMM(Cluster Membership Monitor)은 클러스터 구성원마다 하나씩 분산된 에이전트 세트입니다. 에이전트는 다음 작업을 수행하기 위해 클러스터 상호 연결을 통해 메시지를 교환합니다.

이전의 Sun Cluster 소프트웨어 릴리스와 달리 CMM은 완전히 커널에서 실행됩니다.

클러스터 멤버쉽

CMM의 기본 기능은 언제든지 전체 클러스터에서 클러스터에 포함된 노드 세트를 동일하게 인식하도록 하는 것입니다. 이러한 제약 조건을 클러스터 멤버쉽이라고 합니다.

CMM은 클러스터 구성원을 인식하여 데이터 무결성을 구현하기 위해 다음과 같은 기능을 수행합니다.

클러스터가 여러 개의 별도 클러스터로 분할되지 않도록 보호하는 방법은 "정족수 및 정족수 장치"를 참조하십시오.

클러스터 멤버쉽 모니터 재구성

데이터가 손상되지 않도록 안전하게 보존하려면 모든 노드에서 클러스터 멤버쉽을 동일하게 인식해야 합니다. 장애가 발생할 경우에 필요하면 CMM이 클러스터 서비스(응용프로그램)의 클러스터 재구성을 조정합니다.

CMM은 클러스터 전송 계층으로부터 다른 노드에 대한 연결 정보를 받습니다. 재구성할 때 CMM은 클러스터 상호 연결을 사용하여 상태 정보를 교환합니다.

클러스터 멤버쉽 변경이 발견되면 CMM이 동기화된 클러스터 구성을 수행합니다. 이러한 경우에 새로운 클러스터 멤버쉽에 따라 클러스터 자원이 다시 분산될 수 있습니다.

페일패스트 메커니즘

CMM이 노드에서 치명적인 문제를 확인하면 클러스터 프레임워크를 호출하여 강제로 해당 노드를 중지시키고 클러스터 멤버쉽에서 제거합니다. 이러한 작업을 수행하는 메커니즘을 페일패스트라고 합니다. 페일패스트 메커니즘은 다음 두 가지 방법으로 노드를 중지시킵니다.

클러스터 데몬이 중단되어 노드가 종료되면 해당 노드의 콘솔에 다음과 같은 메시지가 나타납니다.


panic[cpu0]/thread=40e60: Failfast: Aborting because "pmfd" died 35 seconds ago.
409b8 cl_runtime:__0FZsc_syslog_msg_log_no_argsPviTCPCcTB+48 (70f900, 30, 70df54, 407acc, 0)
%l0-7: 1006c80 000000a 000000a 10093bc 406d3c80 7110340 0000000 4001 fbf0

노드가 종료된 후에 다시 부트되어 클러스터에 다시 연결될 수도 있고 OpenBoot PROM (OBP) 프롬프트 상태로 있을 수도 있습니다. 취하는 조치는 OBP의 auto-boot? 매개 변수 설정에 따라 결정됩니다.

CCR(Cluster Configuration Repository)

CCR(Cluster Configuration Repository)은 클러스터 구성 및 상태에 대한 정보를 저장하기 위해 전체 클러스터에서 사용하는 독립 데이터베이스입니다. CCR은 분산 데이터베이스입니다. 각 노드에 전체 데이터베이스 사본이 유지됩니다. CCR을 사용하면 모든 노드에서 일관된 화면으로 "전체" 클러스터를 볼 수 있습니다. 데이터가 손상되지 않도록 하려면 각 노드에서 클러스터 자원의 현재 상태를 알아야 합니다.

CCR은 갱신을 위해 2단계 실행 알고리즘을 사용합니다. 즉, 모든 클러스터 구성원에 대해 성공적으로 갱신이 완료되어야 하고, 그렇지 않은 경우에는 롤백됩니다. CCR은 클러스터 상호 연결을 사용하여 분산된 갱신 사항을 적용합니다.


주의 - 주의 -

CCR은 텍스트 파일로 구성되어 있지만 직접 CCR 파일을 편집하면 안됩니다. 각 파일에는 일관성이 유지되도록 체크섬 레코드가 포함됩니다. 직접 CCR 파일을 갱신하면 노드나 전체 클러스터의 작동이 중단될 수 있습니다.


CCR은 정족수가 구성된 경우에만 클러스터가 실행되도록 하기 위해 CMM을 사용합니다. CCR은 전체 클러스터에서 데이터 일관성을 확인하고, 필요할 경우에 복구 작업을 수행하고, 데이터 갱신을 지원하는 기능을 합니다.