Solaris OS용 Sun Cluster 개요

3장 Sun Cluster 구조

Sun Cluster 구조에서는 시스템 그룹을 하나의 대형 시스템처럼 배포, 관리 및 조회할 수 있습니다.

이 장은 다음 내용으로 구성되어 있습니다.

Sun Cluster 하드웨어 환경

다음 하드웨어 구성 요소가 클러스터를 구성합니다.

그림 3–1에서는 하드웨어 구성 요소가 함께 작동하는 방법을 설명합니다.

그림 3–1 Sun Cluster 하드웨어 구성 요소

그림: 공용 및 전용 네트워크, 상호 연결 하드웨어, 로컬 및 멀티 호스트 디스크, 콘솔 및 클라이언트로 구성된 2-노드 클러스터

Sun Cluster 소프트웨어 환경

어떤 노드가 클러스터 구성원 역할을 하려면 다음 소프트웨어가 설치되어 있어야 합니다.

그림 3–2에서는 함께 작동하여 Sun Cluster 소프트웨어 환경을 구성하는 소프트웨어 구성 요소의 고급 보기를 제공합니다.

그림 3–2 Sun Cluster 소프트웨어 구조

그림: RGM, CMM, CCR, 볼륨 관리자 및 클러스터 파일 시스템과 같은 Sun Cluster 소프트웨어 구성 요소

클러스터 멤버쉽 모니터

데이터가 손상되지 않도록 보호하려면 클러스터 구성원 정보가 모든 노드에 동일하게 인식되어야 합니다. 필요한 경우, CMM은 작업이 실패할 때 클러스터 서비스의 클러스터 재구성을 조정합니다.

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

클러스터 구성원의 변경을 발견한 다음 CMM은 해당 클러스터에 대해 동기화된 구성을 수행합니다. 이 구성에서 클러스터 자원은 클러스터의 새 구성원에 따라 다시 분산될 수도 있습니다.

CMM은 커널에서만 실행됩니다.

CCR(Cluster Configuration Repository)

CCR은 쿼럼이 확립될 때만 클러스터가 실행되도록 하기 위해 CMM에 의존합니다. CCR은 클러스터에서 데이터 일관성을 확인해야 하는 책임을 갖고 있으므로 필요에 따라 복구를 수행하고 데이터를 업데이트합니다.

클러스터 파일 시스템

클러스터 파일 시스템은 다음 사이에서 프록시 역할을 합니다.

클러스터 파일 시스템은 전역 장치(디스크, 테이프, CD-ROM)에 종속됩니다. 전역 장치는 클러스터의 임의의 노드에서 동일한 파일 이름(예: /dev/global/)을 통해 액세스할 수 있습니다. 해당 노드를 저장 장치와 물리적으로 연결할 필요는 없습니다. 정규 장치와 동일하게 전역 장치를 사용할 수 있습니다. 즉 newfs 또는 mkfs를 사용하여 전역 장치에 파일 시스템을 만들 수 있습니다.

클러스터 파일 시스템에는 다음과 같은 기능이 있습니다.

확장 가능 데이터 서비스

클러스터 네트워킹의 주된 목표는 데이터 서비스의 확장성을 제공하는 것입니다. 확장성은 서비스에 대해 제공되는 로드가 증가함에 따라, 새로운 노드가 클러스터에 추가되고 새로운 서버 인스턴스가 실행되는 등의 작업 로드 증가 시 데이터 서비스가 일정한 응답 시간을 유지할 수 있음을 의미합니다. 확장 가능 데이터 서비스의 좋은 예는 웹 서비스입니다. 일반적으로, 확장 가능 데이터 서비스는 몇 가지의 인스턴스로 구성되며, 각 인스턴스는 클러스터의 서로 다른 노드에서 실행됩니다. 이러한 인스턴스는 함께 해당 서비스의 원격 클라이언트에 대해 하나의 서비스 역할을 하며 이 서비스의 기능을 구현합니다. 여러 httpd 데몬이 서로 다른 노드에서 실행되는 확장 가능 웹 서비스에서는 어떤 데몬이라도 클라이언트 요청을 처리할 수 있습니다. 요청에 서비스를 제공하는 데몬은 로드 균형 조정 정책에 의해 결정됩니다. 요청에 서비스를 제공한 특정 데몬이 아니라 서비스에서 제공될 클라이언트에 대한 응답이 표시되므로 단일 서비스 형태가 유지됩니다.

