왜 Resource가 다른 Node로 Failover되었나?

2014.04.01 19:47 | Posted by 로멘틱가이

Cluster Cluster 운영 시 고객이 가장 많이 하는 질문은 다음과 같습니다.

“왜 Resource가 다른 node로 Failover된 거죠”

특히 Windows 2003이나 이전 버전의 경우 시간 소모가 많습니다.

그런 경우 가장 많이 처리하는 방법이 여기에 있습니다.

  • Cluster의 MPS Report를 수집합니다. 이 방법은 CSS팀으로 데이터를 보내 일차 분석하는 경우 자주 쓰입니다.
  • 모든 Node에서 Event Log를 확인합니다. 일반적으로 에러가 발생할 때(일반적으로 Event ID 1069) 부근을 바탕으로 System Event Log를 확인합니다. 그 시간과 비교하여 Application Event Log도 같이 확인합니다.(여기서 핵심은 처음에 발생한 오류가 대부분 그 주 원인입니다.)
  • Cluster Log를 확인합니다.(실력이 되면;; )

Note : Cluster Log 분석 시 시간은 GMT 기반 시간이므로 확인 시 반영하여야 합니다. Default Log Size가 8MB이므로 History가 많은 경우 Log Size를 늘려줍니다.(Cluster.exe 를 사용하여 변경 가능)

다음으로 Cluster Log와 관련하여 일반적으로 많이 나타나는 항목에 대해 알아보겠습니다. 이슈가 되는 Log는 일반적으로 ERR / Warn에서 나타납니다.

  • Status 170 : 일반적으로 해당 Resource가 사용중인 경우 발생합니다. 이것은 영구적인 예약 문제일 가능성이 높습니다. MPIO, Fibre/HBA Driver, Lower Level의 File System, Anti Virus, Quota 관리와 같은 Software, Back Program에서 발생하는 경우가 많습니다.

00000c94.000008d4::<date and time>.585 INFO Physical Disk <Disk Q:>: [DiskArb] Issuing Reserve on signature 33af636f. 00000c94.000008d4::<date and time>.616 ERR Physical Disk <Disk Q:>: [DiskArb] Reserve completed, status 170.
00000c94.000008d4::<date and time>.616 INFO Physical Disk <Disk Q:>: [DiskArb] Arbitrate returned status 170.

  • Status 1117 : ERROR_IO_DEVICE(I/O 장치 오류로 인해 요청을 수행할 수 없다.)인 경우에 발생합니다. 일반적으로 Event ID 1123을 함께 발생합니다.

000015a0.000014a8::<date and time>.511 WARN IP Address <IP Address resource name>: IP Interface 4 (address 10.101.160.65) failed LooksAlive check, status 1117, address 0x10119e0, instance 0xf74d6fb8.
000015a0.000014a8::<date and time>.511 WARN IP Address <IP Address resource name>: IP Interface 4 (address 10.101.160.65) failed IsAlive check, status 1117, address 0x10119e0, instance 0xf74d6fb8.

  • Status 5 : 일반적으로 Permission 관련 문제로 발생합니다. 일반적으로 Node간 Cluster Service Account(CSA)의 Username / Password가 맞지 않는 경우에 발생합니다. 또는 CSA 인증을 위해 통신하는 DC와의 Secure Channel이 깨진 경우에도 발생합니다. 또는 Domain GPO or Local Policy 객체 중 하나에 CSA가 적절하게 작동하기 위해 필요한 User Rights Assignment가 누락된 경우에 발생합니다.

(역자 주 : 2008 부터 CNO 개념으로 변경되어 해당 내용은 발생하지 않습니다.)

000014a0.00001460::::<date and time>.629 WARN [JOIN] JoinVersion data for sponsor <Cluster Name> is invalid, status 5.
000014a0.000017d0::::<date and time>.629 WARN [JOIN] Unable to get join version data from sponsor 10.7.47.100 using NTLM package, status 5.
000014a0.000017d0::::<date and time>.629 WARN [JOIN] JoinVersion data for sponsor 10.7.47.100 is invalid, status 5.
000014a0.00000438::::<date and time>.629 WARN [JOIN] Unable to get join version data from sponsor 192.101.2.1 using NTLM package, status 5.
000014a0.00000438::::<date and time>.629 WARN [JOIN] JoinVersion data for sponsor
192.101.2.1 is invalid, status 5.

  • 3rd Party Driver가 있는지 확인합니다. 일반적으로 NIC, Fibre/HBA, MPIO, NIC Teaming Software나 Hardware에서 서명된 Driver가 아닌 경우 문제를 일으킬 수 있습니다.

