Windows Server Clustering - MSCS

 

Windows Server 2003 제품군에서는 다음 두 가지 종류의 클러스터링 서비스가 제공됩니다.
다음 설정 방법은 Windows Server 2003을 기준으로 합니다
.
> 현재 Microsoft社에서 www.microsoft.co.kr에 적용한 구성입니다. 표준 용어를 사용하다보니 다소 어려운 용어들이 많습니다.

> 용어에 연연해 하지 마시고, MS가 말하려 하는 클러스터링을 보시기 바랍니다.


Cluster Service (MSCS) - Windows Server 2003, Enterprise Edition
Datacenter Edition에서만 사용할 수 있는 이 서비스는 데이터베이스, 메시징 시스템, 파일 및 인쇄 서비스 등의 중대한 응용 프로그램에 뛰어난 가용성과 확장성을 제공합니다. 또한 클러스터에 있는 여러 서버(노드) 간의 통신은 안정적으로 유지됩니다. 오류나 유지 관리 작업으로 인해 클러스터의 노드 중 하나를 사용할 수 없게 되면 즉시 다른 노드에서 장애 조치 서비스를 제공하기 시작합니다. 이 서비스에 대한 액세스는 끊기지 않고 계속 지원되지만 현재 서비스가 다른 서버(노드)에서 제공된다는 사실을 사용자들이 알 수는 없습니다.
> Active Directory가 구성되어 있어야 하며, DBFile서버에는 최소한 Raid2 ~ Raid5가 파이버 스토리지 가 구성되어 있어야 합니다. (상용 서비스시)

> 당근~ DNS가 되어 있어야 겠죠.

> First서버 (DNS,DHCP,Proxy)의 경우를 제외한 노드가 되는 서버의 스팩은 일반적인 낮은 사양(?)으로 사용 해도 무방 하다 생각합니다..

> 테스트를 위한 조건 이라면 2003서버에 VM을 까시고 가상IP분배 및 IP할당을 위한 Proxy또는 DHCPDNSActive Directory로 올리 신후 사용해

> 보시길 바랍니다.

> 서버 클러스터 규칙에 보시면 구성에 필요한 내용이 나옵니다. H/WSoft까지 포함 하면 꽤많은 비용이 들어 갑니다.

> 문제는 회사에서 OK~! Sign 날까요.? 구성 보다 더어려운 숙제인지도 모르죠~

> 그러고 보니 ActiveDirectory,DNS,exchanger,ISA를 사용해본 선재 조건이 필요하군요.. ^^;


Windows Server 2003
Enterprise Edition Datacenter Edition은 모두 최대 8노드까지 서버 클러스터 구성을 지원합니다. 이러한 변화를 통하여 특히 지리적으로 분산된 클러스터 구성에서 배포의 유연성이 향상되었으며 N+I 구성(활성 노드 N과 예비 노드 I)도 지원할 수 있게 되었습니다. 특히 N+I 구성은 추후에 Windows Server 2003을 사용하여 더욱 광범위하게 Microsoft Exchange Server 배포를 지원하는 데 중요한 역할을 하게 됩니다.

Ø       저의 경우엔 아직까지 CPU 4개 짜리만 사용 해봐서 Datacenter Edition의 경우엔 만질 기회가 없었서, DE서버에 대해선 할 말이 없습니다. ^^;

Ø       이하 내용부터 개념 및 설정상에 어떤 식으로 클러스터를 준비하고 노드를 연결하고 각 오류에 대한 대처 할수 있는  방법을 소개하는 내용들

Ø       입니다.   테스트 했을 때 개인적으로 생각하는 장단점과 여러 생각으로 끝을 맺겠습니다. 제 의견이 다를수도 틀릴수도 있습니다.

Ø       다만 처음 입문 하시는 분께 과정을 거처야 알수 있는 내용을 좀더 쉽게 설명 하기 위함 입니다.

Network Load Balancing (NLB) - Windows Server 2003
제품군의 모든 버전에서 제공되는 이 서비스는 클러스터 간에 수신 인터넷 프로토콜(IP) 트래픽의 균형을 조정하여 로드합니다. 네트워크 로드 균형 조정 기능은 웹 서버와 스트리밍 미디어 서버, 터미널 서비스 등 인터넷 서버 기반 프로그램의 가용성과 확장성을 모두 높여 줍니다. 로드 균형 조정 인프라로서 동작하고 WMI(Windows Management Instrumentation) 상에 구축된 관리 응용 프로그램에 제어 정보를 제공함으로써 네트워크 로드 균형 조정은 기존의 웹 서버 팜 인프라에 자연스럽게 통합될 수 있습니다.

CLB(
구성 요소 로드 균형 조정) 클러스터도 지원합니다. 다만, 이경우는 Microsoft Application Center 제품이 추가적으로 필요합니다. COM+ 응용 프로그램에 높은 확장성 및 가용성을 제공합니다
.

Windows Server 2003
SNM(Shared Nothing Model)이며, Active/Active Active/Passive 모델 2가지를 지원합니다.


클러스터 디스크는 공유스토리지여야 합니다. NAS SAN를 이용합니다.
또는 NAS + SAN 조합의 하이브리드 형태를 이루기도 합니다.
 

*SAN
 

*NAS
서버 클러스터 규칙
-Windows Server 2003, Enterprise
또는 Datacenter Edition는 각 노드에 설치되어야 합니다.
-
클러스터의 모든 노드는 동일한 Windows Server 2003 도메인에 속해야 합니다.
-
처음으로 클러스터를 만들거나 클러스터에 노드를 추가할 때 모든 노드에 대해 권한이 있는 도메인에 로그온해야 합니다.
-
각 클러스터 노드는 클러스터 하나에만 속할 수 있습니다.
-
공유 드라이브는 NTFS 파일 시스템 형식으로 포맷되어야 합니다.
-Windows Server 2003, Enterprise Edition
또는 Windows Server 2003, Datacenter Edition 64비트 버전의 경우 클러스터 저장소 장치의 클러스터 디스크는 GPT(GUID 파티션 테이블) 디스크가 아닌 MBR디스크로 파티션되어야 합니다.
-
클러스터의 첫째 노드를 구성한 뒤에는 클러스터 노드의 컴퓨터 이름을 바꾸지 말아야 합니다.
-
공유 버스의 디스크를 다시 분할하려면 먼저 해당되는 디스크 리소스를 삭제해야 합니다.
-Windows Server 2003, Enterprise Edition
또는 Windows Server 2003, Datacenter Edition 이외의 운영 체제를 사용하여 노드를 시작할 경우 실제 디스크에서 낮은 수준의 쓰기 작업을 수행하는 진단 도구를 실행하지 않아야 합니다.
-
노드의 시스템 디스크 드라이브 문자를 다시 할당하지 않습니다.
-
모든 노드에서 WINS 서비스 또는 DNS 서비스를 사용할 수 있는지 확인합니다.
-
모든 노드와 클라이언트에 TCP/IP가 설치되어 있는지 확인합니다.
-
모든 클러스터 노드가 네트워크를 통해 서로 검색할 수 있는지 확인합니다. TCP/IP ping 유틸리티 또는 Windows Server 2003 제품군 운영 체제 net view 명령을 사용하십시오.
-
오류 메시지로 영향받은 모든 컴퓨터에 대한 이벤트 로그를 검사합니다.

클러스터 가능한 리소스의 종류
-
실제 디스크
-DHCP
서비스 및 WINS 서비스
-
인쇄 스풀러
-
파일 공유
-
인터넷 프로토콜 주소
-
로컬 쿼럼
-
주 노드 집합
-
네트워크 이름
-
일반 응용 프로그램
-
일반 스크립트
-
일반 서비스
-
볼륨 섀도 복사본 서비스 작업

1. First서버에서 클러스터 관리자에서 새클러스터 등록
 

 
 
가상서버 호스트명을 입력후, 클러스터 서비스 계정은 도메인 계정을 입력하되, 가상 서버의 암호설정 / DnsHostName / ServicePricipalName / 메시지큐 관리 및 수정권한이 있는 계정을 지정해야 합니다.
2. ip주소에는 현재 서버의 public ip를 등록
ip
주소는 클러스터에서 이용할 가상서버의 공인ip를 입력합니다. 가상서버는 앞서 입력한 MSCS입니다. 가상서버는 실제 서버처럼 네트워크 리소스에 대한 엑세스를 허용하며, MSCS처럼 고유 호스트명을 갖습니다. 그리고 입력한 공인 ip주소를 갖습니다. 이 주소에 DHCP를 사용할 수는 없습니다.

