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 처리할 수 있습니다. 하지만 이미 오류가 발생한 것으로 확인되었다면 오프라인 작업을 계획하여 디스크를 검사하는 것을 권장합니다.
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. 클러스터 로그
가. 최초 문제 발생 시점
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 시점
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