Cluster Failover와 관련하여 다음과 같은 유용한 Site가 있습니다.

Techniques for Tracking the Source of a Problem
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsdg_icl_lrwh.mspx?mfr=true


Anatomy of a Cluster Log Entry
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsdg_icl_fved.mspx?mfr=true

Interpreting the Cluster log
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsdg_icl_nnti.mspx?mfr=true

다음과 같은 Microsoft Knowledge Base가 있습니다.

286052  The meaning of state codes in the Cluster log


168801 How to turn on cluster logging in Microsoft Cluster Server

892422 Overview of event ID 1123 and event ID 1122 logging in Windows 2000-based and Windows Server 2003-based server clusters

914458 Behavior of the LooksAlive and IsAlive functions for the resources that are included in the Windows Server Clustering component of Windows Server 2003

242450 How to query the Microsoft Knowledge Base by using keywords and query words

926079 Frequently asked questions about the Microsoft Support Diagnostic Tool (MSDT)

 

해당 내용은 다음 Site의 내용을 해석한 내용입니다.

(참고 사이트 : http://blogs.technet.com/b/askcore/archive/2008/02/06/troubleshooting-cluster-logs-101-why-did-the-resources-failover-to-the-other-node.aspx)

Windows 2003, 2008 R2 Cluster Patch 방법

2013.12.10 14:06 | Posted by 로멘틱가이

Windows 2003, Windows 2008 R2 Cluster Patch 방법 입니다.

 

사이트 : http://support.microsoft.com/kb/174799/ko

 

 

Cluster Log

2012.08.26 02:25 | Posted by 로멘틱가이

오늘은 Cluster Log에 대해 알아보겠습니다.

 

로그위치

Windows 2003

- %SystemRoot%\Cluster Folder에 cluster.log로 생성

Windows 2008 R2

- %SystemRoot%\system32\winevt\logs Folder에 etl 파일로 생성

 

Failover Cluster Reports

- %SystemRoot%\cluster\Reports Folders에 MHTML 파일로 생성

 

Log File Copy

- Cluster /cluster:Cluster명 log /generate /copy:대상위치

- Cluster /cluster:joonCL log /generate /copy:C:\temp

 

Windows 2008 R2 Cluster Log 변경된점

- 총 3개의 etl 파일이 생성되며 Default로 100MB의 크기를 가진다.

- 한개의 etl 파일이 Full이 되면 해당 파일에 덮어쓰게 된다.

- Rebooting 시 다음 etl 파일을 사용하게 된다.

- 기본 이름은 ClusterLog.etl.001 002 003의 3개의 파일로 생성된다.

- Default Setting의 경우 100MB밖에 되지 않기 때문에 장애 시 해당 시점의 로그 내용이 덮어 써진 경우가 발생하게 된다.

 

다음과 같이 Log Size를 늘려준다.

1. 관리자 권한으로 cmd 창을 수행한다.

2. Cluster . /prop | findstr ClusterLogSize

     위와 같이 해당 로그가 100인것을 확인할 수 있습니다.(단위는 MB)

3. cluster log size를 변경합니다.

- cluster log /size:크기(단위 MB)

  cluster log /size:1024 (1GB로 Size 변경)

 

Cluster Binding 이슈

2012.07.03 15:39 | Posted by 로멘틱가이

오늘은 Cluster 설치 시 Binding 이슈 발생에 대한 내용입니다.

 

clustering 설치 시 Network Binding 관련하여 위와 같은 오류가 발생할 수 있습니다.

해당 오류는 네트워크 환경에서 Binding 순서를 정상적으로 정해놓았어도 숨김이나 Disable 네트워크가 Binding 순서에 영향을 미치기 때문에 발생합니다.

 

해결책은 다음과 같습니다.

1) set devmgt_Show_nonPersistent_devices=1

2) 네트워크 어댑터 목록을 확인하여 네트워크 설정에 표시되는 어뎁터 목록과 같은지 확인합니다.

3) 설치 전 비활성화된 어댑터를 제거합니다.

4) 설치 후 어댑터를 재설치 한 후 Disable 시킵니다.

 

참고 사이트 : http://technet.microsoft.com/ko-kr/library/ms189910(v=sql.105).aspx

Windows 2003 Quorum 오류 해결

2012.04.26 03:23 | Posted by 로멘틱가이

오늘은 Windows 2003 Quorum 오류 해결 중 물리 Disk Fault에 대해 알아보도록 하겠습니다.

 

논리적으로 깨진 경우에 대해서는 다음에 설명하도록 하겠습니다.

물리 Disk가 Fault난 경우에는 해당 Disk를 교체 해야합니다.

하지만 Quorum 정족수가 부족한 경우에는 Cluster Service 자체가 실행되지 않기 때문에 교체 후에도 Cluster Service가 올라오지 않습니다.

 

Quorum없이 강제로 실행하는 명령어를 수행하여 우선 Quorum 없이 Service를 기동시킵니다.

net start clussvc /Fixquorum

 

해당 명령어를 수행하면 쿼럼 디스크 없이도 Service가 올라옵니다.

우선 서비스가 올라온 경우 Master Node를 제외한 Node는 Node 제거를 수행합니다.

 

해당 Node 삭제 후 신규 Quorum Disk에 Local Quorum Data를 copy합니다.

(Local Quorum은 C:\Windows\Cluster의 MSCS 폴더입니다.)

 

 

해당 MSCS 폴더를 Q(witness Quorum Disk)에 Copy한 후 해당 Q 디스크를 리소스에 추가해 줍니다.

(기존 Q디스크가 Disk Q라고 등록되어 있기 때문에 Imsi Q라고 명명합니다.)

 

Imsi Q를 생성하기 전에는 Disk Q는 주 노드의 리소스이기 때문에 삭제가 되지 않지만 Imsi Q를 생성한 후에는 해당 리소스가 삭제되어짐을 확인할 수 있습니다.

해당 리소스 삭제 후 Imsi Q의 이름을 Disk Q로 변경한후 해당 서버를 리부팅 하면 서비스가 정상적으로 기동됨을 확인할 수 있습니다.

Windows 2003 쿼럼

2012.02.01 18:32 | Posted by 로멘틱가이
Windows 2003 기준의 쿼럼에 대해 설명하도록 하겠습니다.

1. 쿼럼 디스크 구성 방법
(1) 로컬 쿼럼
     - 테스트용으로 사용하며 노드의 로컬 디스크에 쿼럼 정보를 저장하는 방식이다.
     - 다른 노드의 쿼럼과 동기화를 할 수 없기 때문에 일관성을 유지할 수 없다.
     - 단일 노드 구성에 사용하는 방법이다.
(2) Node Majority(주노드)
     - 각 노드의 로컬 디스크에 쿼럼 정보를 저장하는 방식이다.
     - 다른 노드와 동기화가 되는 점이 로컬 쿼럼과 다른점이다.
     - 클러스터 서비스가 유지 되기 위해서는 과반수의 노드가 살아 있어야한다.
 노드 갯수 주 노드 집합 허용 가능 오류 노드 수 
 1  1
 2  2 0
 3  2
 4  3 1
 5  3
 6  4 2
 7  4 3
 8  5 3

(3) 표준 쿼럼
     - 2003에서 권장하는 쿼럼 방식으로 외장디스크의 한 개의 드라이브를 사용하여 쿼럼을 
       구성하는 방식이다.
     - 해당 쿼럼이 Down 되는 경우 클러스터 서비스가 다운된다.

2. 쿼럼디스크 구성파일
쿼럼 디스크는 아래 설명할 파일들로 구성되어 있으며 해당 구성을 통해 쿼럼 정보를 동기화 하며 일관성을 유지한다.

1) MSCS\chkxxx.tmp
     - 클러스터 서비스가 구동되기 위해 필요한 모든 레지스트리 정보를 가지고 있는 클러스터
       레지스트리 스냅샷 복사본 파일
2) MSCS\quolog.log
     - 클러스터의 구성정보가 변경된 순서대로 저장되어 있는 아카이브 파일
3) MSCS\<리소스의 GUID>\*.CPT
     - 응용프로그램 리소스의 GUID 값으로 폴더가 생성되며 응용프로그램 리소스가 사용하는 
       레지스트리의 일관성을 유지한다.

3. 클러스터 시작 시 구성정보 동기화 진행 과정
(1) %Windir%\Cluster\ClusDB를 기반으로 HKEY_LOCAL_MACHINE\Cluster
     레지스트리 하이브를 생성한다.
