skip to Main Content
행(Hang) 증상과 해결 방법

행(Hang) 증상과 해결 방법

행(hang)이란 시스템, 네트워크, 어플리케이션이 동작하지 않고 서비스가 응답하지 않는 상태 즉, 시스템 입출력에 대한 반응이 없는 상태로 시스템 운영이 불가능한 상태를 뜻합니다. 

행 증상의 원인으로는 하드웨어의 결함이나 Thread 혹은 Memory 부족, 리소스 경합이나 DeadLock이 발생하는 경우 등을 들 수 있으며,

비즈니스 연속성을 위해서는 행 증상을 빠르게 파악하고 해결하는 것이 중요합니다.

맨텍의 MCCS는 쿼럼(Quorum), 셀프펜싱(Self-fencing), 리모트펜싱(Remote-fencing)을 통해 시스템, 네트워크, 애플리케이션에서의 행 증상을 감지하고 자동 페일 오버 합니다.

각각의 방법에 대해 하나씩 설명 드리도록 하겠습니다.

1) 쿼럼 (Quorum) 

쿼럼은 클러스터의 분할로 스플릿 브레인(Split-brain)이 발생하는 것을 방지하기 위해 사용하는 알고리즘으로써, 각 노드로부터 투표를 받아 운영(Active) 노드를 결정하는 것을 뜻합니다.그렇다면 쿼럼 장치는 왜 필요할까요? 다수의 노드가 묶여 만들어진 클러스터는 일관된 데이터를 가지는 것이 중요합니다.

2개의 노드로 구성된 클러스터에 장애로 인해 노드 고립이 발생한 경우 데이터 유실을 유발할 수 있는 스플릿브레인이 발생할 수 있습니다. 이때 쿼럼 장치를 통해 온라인 시킬 노드와 펜싱 처리할 노드를 판단하고, 스플릿브레인을 방지하여 데이터가 유실되는 문제를 막을 수 있습니다.
모든 핫빗 / 서비스 네트워크의 동시 장애, 운영서버의 Hang 발생 등의 상황에서 쿼럼 장치를 사용하면 데이터 훼손 및 유실을 피할 수 있습니다.

2) 셀프 펜싱 (Self-fencing)

셀프 펜싱은 운영노드에서 아래와 같은 상황이 발생했을 때 시스템 종료 명령을 통해 자체적으로 노드를 재시작하여 데이터를 보호하는 방법입니다.

문제 상황 별로 셀프 펜싱 사용 여부를 설정할 수 있습니다.

  • 리소스 장애
  • Clean 동작 실패
  • 리소스 장애로 인한 리소스 그룹 Failover 중 리소스 오프라인 실패
  • 시스템 디스크 장애

3) 리모트 펜싱 (Remote-Fencing)

리모트 펜싱은 운영 노드에서 리소스 장애, Clean 동작 실패, 리소스 장애로 인한 리소스 그룹 Failover 중 리소스 오프라인 실패, 노드 장애와 같은 상황이 발생했을 때 물리 환경은 전원 제어 포트를 통해, 가상 환경은 하이퍼바이저 API를 통해 노드를 재시작하여 데이터를 보호하는 방법입니다.

Hang이나 OS의 리소스가 부족해서 명령 자체가 불가하여 셀프 펜싱을 실패한 경우, 모든 핫빗(heartbeat)이 단절 된 경우 등에서 상대 노드에 의한 리모트 펜싱을 취하게 됩니다.

리모트 펜싱을 통해 문제 상황 별로 리모트 펜싱 사용 여부를 설정할 수 있습니다.

이상 MCCS의 hang 감지 및 해결 방법에 대해 알아보았습니다.
이 외에 궁금하신 사항 혹은 비즈니스 환경에서의 서비스 연속성 (HA, 고가용)에 대한 문의는 info@mantech.co.kr 로 연락 주시기 바랍니다.

Back To Top