Solaris OS용 Sun Cluster 개념 안내서

2장 주요 개념 – 하드웨어 서비스 제공업체

이 장에서는 SunPlex 시스템을 구성하는 하드웨어 구성 요소와 관련된 주요 개념에 대하여 설명합니다. 주요 내용은 다음과 같습니다.

SunPlex 시스템 하드웨어 및 소프트웨어 구성 요소

이 정보는 기본적으로 하드웨어 서비스 제공업체를 위한 내용입니다. 이 개념은 서비스 제공업체에서 클러스터 하드웨어를 설치, 구성하거나 서비스를 제공하기 전에 하드웨어 구성 요소 사이의 관계를 이해하는 데 도움이 됩니다. 클러스터 시스템 관리자는 클러스터 소프트웨어 설치, 구성 및 관리에 대한 배경 정보로 이 정보를 사용할 수 있습니다.

클러스터는 다음과 같은 몇 가지 하드웨어 구성 요소로 구성됩니다.

SunPlex 시스템을 사용하면 SPARC: Sun Cluster 토폴로지 예에서 설명하는 다양한 구성 방법으로 이 구성 요소를 결합할 수 있습니다.

2 노드 클러스터 구성 예는 Solaris OS용 Sun Cluster 개요의 “Sun Cluster 하드웨어 환경”을 참조하십시오.

클러스터 노드

클러스터 노드는 Solaris 운영 환경 및 Sun Cluster 소프트웨어를 모두 실행하는 시스템으로, 클러스터의 현재 구성원(클러스터 구성원)이거나 구성원이 될 수 있는 시스템입니다.

SPARC: Sun Cluster 소프트웨어를 사용하면 클러스터에 2 - 8개의 노드를 가질 수 있습니다. 지원되는 노드 구성은 SPARC: Sun Cluster 토폴로지 예를 참조하십시오.

x86: Sun Cluster 소프트웨어를 사용하면 클러스터에 2개의 노드를 가질 수 있습니다. 지원되는 노드 구성은 x86: Sun Cluster 토폴로지 예를 참조하십시오.

클러스터 노드는 일반적으로 하나 이상의 멀티 호스트 장치에 연결됩니다. 멀티 호스트 장치에 연결되지 않은 노드는 클러스터 파일 시스템을 사용하여 멀티 호스트 장치에 액세스합니다. 예를 들어, 하나의 확장 가능한 서비스 구성에서는 노드가 멀티 호스트 장치에 직접 연결되지 않아도 요청을 처리할 수 있습니다.

또한 병렬 데이터베이스의 노드는 모든 디스크에 동시에 액세스합니다. 병렬 데이터베이스 구성에 대한 자세한 내용은 멀티 호스트 장치제 3 장, 주요 개념 – 관리 및 응용 프로그램 개발을 참조하십시오.

클러스터의 모든 노드는 클러스터에 액세스하여 관리하기 위해 사용하는 공용 이름(클러스터 이름)으로 그룹화됩니다.

공용 네트워크 어댑터는 노드를 공유 네트워크에 연결하여 클러스터에 대한 클라이언트 액세스를 제공합니다.

클러스터 구성원은 하나 이상의 물리적으로 독립된 네트워크를 통해 클러스터의 다른 노드와 통신합니다. 이렇게 물리적으로 독립된 네트워크 세트를 클러스터 상호 연결이라고 합니다.

다른 노드가 클러스터에 결합되거나 클러스터에서 제거될 때 클러스터의 모든 노드가 이것을 인식합니다. 또한 클러스터의 모든 노드가 로컬로 실행되는 자원뿐 아니라 다른 클러스터 노드에서 실행되는 자원을 인식합니다.

성능이 크게 떨어지지 않고 페일오버가 발생하도록 하려면 동일한 클러스터의 노드가 모두 유사한 프로세싱, 메모리 및 I/O 기능을 사용해야 합니다. 페일오버를 위해 모든 노드에 다른 노드의 워크로드를 백업하거나 보조 노드가 될 수 있을 만큼 충분한 용량이 있어야 합니다.

각 노드는 개별 루트(/) 파일 시스템을 부트합니다.

클러스터 하드웨어 구성원에 대한 소프트웨어 구성 요소

클러스터 구성원의 기능을 하려면 다음 소프트웨어가 설치되어야 합니다.

다음 그림은 Sun Cluster 소프트웨어 환경을 만들기 위해 사용하는 높은 수준의 소프트웨어 구성 요소입니다.