공용ip / private 네트워크는 하트비트(클러스터 노드간 통신)
노드 간 통신- 클러스터 서비스에서는 공용 네트워크가 유일하게 사용 가능한 네트워크일지라도 내부 통신에 공용 전용 네트워크는 사용하지 않습니다. 예를 들어 클러스터에 개인 네트워크로 구성된 네트워크 A와 공용 네트워크로 구성된 네트워크 B가 있고 네트워크 A에 오류가 발생했다고 가정합니다. 클러스터 서비스에서는 공용 전용인 네트워크 B를 사용하지 않으므로 노드는 통신을 중지하고 클러스터는 분리됩니다.
 
 
3. 클러스터 구성내용 확인
 
 
4. second 서버에서 클러스터관리자에서 이미 세팅된 클러스터에 노드추가
 
이미 생성된 Cluster에 노드를 추가 합니다. 그러면 이전과 동일하게 기존에 구축된 클러스터 환경을 체크하고, 기존 클러스터에 노드를 추가합니다. 추가후 에러발생시 로그를 점검해 봐야 합니다.
 
7. DHCP클러스터 구성
다음은 DHCP 서비스 클러스터 구축입니다. DHCP클러스터 구축은 DHCP서비스에서 이용할 공인IP/호스트명/DHCP 리소스가 설정되어야 합니다.

7.1 DHCP
서비스의 공인 IP 리소스 설정
 
7.1 DHCP서비스의 공인 호스트명 리소스 설정
 
 
7.1 DHCP서비스의 공인 DHCP서비스 리소스 설정
 
물론 DHCP 서비스를 하기위해서는 IP/호스트가 필요하기 때문에, DHCP클러스터 서비스를 활성화하기 전에 IP/호스트 리소스가 먼저 활성화되어야 합니다.
 
 
8. Wins 클러스터 구성
Wins
클러스터 구축도 DHCP 클러스터 구축과 동일합니다. Wins서비스도 IP/호스트 가 필요하므로 DHCP클러스터 구축순서와 같습니다.
 
 
9. 장애조치와 장애복구 설정
 
장애 조치(FailOver) -
서버 클러스터의 개별 응용 프로그램에서 오류가 발생하지만 노드에서는 발생하지 않을 경우 클러스터 서비스는 대개 동일한 노드에서 응용 프로그램을 다시 시작하려고 합니다. 이 시도가 실패하면 클러스터 서비스는 해당 응용 프로그램의 리소스를 서버 클러스터의 다른 노드로 이동하여 다시 시작합니다. 이 프로세스를 장애 조치라고 합니다
 
 
그룹에 대한 장애 조치 정책은 그룹을 오프라인 상태로 만들기 전까지 지정한 시간(기간) 안에 그룹에 대해 수행할 수 있는 장애 조치 최대 횟수(임계값)입니다. 그룹 장애 조치가 이 횟수보다 더 많이 수행될 경우 클러스터 서비스에서는 해당 그룹을 오프라인 상태로 놓아 둡니다. 예를 들어 그룹 장애 조치 임계값을 5로 설정하고 장애 조치 기간이 3으로 설정할 경우 클러스터 서비스에서는 그룹에 대해 세 시간 동안 5번까지 장애 조치를 수행합니다. 해당 그룹의 리소스에 6번째 오류가 발생할 경우 클러스터 서비스는 해당 그룹의 다른 모든 리소스도 오류로 처리하며 해당 그룹에 대하 장애 조치를 수행하는 대신 전체 그룹을 오프라인 상태로 둡니다.
 
장애 복구(FailBack)-
노드가 어떤 이유에서인지 비활성 상태가 되면 클러스터 서비스는 이 노드에서 호스트하는 그룹에 대해 장애 조치를 수행합니다. 노드가 다시 시작되면 클러스터 서비스는 이 노드에서 원래 호스트한 그룹에 대해 장애 복구를 수행할 수 있습니다.
 
 
장애 복구(failback) 발생 기간의 시간 간격을 설정하려면 간격의 시작과 끝으로서 0 23 사이의 숫자를 입력합니다. 첫째 숫자가 두 번째 숫자보다 크면 간격은 다음날 끝납니다. 해당 숫자는 24시간제 형식으로 읽을 경우 클러스터 그룹의 로컬 시간과 일치합니다. 피크 사용 시간에 장애 복구가 실행되지 않으려면 장애 복구 시간을 설정하는 것이 중요합니다.
 
 
 
10. 서버 클러스터 백업 및 복원

가용성을 높이기 위해서는 서버 클러스터에 대한 정기적인 백업이 반드시 필요합니다.

10.1.클러스터 데이터 백업