다음 그림은 확장 가능 서비스 구조를 보여줍니다.

그림 3–3 확장 가능 데이터 서비스 구조

그림: 여러 노드에서 실행 중인 데이터 서비스 요청

전역 인터페이스를 호스트하지 않는 노드(프록시 노드)에는 해당되는 루프백 인터페이스에 호스트된 공유 주소가 있습니다. 전역 인터페이스의 패킷은 구성 가능한 로드 균형 조정 정책에 따라 다른 클러스터 노드에 분산됩니다. 가능한 로드 균형 조정 정책은 다음 부분에 설명되어 있습니다.

로드 균형 조정 정책

로드 균형 조정은 응답 시간과 처리량의 두 가지 측면 모두에서 확장 가능 서비스의 성능을 향상시킵니다.

확장 가능 데이터 서비스에는 puresticky라는 두 가지 클래스가 있습니다. pure 서비스는 인스턴스가 클라이언트 요청에 응답할 수 있는 서비스입니다. sticky 서비스의 클러스터는 노드에 대한 요청에 대해 로드 균형을 조정합니다. 그러한 요청은 다른 인스턴스에 보내지 않아도 됩니다.

pure 서비스는 가중된 로드 균형 조정 정책을 사용합니다. 이 로드 균형 조정 정책에서 클라이언트 요청은 기본적으로 클러스터의 서버 인스턴스에서 일정하게 분산됩니다. 예를 들어, 각 노드의 가중치가 1인 3-노드 클러스터에서 각 노드는 해당 서비스 대신 클라이언트의 요청 중 1/3의 서비스를 제공합니다. 가중치는 scrgadm(1M) 명령 인터페이스나 SunPlex Manager GUI를 통해 언제라도 바꿀 수 있습니다.

sticky 서비스에는 보통 sticky 와일드카드 sticky의 두 가지 유형이 있습니다. Sticky 서비스는 여러 TCP 연결을 거쳐 동시 응용 프로그램 레벨 세션이 in-state 메모리(응용 프로그램 세션 상태)를 공유할 수 있게 합니다.

보통 sticky 서비스는 클라이언트가 여러 개의 동시 TCP 연결 사이에 상태를 공유할 수 있게 합니다. 이러한 클라이언트를 단일 포트에서 수신하는 서버 인스턴스에 대해 “sticky”하다고 말합니다. 클라이언트는 인스턴스가 남아 있고 액세스 가능한 경우에 모든 요청이 동일한 서버 인스턴스로 가도록 보장받으며, 로드 균형 조정 정책은 서비스가 온라인 상태에서는 변경되지 않습니다.

와일드카드 sticky 서비스는 동적으로 할당된 포트 번호를 사용하지만, 여전히 클라이언트 요청이 같은 노드로 갈 것으로 예상합니다. 이러한 클라이언트는 동일한 IP 주소의 포트에 대해 “sticky 와일드카드”입니다.

멀티 호스트 디스크 저장소

Sun Cluster 소프트웨어는 한 번에 둘 이상의 노드에 연결 가능한 멀티 호스트 디스크 저장 장치를 이용하여 디스크의 가용성을 높입니다. 볼륨 관리 소프트웨어를 사용하여 이 디스크들을 하나의 클러스터 노드가 마스터하는 공유 저장 장치로 배열할 수 있습니다. 그리고 나서 이 디스크들은 오류 발생 시 다른 노드로 이동하도록 구성됩니다. Sun Cluster 시스템에서의 멀티 호스트 디스크 사용은 다음을 비롯하여 다양한 이점을 제공합니다.