그림 2–1 높은 수준의 Sun Cluster 소프트웨어 구성 요소 관계

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

클러스터 구성원에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

멀티 호스트 장치

한 번에 여러 노드에 연결될 수 있는 디스크는 멀티 호스트 장치입니다. Sun Cluster 환경에서 멀티 호스트 저장소를 사용하면 디스크 가용성을 높일 수 있습니다. Sun Cluster에서 2 노드 클러스터가 쿼럼을 설정하려면 멀티 호스트 저장소가 필요합니다. 3 노드 이상 클러스터에서는 멀티 호스트 저장소가 필요하지 않습니다.

멀티 호스트 장치에는 다음과 같은 기능이 있습니다.

볼륨 관리자는 멀티 호스트 장치의 데이터 중복에 대한 미러된 구성 또는 RAID-5 구성에 제공됩니다. 현재 Sun Cluster는 SPARC 기반 클러스터에서만 사용 가능한 Solaris 볼륨 관리자TM 및 VERITAS Volume Manager를 볼륨 관리자로 지원하고 여러 하드웨어 RAID 플랫폼에서 RDAC RAID-5 하드웨어 컨트롤러를 지원합니다.

멀티 호스트 장치를 디스크 미러링 및 스트라이핑과 결합하면 노드 장애와 각 디스크 장애로부터 보호할 수 있습니다.

멀티 호스트 저장소에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

Multi-Initiator SCSI

이 절의 내용은 SCSI 저장 장치에만 적용되고 멀티 호스트 장치에 사용되는 광섬유 채널 저장소에는 적용되지 않습니다.

독립형 서버에서는 서버 노드가 서버를 특정 SCSI 버스에 연결하는 SCSI 호스트 어댑터 회로를 사용하여 SCSI 버스 작동을 제어합니다. 이러한 SCSI 호스트 어댑터를 SCSI initiator라고 합니다. 이 회로가 SCSI 버스에 대한 모든 버스 작업을 시작합니다. Sun 시스템에서 SCSI 호스트 어댑터의 기본 SCSI 주소는 7입니다.

클러스터 구성은 멀티 호스트 장치를 사용하여 여러 서버 노드 사이에서 저장소를 공유합니다. 클러스터 저장소가 종단 장치가 하나인 SCSI 장치나 차등 SCSI 장치로 구성된 경우에 이러한 구성을 Multi-initiator SCSI라고 합니다. 이 용어가 의미하는 것처럼 SCSI 버스에는 둘 이상의 SCSI initiator가 있습니다.

SCSI 스펙에서는 SCSI 버스에 있는 각 장치가 고유한 SCSI 주소를 갖도록 요구합니다(호스트 어댑터 역시 SCSI 버스의 장치입니다). Multi-initiator 환경에서 기본 하드웨어 구성을 적용하면 모든 SCSI 호스트 어댑터의 기본값이 7이 되므로 충돌이 발생합니다.

이러한 충돌을 해결하려면 각 SCSI 버스에서 SCSI 호스트 어댑터 중 하나만 SCSI 주소를 7로 남겨 두고 나머지 호스트 어댑터는 사용하지 않는 SCSI 주소로 설정해야 합니다. 이후에 충돌하지 않도록 제대로 계획하려면 현재도 사용하지 않고 나중에도 사용하지 않을 주소를 “사용하지 않는” SCSI 주소로 생각해야 합니다. 이후 사용되지 않을 주소의 예로는 새로운 드라이브를 빈 드라이브 슬롯에 설치하여 저장소를 추가할 경우가 있습니다.

대부분의 구성에서 보조 호스트 어댑터의 SCSI 주소로 6을 사용할 수 있습니다.

다음 도구 중 하나를 사용하여 scsi-initiator-id 등록 정보를 설정하는 방법으로 이 호스트 어댑터에 대해 선택된 SCSI 주소를 변경할 수 있습니다.

이 등록 정보를 노드에 대하여 전역으로 설정할 수도 있고 호스트 어댑터 단위로 설정할 수도 있습니다. 각 SCSI 호스트 어댑터에 대하여 고유한 scsi-initiator-id를 설정하는 방법은 Sun Cluster Hardware Collection에서 각 디스크 인클로저에 대해 설명하는 장에 있습니다.

로컬 디스크

로컬 디스크는 단일 노드에만 연결되는 디스크입니다. 따라서 노드 장애로부터 보호되지 않습니다(가용성이 높지 않음). 그러나 로컬 디스크를 포함한 모든 디스크가 전역 이름 공간에 포함되고 전역 장치로 구성됩니다. 그러므로 디스크 자체는 모든 클러스터 노드에서 볼 수 있습니다.

이러한 디스크의 파일 시스템을 전역 마운트 지점 아래에 놓아서 다른 노드가 사용할 수 있도록 만들 수 있습니다. 현재 이러한 전역 파일 시스템 중 하나가 마운트된 노드에서 장애가 발생하면 모든 노드가 해당 파일 시스템에 액세스할 수 없게 됩니다. 볼륨 관리자를 사용하면 디스크 장애가 있어도 이러한 파일 시스템에 액세스할 수 있도록 디스크를 미러할 수 있지만, 노드 장애로부터 보호하지는 않습니다.

전역 장치에 대한 자세한 내용은 전역 장치 절을 참조하십시오.

이동식 매체

테이프 드라이브 및 CD-ROM 드라이브와 같은 이동식 매체가 클러스터에서 지원됩니다. 일반적으로, 클러스터링되지 않은 환경에서와 동일한 방법으로 이러한 장치를 설치, 구성하고 서비스를 제공할 수 있습니다. 이 장치는 Sun Cluster에 전역 장치로 구성되므로 클러스터의 모든 노드에서 각 장치에 액세스할 수 있습니다. 이동식 매체의 설치 및 구성에 대한 내용은 Sun Cluster 3.x Hardware Administration Manual for Solaris OS를 참조하십시오.

전역 장치에 대한 자세한 내용은 전역 장치 절을 참조하십시오.

클러스터 상호 연결

클러스터 상호 연결은 클러스터 노드 사이에 클러스터 개인 통신과 데이터 서비스 통신을 전송하기 위해 사용하는 물리적 장치 구성입니다. 상호 연결은 클러스터 개인 통신에 광범위하게 사용되기 때문에 이 구성이 성능을 제한할 수 있습니다.

클러스터 노드만 클러스터 상호 연결에 연결될 수 있습니다. Sun Cluster 보안 모델에서는 클러스터 노드만 클러스터 상호 연결에 물리적으로 액세스할 수 있다고 가정합니다.

단일 장애 지점이 발생하지 않게 하려면 물리적으로 독립된 최소한 두 개 이상의 중복 네트워크를 통해 클러스터를 상호 연결하여 모든 노드를 연결해야 합니다. 두 노드 사이에 물리적으로 독립된 여러 개의 네트워크(2 - 6개)를 사용할 수 있습니다. 클러스터 상호 연결은어댑터, 연결 장치, 케이블 등의 세 가지 하드웨어로 구성됩니다.

다음은 이러한 하드웨어 구성 요소 각각에 대한 설명입니다.

클러스터 상호 연결에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

공용 네트워크 인터페이스

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

클러스터링에서 공용 네트워크 인터페이스를 위하여 특별히 하드웨어를 고려할 필요는 없습니다.

공용 네트워크에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

클라이언트 시스템

클라이언트 시스템은 공용 네트워크를 통해 클러스터에 액세스하는 다른 서버나 워크스테이션을 포함합니다. 클라이언트측 프로그램은 클러스터에서 실행되는 서버측 응용 프로그램에서 제공하는 데이터나 다른 서비스를 사용합니다.

클라이언트 시스템은 고가용성 시스템이 아닙니다. 클러스터의 데이터 및 응용 프로그램은 고가용성입니다.

클라이언트 시스템에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

콘솔 액세스 장치

모든 클러스터 노드에 대하여 콘솔 액세스가 있어야 합니다. 콘솔에 액세스하려면 클러스터 하드웨어와 함께 구입한 단말기 집중 장치, Sun Enterprise E10000TM 서버(SPARC 기반 클러스터용)의 SSP(System Service Processor), Sun FireTM 서버(역시 SPARC 기반 클러스터용)의 시스템 컨트롤러 또는 각 노드의 ttya에 액세스할 수 있는 기타 장치를 사용하십시오.

Sun에서는 사용할 수 있는 단말기 집중 장치가 하나만 지원됩니다. 지원되는 Sun 단말기 집중 장치를 사용할 것인지는 사용자가 선택할 수 있습니다. 단말기 집중 장치를 사용하면 TCP/IP 네트워크를 사용하여 각 노드에서 /dev/console에 액세스할 수 있습니다. 따라서 네트워크 상의 모든 원격 워크스테이션에서 콘솔 레벨로 각 노드에 액세스할 수 있습니다.