(2) 생성된 클러스터를 기반으로 다른 노드에 접속을 시도한다.
(3) 다른 노드가 기동중인 경우 기동중인 노드의 최슨 클러스터 구성 정보를 동기화 후
     클러스터 서비스를 시작한다.
     만일 기동중이 아닌 경우 
     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusDisk\
     Parameters\Signatures에 있는 정보를 기반으로 쿼럼 디스크를 Scsi Reserve 명령어로 
    가져온다.
(4) 쿼럼 디스크에 있는 Quolog.log를 바탕으로 변경된 내역을
     HKEY_LOCAL_MACHINE\Cluster 하이브에 순차적으로 적용한 후 클러스터 서비스를 
     시작한다.
(5) 노드는 3초 마다 Scsi Reserve 명령어를 소유하고 있는 쿼럼디스크와 클러스터 디스크로
     전송하여 소유권을 유지한다.

위와 같으 클러스터에서 쿼럼 디스크를 구성하는 방법과 구성요소 그리고 동기화 방법에 대해 알아보았다.

"Look Alive" "Is Alive"

2012.02.01 14:24 | Posted by 로멘틱가이

Cluster에는 각 리소스를 체크하는 두 가지 방법이 있습니다.
"Look-Alive", "Is-Alive"

두가지 방식에 대해 알아보겠습니다.
1. Look Alive
네트워크로 치면 ping과 같은 방식입니다.
해당 Resource의 로직 오류의 상황에 대해서는 알 수 없으며 단지 Resource가 살아있는지 죽었는지만 체크하는 방식입니다.

2. Is Alive
적절한 Query를 통해 해당 Resource가 정상적으로 반응하는지 체크하는 방식입니다.
예를들어 Sql Server Rsource같은 경우 Sql을 Query(Select @@Version)하여 해당 Sql Service가 정상적으로 반응하는지 체크하는 방식입니다.
Look Alive와 다르게 Query를 날리기 때문에 로직 오류에 대해서도 검출할 수 있습니다.

위와 같이 2가지 방식이 있으며 해당 검색 시간은 리소스의 속성에서 바꿀 수 있습니다.
해당 방법으로 조회 시 문제가 발견되면 해당 Resource를 재시작하며 (900초 안에 3회) 해당 재시작으로 오류가 해결되지 않으면 Group을 이동하게 됩니다.

Windows 2003 Cluster 이벤트

2012.01.31 13:36 | Posted by 로멘틱가이

다음은 Windows 2003 Cluster 관련 이벤트 로그 입니다.

이름

이벤트 ID

참고

계정 삭제 문제

1191, 1192

Active Directory 문제

1211, 1212, 1218, 1219, 1220, 1221

통신 실패

1156, 1157, 1158, 1075, 1083, 1109

디스크 탑재 오류

1035, 1037

디스크 탑재 지점 오류

1161, 1162, 1163, 1208, 1167

디스크 탑재 지점 경고

1165, 1166

경고 심각도: 경고

디스크가 SCSI 명령에 응답하지 않음

1036

디스크 서명 불일치

1034

디스크 공간 경고

1170, 1171, 1172, 1021, 1022, 1080

DNS 레코드 삭제

1149, 1150, 1151, 1152

경고 심각도: 경고

DNS 등록 오류

1195,1196

파일 공유 확인 실패

1055

파일 공유 실패

1053, 1054, 1068

일반 스크립트 오류

1232, 1233

일반 서비스 실패

1040, 1041, 1042

잘못된 명령줄

1008

IP 주소 충돌

1049

IP 주소 실패

1223, 1047, 1045, 1046, 1077, 1044

Kerberos 인증 오류

1210, 1225

Kerberos 오류

1226, 1227

NetBIOS 오류

1078

네트워크 어댑터 경고

1096

네트워크 통신 실패

1123, 1124, 1126, 1127, 1130, 1144

경고 심각도: 경고

네트워크 이름 실패

1214, 1052, 1051, 1050, 1116, 1140

네트워크 이름이 등록되지 않음

1215

네트워크 분할

1215

경고 심각도: 경고

노드 통신 실패

1106, 1107

암호 업데이트 실패

1188

사용 권한 오류

1193, 1194, 1206, 1207

클러스터 디스크 예약이 손실되었습니다.

1038

리소스 그룹 실패

1205, 1069, 1065, 1145

리소스 로드 또는 초기화 문제

1058, 1059

리소스 오프라인 실패

1182, 1117

리소스 온라인 실패

1181


<
출처 : http://technet.microsoft.com/ko-kr/library/dd491018.aspx>

이전 1 다음