클러스터 상호 연결

단일 장애 지점이 발생하지 않게 하려면 물리적으로 독립된 최소한 두 개 이상의 중복 네트워크 또는 경로를 통해 클러스터를 상호 연결하여 모든 노드를 연결해야 합니다. 중복에 2개의 상호 연결이 필요하지만, 최고 6개를 사용하여 트래픽을 분산시켜 병목 현상을 방지하고 중복 및 확장성을 향상시킬 수 있습니다. Sun Cluster 상호 연결은 Fast Ethernet, Gigabit-Ethernet, Sun Fire Link, 또는 Scalable Coherent Interface(SCI, IEEE 1596-1992)를 사용하여 고성능 클러스터 전용 통신을 가능하게 합니다.

클러스터 환경에서는 빠르고 대기 시간이 적은 노드간 통신용 상호 연결 및 프로토콜이 핵심입니다. Sun Cluster 시스템의 SCI 상호 연결은 기존의 네트워크 인터페이스 카드(NIC)보다 우수한 성능을 제공합니다. Sun Cluster에서는 Sun Fire 링크 네트워크를 통한 모드간 통신에 원격 공유 메모리(RSMTM) 인터페이스를 사용합니다. RSM은 원격 메모리 작업에서 매우 효율적인 Sun 메시징 인터페이스입니다.

RSMRDT(RSM Reliable Datagram Transport) 드라이버는 RSM API 위에 구축되는 드라이버와 RSMRDT-API 인터페이스를 내보내는 라이브러리로 구성됩니다. 드라이버는 향상된 Oracle Parallel Server/Real Application Clusters 성능을 제공합니다. 또한 드라이버 내에서 직접 제공함으로써 로드 균형 조정 및 고가용성(HA) 기능을 향상시키고 이러한 기능을 클라이언트가 투명하게 사용할 수 있게 합니다.

클러스터 상호 연결은 다음 하드웨어 구성 요소로 구성됩니다.

그림 3–4에서는 세 구성 요소가 연결되는 방법을 보여줍니다.

그림 3–4 클러스터 상호 연결

그림: 전송 어댑터, 케이블 및 전송 연결 장치로 연결된 두 노드

IP Network Multipathing 그룹

공용 네트워크 어댑터는 IP Multipathing 그룹(Multipathing 그룹)으로 구성됩니다. 각 Multipathing 그룹에는 하나 이상의 공용 네트워크 어댑터가 있습니다. Multipathing 그룹의 각 어댑터는 활성화될 수 있으며, 페일오버가 발생하지 않는 한 비활성 상태로 유지되는 대기 인터페이스를 구성할 수 있습니다.

Multipathing 그룹은 논리 호스트 이름 및 공유 주소 자원의 기반을 제공합니다. 한 노드의 동일한 Multipathing 그룹이 여러 논리 호스트 이름이나 공유 주소 자원을 호스팅할 수 있습니다. 클러스터 노드의 공용 네트워크 연결을 모니터하기 위해 Multipathing을 만들 수 있습니다.

논리 호스트 이름과 공유 주소 자원에 대한 자세한 내용은 Sun Cluster Data Services Planning and Administration Guide for Solaris OS를 참조하십시오.

공용 네트워크 인터페이스

클라이언트는 공용 네트워크 인터페이스를 통해 클러스터에 연결합니다. 각 네트워크 어댑터 카드는 카드에 여러 하드웨어 인터페이스가 있는지에 따라 하나 이상의 공용 네트워크에 연결할 수 있습니다. 여러 카드가 활성화되어 서로 페일오버 백업 역할을 하도록 구성된 여러 공용 네트워크 인터페이스 카드를 포함하도록 노드를 설정할 수 있습니다. 어댑터 중 하나가 실패하면 Sun Cluster의 Solaris Internet Protocol(IP) Network Multipathing 소프트웨어가 호출되어 결함이 있는 인터페이스를 그룹의 다른 어댑터로 페일오버합니다.