SSP(System Service Processor)는 Sun Enterprise E10000 server에 대한 콘솔 액세스를 제공합니다. SSP는 Sun Enterprise E10000 server를 지원하기 위해 구성된 이더넷 네트워크상의 시스템입니다. SSP는 Sun Enterprise E10000 server용 관리 콘솔입니다. Sun Enterprise E10000 네트워크 콘솔 기능을 사용하면 네트워크 상의 어떤 워크스테이션에서도 호스트 콘솔 세션을 열 수 있습니다.

콘솔에 액세스하는 다른 방법으로는 다른 단말기 집중 장치, 다른 노드로부터의 tip(1) 직렬 포트 액세스, 단순 단말기 사용 등이 있습니다. SunTM 키보드 및 모니터를 사용하거나 하드웨어 서비스 제공업체에서 지원하는 다른 직렬 포트 장치를 사용할 수 있습니다.

관리 콘솔

관리 콘솔이라고 부르는 전용 UltraSPARC® 워크스테이션이나 Sun FireTM V65x 서버를 사용하여 활성 클러스터를 관리할 수 있습니다. 일반적으로 관리 콘솔에서는 Sun Management CenterTM 제품(SPARC 기반 클러스터 전용)을 위한 Sun Cluster 모듈 및 CCP(Cluster Control Panel)와 같은 관리 도구 소프트웨어를 설치하고 실행합니다. CCP에서 cconsole을 사용하면 하나 이상의 노드 콘솔을 한 번에 연결할 수 있습니다. CCP 사용 방법은 Sun Cluster System Administration Guide의 내용을 참조하십시오.

관리 콘솔은 클러스터 노드가 아닙니다. 공용 네트워크를 통해 또는 선택적으로 네트워크 기반 단말기 집중 장치를 사용하여 클러스터 노드에 원격 액세스할 때 관리 콘솔을 사용합니다. 클러스터가 Sun Enterprise E10000 플랫폼으로 구성된 경우에는 관리 콘솔에서 SSP(System Service Processor)로 로그인하고 netcon(1M) 명령으로 연결할 수 있는 기능이 있어야 합니다.

일반적으로, 노드를 모니터 없이 구성합니다. 그러면 단말기 집중 장치에 연결되어 있는 관리 콘솔과 노드의 직렬 포트에 연결된 단말기 집중 장치에서 telnet 세션을 통해 노드 콘솔에 액세스합니다. (Sun Enterprise E10000 server의 경우에는 SSP에서 연결합니다.)자세한 내용은 콘솔 액세스 장치를 참조하십시오.

Sun Cluster에는 전용 관리 콘솔이 필요 없지만 전용 관리 콘솔을 사용하면 다음과 같은 이점이 있습니다.

관리 콘솔에 대한 질문과 대답은 제 4 장, 질문과 대답을 참조하십시오.

SPARC: Sun Cluster 토폴로지 예

토폴로지는 클러스터 노드를 클러스터에서 사용하는 저장소 플랫폼에 연결하는 연결 체계입니다. Sun Cluster는 다음 지침에서 설명하는 모든 토폴로지를 지원합니다.

Sun Cluster는 특정 토폴로지를 사용하여 클러스터를 구성할 필요가 없습니다. 다음 토폴로지는 클러스터의 연결 체계를 설명하는 데 필요한 핵심 내용을 제공합니다. 이러한 토폴로지는 일반 연결 체계입니다.

다음 절에 각 토폴로지의 예를 보여주는 그림이 있습니다.

SPARC: 클러스터 쌍 토폴로지

클러스터 쌍 토폴로지는 단일 클러스터 관리 프레임워크에서 작동하는 두 개 이상의 노드 쌍입니다. 이 구성에서는 쌍 사이에서만 페일오버가 발생합니다. 그러나 모든 노드는 클러스터 상호 연결에 의해 연결되고 Sun Cluster 소프트웨어의 제어에 의해 작동합니다. 이 토폴로지를 사용하여 하나의 쌍에서 병렬 데이터베이스 응용 프로그램을 실행하고 다른 쌍에서 페일오버 또는 고가용성 응용 프로그램을 실행할 수 있습니다.

