안녕하세요,
말씀하신 Suspend-ClusterNode -Drain 시점에서 clussvc.exe가 99%에서 교착 상태에 빠지는 현상은 내부 리소스 락이 풀리지 못해 발생하는 전형적인 Deadlock 상황입니다. 이 경우 VM들이 정상적으로 Live Migration 되지 못하고 Saved 상태로 고립되는 것은 클러스터 서비스가 CSV, VMMS, 네트워크 스위치 등 특정 자원에 대한 락을 해제하지 못했기 때문입니다.
블로킹 자원 잠금을 추적하려면 우선 WinDbg를 사용해 clussvc.exe 프로세스에 커널 모드 디버거를 연결하고 !locks 및 !critsec 명령으로 현재 보유 중인 Critical Section과 Mutex 상태를 확인하는 것이 가장 정확합니다. 동시에 Process Explorer에서 clussvc.exe 핸들을 열어 CSVFS, VMMS, NetFT 관련 오브젝트에 대한 핸들 점유 여부를 확인하면 교착 지점을 좁힐 수 있습니다. 이벤트 로그에서는 Microsoft-Windows-FailoverClustering/Diagnostic 채널을 활성화해 Drain 단계에서 어떤 리소스가 응답을 멈췄는지 추적하는 것이 도움이 됩니다.
복구 절차는 무조건 안전성을 우선해야 합니다. 강제 종료로 인해 다른 노드에 연쇄 장애를 유발하지 않으려면, 먼저 해당 노드를 클러스터에서 격리(Pause-ClusterNode -Drain 대신 Pause-ClusterNode -Force)한 뒤, Saved 상태의 VM을 수동으로 다른 노드에 Import/Start 하는 방식으로 서비스 연속성을 확보합니다. 이후 문제 노드에서 net stop clussvc로 클러스터 서비스를 중지하고, CSV 상태를 확인한 뒤 net start clussvc로 재기동합니다. 만약 CSV가 여전히 Redirected Access 모드에 머물러 있다면 Clear-ClusterSharedVolumeState를 실행해 정상화해야 합니다.
정석적인 SOP는 다음과 같습니다: 장애 노드 격리 → Saved VM 수동 복구 → 클러스터 서비스 안전 재시작 → CSV 상태 확인 및 정상화. 이 과정을 통해 다른 노드에 영향을 최소화하면서 Deadlock 상태를 해제할 수 있습니다.
도믹 내레이션.