2007~2011/Windows Platform2010. 6. 30. 11:13

Windows Server 2003 클러스터 환경에서 오류에 의한 Failover 발생 이후 특정 디스크 리소스가 온라인 되지 않고 '온라인 보류(Online Pending)' 상태로 남아 있는 현상이 발생하였을 때, 확인해 볼 만한 사항에 대해서 아래와 같이 정리하였습니다.


[환경]
Windows Server 2003 EE SP2


[현상]
클러스터 관리자 'APP Group' 에 포함된 Z Drive 가 온라인 되지 않고 '온라인 보류' 상태로 남아 있음


[원인]
디스크 I/O 요청 처리에 필요한 커널 리소스가 부족할 경우 DISK 예약 손실이 발생할 수 있으며 이와 같이 예약 손실이 발생하여 사용 중인 처리되지 않은 I/O 요청이 비정상적으로 종료될 경우 NTFS 파일 시스템 오류가 발생할 수 있습니다. 클러스터 서비스는 NTFS 파일 시스템 오류가 감지되었을 때, 디스크 온라인에 앞서 자동으로 디스크를 검사하는 것이 디자인입니다. 디스크 용량에 따라 Chkdsk 시간이 지연될 수 있습니다. 이 때 클러스터 관리자에서는 해당 디스크 리소스가 '온라인 보류' 상태로 나타나게 됩니다.


[Action Plan]
1. 성능 모니터를 통한 커널 메모리 리소스 모니터링
  - 디스크 예약 손실 문제가 재현되었을 경우 failover 키보드를 통해 수동으로 메모리 덤프를 수집 및 분석 진행

2. Disk 에 문제가 있지 않은 지 점검합니다. 동일한 경우는 아니지만 Disk 교체를 통해 문제가 해결된 사례가 있다고 합니다.

3. 온라인 보류에 의해 운영 머신의 Business Impact 가 우려되는 상황이라면 디스크 오류 발생 감지 시 클러스터 서비스에서 자동으로 디스크 검사(Check Disk)를 수행하지 않도록 기본 설정을 아래와 같이 Skip 처리할 수 있습니다. 하지만 이미 오류가 발생한 것으로 확인되었다면 오프라인 작업을 계획하여 디스크를 검사하는 것을 권장합니다.

C:\> cluster resource "디스크 Z:" /priv SkipChkdsk=1


4. Check Disk 수행에 따른 온라인 보류 발생 시, 작업관리자 프로세스 실행 상태를 확인해 보면 'chkdsk' 프로세스가 실행 중인 것을 확인할 수 있습니다. 해당 프로세스를 강제 종료하면 디스크 검사를 취소하고 디스크 리소스가 '온라인' 될 수 있습니다. Chkdsk 수행 로그는 기본적으로 C:\WINDOWS\Cluster 폴더에서 찾을 수 있으며 이벤트 로그 또는 클러스터 로그를 통해 해당 로그 파일을 찾을 수 있습니다.


[분석결과]
1. 이벤트 로그

이벤트 형식:          오류
이벤트 원본:          ClusSvc
이벤트 범주:          실제 디스크 리소스
이벤트 ID:             1038
설명:
클러스터 디스크 '디스크 Z:'의 예약이 손실되었습니다. 사용자 시스템 및 디스크 구성을 확인하십시오.


이벤트 형식:          경고
이벤트 원본:          Ntfs
이벤트 범주:          없음
이벤트 ID:             50
설명:
{지연된 데이터 쓰기 실패}  파일의 모든 데이터를 저장하지 못했습니다. 데이터가 손실되었습니다. 이 오류는 컴퓨터 하드웨어 또는 네트워크 연결 오류 때문일 수 있습니다. 다른 곳에서 이 파일을 저장하십시오

이벤트 형식:          오류
이벤트 원본:          ClusSvc
이벤트 범주:          실제 디스크 리소스
이벤트 ID:             1036
설명:
클러스터 디스크 리소스 '디스크 Z:'이(가) SCSI 유지 관리 명령에 응답하지 않았습니다.


이벤트 형식:          경고
이벤트 원본:          Ftdisk
이벤트 범주:          디스크
이벤트 ID:             57
설명:
시스템에서 데이터를 트랜잭션 로그로 플러시하지 못했습니다. 데이터 손상이 발생할 수도 있습니다.


이벤트 형식:          정보
이벤트 원본:          Application Popup
이벤트 범주:          없음
이벤트 ID:             26
설명:
응용 프로그램 팝업: Windows - 지연된 쓰기 실패 : 파일 Z:\$Mft에 대한 모든 데이터를 저장하지 못했습니다. 데이터가 손실되었습니다. 사용자 컴퓨터의 하드웨어 또는 네트워크 연결 오류 때문에 발생했습니다. 이 파일을 다른 곳에 저장해 보십시오.


이벤트 형식:          오류
이벤트 원본:          Ntfs
이벤트 범주:          디스크
이벤트 ID:             55
설명:
디스크의 파일 시스템 구조가 잘못되었으며 사용할 수 없습니다. Z: 볼륨에서 chksdk 유틸리티를 사용하십시오.


이벤트 형식:          오류
이벤트 원본:          ClusSvc
이벤트 범주:          실제 디스크 리소스
이벤트 ID:             1066
설명:
클러스터 디스크 리소스 "디스크 Z:"이(가) 잘못되었습니다. 문제를 해결하려면 'ChkDsk /F'을 실행하십시오. 리소스의 볼륨 이름은 "\\?\Volume{7533366a-fbbb-12dc-aa1d-00443b4ff85a}\"입니다.
ChkDsk 출력 파일은 "C:\WINDOWS\Cluster\ChkDsk_Disk9_SigABCDEF.log" 파일에 있습니다.
ChkDsk에서는 응용 프로그램 이벤트 로그(이벤트 ID: 26180)에 정보를 기록합니다.


이벤트 형식:          오류
이벤트 원본:          ClusSvc
이벤트 범주:          실제 디스크 리소스
이벤트 ID:             1035
설명:
클러스터 디스크 리소스 '디스크 Z:'을(를) 탑재하지 못했습니다.


2. 클러스터 로그 
 가. 최초 문제 발생 시점

      INFO Physical Disk <디스크 Z:>: [DiskArb] CompletionRoutine, status 1450.
      ERR  Physical Disk <디스크 Z:>: [DiskArb] CompletionRoutine: reservation lost!  Status 1450 


    1450 상태 코드 확인
    ERROR_NO_SYSTEM_RESOURCES(=1450)
    Insufficient system resources exist to complete the requested service.

    - 시스템 커널 리소스(Paged Pool, Nonpaged Pool, System PTEs 등) 부족에 의해 발생할 수 있음 

 나. failover 시점 

       INFO Physical Disk <디스크 Z:>: DisksOpenChkdskLogFile: chkdsk.exe output is in file: C:\WINDOWS\Cluster\ChkDsk_Disk9_SigABCDEF.log
       ERR  Physical Disk <디스크 Z:>: Online, error mounting disk or creating share names for disk. Error: 5008.


    - Check Disk 가 수행중이므로 '온라인 보류' 상태로 되어 있음을 확인


[참고자료]
Enhanced disk resource private properties when using Cluster Server
http://support.microsoft.com/kb/223023


작성자 : Lai Go / 작성일자 : 2010.06.30

Posted by Lai Go