클러스터 파일 시스템을 사용하면, 모든 노드가 응용 프로그램 데이터를 저장하는 디스크에 직접 연결되어 있지 않아도 세 개 이상의 노드가 확장 가능 서비스나 병렬 데이터베이스를 실행하는 두 쌍 구성도 사용할 수 있습니다.

다음 그림은 클러스터된 쌍 구성을 보여줍니다.

그림 2–2 SPARC: 클러스터 쌍 토폴로지

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

SPARC: 쌍+N 토폴로지

쌍+N 토폴로지에는 공유 저장소 및 추가 노드 세트에 직접 연결된 노드의 쌍이 포함되어 있습니다. 이 추가 노드 세트는 자체적으로 직접 연결하지 않고 클러스터 상호 연결을 사용하여 공유 저장소에 액세스합니다.

다음 그림은 네 개의 노드 중 두 개의 노드(노드 3 및 노드 4)가 클러스터 상호 연결을 사용하여 저장소에 액세스하는 쌍+N 토폴로지의 예입니다. 이 구성은 공유 저장소에 직접 액세스하지 않은 추가 노드를 포함하도록 확장될 수 있습니다.

그림 2–3 SPARC: 쌍+N 토폴로지

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

SPARC: N+1(스타) 토폴로지

N+1 토폴로지에는 몇 개의 기본 노드와 하나의 보조 노드가 들어 있습니다. 기본 노드와 보조 노드를 동일하게 구성할 필요는 없습니다. 항상 기본 노드가 응용 프로그램 서비스를 제공합니다. 보조 노드는 기본 노드의 실패가 있을 때까지 비활동 상태일 필요는 없습니다.

보조 노드는 이러한 구성에서 모든 멀티 호스트 저장소에 물리적으로 연결된 유일한 노드입니다.

기본 노드에서 장애가 발생하면 Sun Cluster가 자원을 보조 노드로 페일오버합니다. 그곳에서 자원은 (자동 또는 수동으로) 다시 기본 노드로 전환될 때까지 기능을 수행합니다.

보조 노드는 기본 노드 중 하나에 장애가 발생할 경우에 부하를 처리할 수 있을 만큼 충분한 CPU 용량이 있어야 합니다.

다음 그림은 N+1 구성의 예입니다.

그림 2–4 SPARC: N+1 토폴로지

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

SPARC: N*N(확장 가능) 토폴로지

N*N 토폴로지를 사용하면 클러스터 내의 모든 공유 저장 장치가 해당 클러스터의 모든 노드에 연결할 수 있습니다. 가용성이 높은 응용 프로그램에서는 이 토폴로지를 사용하여 서비스 성능 감소 없이 한 노드에서 다른 노드로 페일오버할 수 있습니다. 페일오버가 발생하면 새 노드가 개별 상호 연결 대신 로컬 경로를 사용하여 저장 장치에 액세스할 수 있습니다.

다음 그림은 N*N 구성을 보여줍니다.

그림 2–5 SPARC: N*N 토폴로지

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

x86: Sun Cluster 토폴로지 예

토폴로지는 클러스터 노드를 클러스터에서 사용하는 저장소 플랫폼에 연결하는 연결 체계입니다. Sun Cluster는 다음 지침에서 설명하는 모든 토폴로지를 지원합니다.

Sun Cluster는 특정 토폴로지를 사용하여 클러스터를 구성할 필요가 없습니다. x86 기반 노드로 구성된 클러스터의 유일한 토폴로지인 다음의 클러스터 쌍 토폴로지는 클러스터 연결 체계를 설명하는 데 필요한 핵심 내용을 제공합니다. 이러한 토폴로지는 일반 연결 체계입니다.

다음 절에 토폴로지의 예를 보여주는 그림이 있습니다.

x86: 클러스터 쌍 토폴로지

클러스터 쌍 토폴로지는 단일 클러스터 관리 프레임워크에서 작동하는 두 개의 노드입니다. 이 구성에서는 쌍 사이에서만 페일오버가 발생합니다. 그러나 모든 노드는 클러스터 상호 연결에 의해 연결되고 Sun Cluster 소프트웨어의 제어에 의해 작동합니다. 이 토폴로지를 사용하여 해당 쌍에서 병렬 데이터베이스, 페일오버 또는 확장 가능 응용 프로그램을 실행할 수 있습니다.

다음 그림은 클러스터된 쌍 구성을 보여줍니다.

그림 2–6 x86: 클러스터 쌍 토폴로지

그림: 그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.