*
클러스터 백업순서
1.
클러스터의 각 노드에서 ASR(시스템 자동 복구) 백업을 수행합니다.
2.
각 노드에서 클러스터 디스크를 백업합니다
.
3.
노드에서 실행 중인 Microsoft Exchange Server 또는 Microsoft SQL Server 등의 개별 응용 프로그램을 백업합니다
.

서버 클러스터에는 클러스터의 원활한 동작에 필수적인 네 가지 데이터 그룹인 클러스터 디스크의 디스크 서명과 파티션, 클러스터 쿼럼 데이터, 클러스터 디스크 데이터 및 개별 클러스터 노드 데이터가 있습니다
.

-
클러스터 디스크 서명과 파티션

서버 클러스터 노드의 데이터를 백업하기 전에 백업 마법사의 시스템 자동 복구를 사용하여 클러스터 디스크의 서명과 파티션을 백업해야 합니다. 이 단계는 전체 시스템에 오류가 발생하거나 마지막 백업 이후 쿼럼 디스크의 서명을 변경한 경우 등 나중에 쿼럼 디스크의 서명을 복원해야 할 때 필요합니다.

-
클러스터 쿼럼 데이터

서버 클러스터 노드의 데이터를 백업할 때 클러스터 쿼럼도 백업해야 합니다. 클러스터 쿼럼에는 현재 클러스터 구성, 응용 프로그램 레지스트리 검사점 및 클러스터 복구 로그가 포함되어 있어 중요합니다. 클러스터 서비스가 실행 중인 노드에서 클러스터 쿼럼 데이터를 백업할 수 있습니다. 한 노드의 클러스터 쿼럼 디스크를 백업했으면 나머지 클러스터 노드의 쿼럼은 백업할 필요가 없습니다. 그러나 나머지 클러스터 노드의 클러스터링 소프트웨어, 클러스터 관리 소프트웨어, 시스템 상태 및 응용 프로그램 데이터는 백업이 필요할 수 있습니다.

-
클러스터 디스크 데이터 및 개별 클러스터 노드 데이터

일반적인 백업방법과 동일하게 수행합니다.

10.2.클러스터 데이터 복원
클러스터 복원은 오류의 유형에 따라 복원 방법이 약간 달라집니다.

1-
클러스터 디스크 데이터 손실

2-
클러스터 쿼럼 손상
3-
클러스터 쿼럼 검사점 소멸
4-
클러스터 디스크 손상 또는 오류
5-
클러스터 쿼럼 디스크 오류
6-
단일 클러스터 디스크 손상 또는 오류
7-
클러스터 쿼럼 롤백
8-
전체 클러스터 오류
9-
주 노드 집합 클러스터 오류
10-
서버 클러스터에서 응용 프로그램 데이터 손실

Ø       클러스터링 구성을 생각하시는 분이시라면, 24 서비스 무장애 및 서버의 가용성, 구성의 확장성 등 을 생각 해봐야 합니다.

Ø       클러스터링 서버라는 것은 n개의 서버가 마치 1개의 서버 처럼 굴러 가는 시스템을 말합니다.  주로 수요 용량을 증설 하거나

Ø       있을수 있는 시스템의 장애를 대비 하는 것으로 로드벨런싱 과 같이 많이 들 사용합니다.  클러스터링을 구현 하는데 많은 벤더사에서

Ø       제공하는 어플리케이션과 단일 소프트가 있습니다. OS의 플레폼에 따라.. 서비스에 따라.. 시스템 메니저 및 관리자는 고심을 하게됩니다.

Ø       MS에서 말하는 클러스터 서버, 주로 2003에서 그 기능이 향상된 위와 같은 시스템에 단점이 몇가지 있습니다.

Ø       현실 적인 문제인 비용적 측면과 노드의 장애에는 강하지만.. 있을 수 있는 DB서버 및 File 서버에 대해선 거의 손을 쓸수 없습니다.

Ø       저의 경우도 모든 구성에 DB서버의 Raid CardFail이 발생했을 때 속수 무책으로 RaidCard가 오기만을 기다렸습니다...  

Ø       그렇다고 해서 파이버 스토리 서버를 똑같이 하나더 구성한다는 것은 Data의 중요도에 따라 다르겠지만.. 낭비라 생각 합니다.

Ø       빵빵한 구성의 서버를 팍팍  사주는 회사 라면 모를까  비용적인 측면을 극복하기엔 무척이나 어렵다 생각 합니다.

+ Recent posts