본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

윈도우 클러스터 트러블슈팅시 알고 있으면 도움이 같다.

클러스터 리소스의 모든 것은 아래의 그림으로 설명이 되며, 이해하면 된다.

   

   

   

   

출처: <http://www.sql-server-performance.com/2008/how-sql-cluster-resource-dlls-work/>

   

   

설명을 해보자.

LookAlive : 5, IsAlive : 60 기본 값이다.

클러스터 관리자에서 리소스 속성값으로 확인이 가능하다.

   

보류 제한 시간 - 기본값은 3분이다.

3분간 온라인 , 오프라인 상태로 변경이 될때 Pending 시간을 말하는 같다.

   

   

3분동안 응답이 없을 경우에는 클러스터에서 해당 리소스의 DeadlockMonitor 수행된다.

DeadlockTimeOut 기본값은 5분이다. 300,000ms 표기가 된다.

   

DeadlockMonitor 4회간 발생하며, 5 로그상에 표기되면 실제 20 (1200,000ms) 지나면

RHS 에서 해당 리소스를 실패로 인식하여 강제 장애조치를 수행하게 된다.

   

Summary of Recovery Behavior:

  • RHS calls an entry point to resource
  • RHS waits DeadlockTimeout (5 minutes) for resource to respond
  • If resource does not respond, Cluster Service terminates RHS process to recover from unresponsive resource
  • Cluster Service waits DeadlockTimeout x 4 (20 minutes) for the RHS process to terminate
  • If RHS process does not terminate, Cluster Service calls NetFT to bugcheck the node to recover from RHS termination failure
  • NetFT bugchecks the node with a STOP 0x9e 

       

    출처: <https://blogs.msdn.microsoft.com/clustering/2013/01/24/understanding-how-failover-clustering-recovers-from-unresponsive-resources/>

       

       

       

    #. 클러스터 리소스의 속성 확인하자.

    특정 리소스에서 Hang 증상이 발생하여 Process Dump 등을 생성할때 어떤 RHS 프로세스가 문제인지 확인 있을까?

       

       

    Get-ClusterResourceType | Format-List –Property *

    >> DLL Name 확인한다.

       

       

    Get-ClusterResource| Format-List –Property *

    Get-ClusterResource "Resource Name" | Format-List –Property *

    Get-ClusterResource "SQL Server" | Format-List –Property *

       

    >> SeparateMonitor, MonitorProcessId 값을 확인

    >> MonitorProcessId 값이 실제 PID 값과 동일하다.

       

    Improvements in Windows Server 2012 개선된 점이다.

    There are some feature enhancements in Windows Server 2012 to mitigate the impact of non-responsive resource recovery. 

  • Resource Re-attach:  When a resource goes unresponsive the RHS process will recycle just as before, but any healthy resources in a running state will have their resources re-attach to the new RHS process without having to be restarted.  This means that impact from recovery is reduced, just 1 VM gets restarted and the other 4 are not impacted.
  • The resource DLL must support resource re-attach to be compatible with this new feature.  In-box resource types such as Virtual Machine and Physical Disk have been enhanced in Windows Server 2012 to take advantage of this new feature.
  • Isolation of Core resources:  Resources are now segmented by default into multiple RHS processes to keep application resources deadlocks from impacting core cluster functionality
  • All in-box resources (in ClusRes.dll) run in a dedicated Core RHS process
  • All "Physical Disk" resources run in a dedicated Storage RHS process
  • 3rd party resources run in a dedicated RHS process

    Additionally resources can also be marked with the SeparateMonitor property to run in their own dedicated RHS process in Windows Server 2012, as they could in previous releases.

       

    출처: <https://blogs.msdn.microsoft.com/clustering/2013/01/24/understanding-how-failover-clustering-recovers-from-unresponsive-resources/>

       

       

       

       

       

       

       

       

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday