Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Section

 

Column

MCCS를 사용하여 서버 이중화를 구성한 후, 서비스 운영 중에 여러 가지 장애가 발생할 수 있습니다.
이 장에서는 MCCS가 어떻게 장애를 감지하고 대처하는지에 대해 다음의 예제에서 상세하게 설명합니다.
(다음 예제에서 운영 서버는 'Active', 대기 서버는 'Standby'란 이름으로 MCCS에 등록되어 있습니다.)

 

Column
width350px

 

Panel

이 페이지의 주요 내용

Table of Contents
maxLevel4

 

 

...

  1. 대기 서버에 장애가 발생하면 MCCS는 해당 서버에 장애 발생을 표시합니다.
  2. 대기 서버가 정상화 되기 전까지 데이터 복제를 잠시 중단합니다. 


    [그림] 대기 서버 장애 발생 화면

  3. 데이터 동기화가 불가능해지고 미러 디스크가 '네트워크 연결 실패' 상태(  )가 됩니다.
  4. 대기 서버에서 장애가 발생하면 운영상에는 문제가 없지만 페일오버할 대상이 없으므로 서버 운영자는 반드시 MCCS 웹 콘솔을 통하여  통하여 장애를 확인하고 대기 서버를 정상화 시켜야 합니다.
  5. 대기 서버가 다시 정상으로 돌아되면,  아이콘이 사라집니다.
  6. 미러디스크의 DiskState 상태 값은  'Inconsistent'  에서 'UpToDate' 상태로 변경되기 위해, 데이타 동기화()를 진행합니다. 
  7. 동기화가 완료가 되면, 현재 정상 데이터가 실시간 동기화되고 있다. (  )는 상태로 변경됩니다. 

...

  1. MCCS는 MonitorInterval에 의해서 해당 리소스를 감시합니다.
  2. MonitorTimeout에 설정된 시간만큼 응답이 없으면 해당 리소스가 장애라고 판단합니다.
  3. RestartLimit에 설정된 횟수만큼 해당 리소스에 재시작 명령을 내려도 응답이 없으면 MCCS는 그 리소스가 속해 있는 그룹을 페일오버합니다.
  4. 리소스가 OnlineTrustTime에 정의되어 있는 시간 동안 정상 상태를 유지하면 MCCS는 RestartLimit의 속성값을 초기화 합니다. 왜냐하면 리소스에 장애가 발생할 경우에 재시작 횟수를 보장하기 위해서입니다.
  5. 응용프로그램 장애로 인해 페일오버가 되었다면 서버 운영자는 장애를 발생시킨 부분을 확인하여 정상화 시켜야 합니다.
  6. 장애가 발생한 부분은 MCCS 웹  콘솔에서 확인할 수 있으며, 장애가 발생한 부분을 사용자가 확인한 후에 장애 표시를 제거해 주어야 다시 페일오버 기능이 활성화됩니다. 
    자동으로 장애 표시를 제거하고자 할 경우에는 그룹 속성의 AutoFaultClearTime에 0보다 큰 값을 설정하면 됩니다. 
  7. 장애가 발생한 서버가 다시 부팅이 되면 MCCS는 두 서버간의 상호 미러 역할을 확인한 후에 장애가 발생한 서버를 복제 타깃으로 설정하고 동기화를 진행합니다. 


    [그림] 리소스 장애 표시 제거 화면


...

    • 서비스 네트워크 장애

      운영 서버에서 서비스 네트워크 장애가 발생하면 MCCS 웹 콘솔의 네트워크 주소 또는 네트워크 카드 리소스부분에 장애 표시가 되고 대기 서버로 페일오버를 진행합니다.

    •  

    • [그림] 네트워크 카드 장애 표시 화면

...

  1. 서비스 네트워크 장애는 장애가 발생한 부분을 MCCS 웹 콘솔에서 확인할 수 있습니다.
  2. MCCS는 네트워크 장애가 발생된 서버의 네트워크 케이블 단절 또는 특정 네트워크로의 Ping 타임아웃 발생 유무를 확인합니다. 
  3. 네트워크 주소 리소스가 장애 원인이라면 사용자는 네트워크 스위치 또는 네트워크 카드부터 점검해야 합니다. 네트워크와 관련된 물리적인 부분들이 정상화 된 후에는 MCCS  웹 콘솔에서 "장애표시제거" 메뉴를 선택하여 장애 표시 항목을 제거 합니다. 이 때부터는 페일오버가 가능한 상태가 됩니다. 
  4. 자동으로 장애표시를 제거하려면 그룹 소것ㅇ의 AutoFaultClearTime 에 0보다 큰 값을 설정하면 됩니다. 

    • 핫빗 네트워크 장애

      핫빗은 노드 상호간의 상태를 동기화하고 장애 상태를 결정하는 중요한 역할을 하기 때문에 반드시 이중화되어 있어야 합니다. 이중화된 핫빗 네트워크 중에서 어느 하나라도 장애가 발생하면 장애 내용은 로그창에 표시 됩니다. 
      하지만 MCCS 콘솔에는 콘솔에는 아무런 변화가 나타나지 않습니다. 이것은 운영 서버와 대기 서버에는 아무런 문제가 없다는 것을 뜻합니다. 
      이 때, 운영 서버에 문제가 생겨 대기 서버로 페일오버 해야 할 상황이 발생하면 MCCS는 장애가 발생하지 않은 정상적인 핫빗 네트워크를 이용하여 페일오버를 진행하게 됩니다.  
      만일 이중화된 핫빗 모두가 단절된 상황이라면 MCCS는 서비스 네트워크를 이용하여 핫빗 통신을 하게 됩니다. 

      [그림] 핫빗 장애 발생 화면

       

...

    • 복제 네트워크 장애 

      복제 네트워크에 장애가 발생하면 데이터 복제를 진행할 수 없으며, MCCS 콘솔의 미러 디스크 리소스 부분이 'Disconnect' 상태(  )로 표시 됩니다.

       
       
    • [그림] 복제 네트워크 장애 발생 화면

 

  1. 복제 네트워크 장애는 MCCS 로그 및 OS 로그에서 및 OS 로그에서 장애내역을 확인할 수 있습니다. 복제 네트워크 장애가 발생하면 서버 관리자는 서버의 TCP/IP, 물리적인 연결상태 및 ping 테스트를 통해 복제 네트워크가 정상적인 상태인지를 확인해야 합니다.
  2. 만약 비정상적인 상황이라면 카드 불량, 케이블 연결 불량 혹은 케이블 단선 등을 확인하고 장애 원인을 제거해야 합니다.

...

          [그림] 네트워크 스위치 장애 발생 화면

 

  1. 네트워크 스위치 장애는 MCCS 로그, OS 로그 OS 로그에서 장애 내역을 확인할 수 있습니다. 
    서버 관리자는 케이블 연결 상태 및 ping 테스트를 통해 해당 네트워크 스위치 상태 및 네트워크 연결 상태를 확인하고 장애 원인을 제거해야 합니다.
  2. 자동으로 장애 표시를 제거하려면 그룹 속성의 AutoFaultClearTime에 0보다 큰 값을 설정하면 됩니다.
  3. 네트워크 스위치 장애에 대한 복구는 해당 제조사를 통하여 지원 받으시기 바랍니다.

...

  • 소스 디스크 장애 

    운영 서버의 미러 디스크 리소스에 장애가 발생하면 MCCS 웹 콘솔에 장애가 MCCS 웹 콘솔에 장애 표시됩니다. MCCS는 해당 디스크에 Read/Write가 불가능한 상황이므로 장애로 인식하여 대기 서버로 페일오버를 진행합니다. 

     

    [그림] 미러 디스크 장애 발생 화면


  1. MCCS에서 디스크에 대한 장애 감지 방식은 다음과 같습니다.
    • 해당 디스크에 대해서 Read/Write를 실행합니다.
    • 해당 디스크의 마운트 유무를 판단합니다.
  2. 디스크 장애 발생 요인은 다음과 같은 경우가 있을 수 있습니다. 위의 문제가 해결 된 후에 운영 체제는 변경된 디스크를 다시 인식합니다.이후 DRBD에서 동기화를 진행합니다.
    • 디스크 컨트롤러 문제 하드웨어 자체의 문제는 해당 업체에서 해결해야 합니다.
    • 물리적인 디스크 문제 하드웨어 자체의 문제는 해당 업체에서 해결해야 합니다.
  3. 미러 리소스에서 동기화가 진행되지 않으면 미러디스크 리소스를 삭제한 후에 다시 생성해야 생성해야 합니다.  단, 삭제 시 리소스만 삭제가 아니라 생성된 미러까지 삭제하고 다시 생성해야 합니다. 

  • 타깃 디스크 장애 
    대기 서버의 디스크에 장애가 발생하면 MCCS 웹 콘솔MCCS 웹 콘솔의 디스크 리소스 아이콘은 변화가 없고, Diskstate 의 속성 값이 UptoDate에서 Diskless 로 변경 됩니다. 그러나 소스 서버에서 운영중인 서비스에는 영향을 미치지 않습니다. 

    [그림] 타깃 디스크 장애 발생 화면

  1. MCCS에서 타깃 디스크에 대한 장애 감지는 해당 디스크의 DiskState 상태에 대한 값만을 출력합니다. 
  2. 디스크 장애 발생 요인은 다음과 같은 경우가 있을 수 있습니다.위의 문제가 해결 된 후에 운영 체제는 변경된 디스크를 다시 인식합니다.
    이후 DRBD에서 동기화를 진행합니다.
    • 디스크 컨트롤러 문제 하드웨어 자체 문제는 해당 업체에서 해결해야 합니다.
    • 물리적인 디스크 문제 하드웨어 자체 문제는 해당 업체에서 해결해야 합니다.
    미러 리소스에서미러 리소스에서 동기화가 진행되지 않으면 미러디스크 리소스를 삭제한 후에 다시 생성 해야합니다생성 해야합니다. 
    단, 삭제 시 리소스만 삭제가 아니라 생성된 미러까지 삭제하고 다시 생성해야 합니다. 
    • 디스크 컨트롤러 문제 하드웨어 자체 문제는 해당 업체에서 해결해야 합니다.
    • 물리적인 디스크 문제 하드웨어 자체 문제는 해당 업체에서 해결해야 합니다.


  • 미러 디스크 리소스의 Split Brain

    매우 드문 경우이지만 두 서버상에서 미러 디스크 역할이 모두 Primary로 인식되었고, 콘솔의 데이터 콘솔의 데이터 값이 불일치 하는 경우입니다. 
    이러한 상황은 타깃이 소스로 변경되는 시점에 기존 소스가 타깃으로 변경되지 못한 결과이며, 이 때는 서로 자신의 데이터를 동기화하려 하지만 이전 데이터 값이 불일치하기 때문에 자동으로 동기화하지 않게 됩니다. 
    미러 디스크에서 Split Brain이 발생하는 상황은 다음과 같습니다.
  1. 소스 서버(A) 장애로 인해 페일오버가 발생합니다.
  2. 타깃 서버(B)의 역할이 Primary 로 변경됩니다. (미러 디스크 역할 변경)
  3. 최초의 소스 서버(A)를 재부팅합니다.
  4. 최초의 소스 서버(A)가 부팅된 후에 타깃 서버(B)의 역할을 확인합니다.
  5. 양 노드의 GI 값을 확인 합니다. .
  6. GI 데이터의 값이 일치유무를 확인하고 일치한다면 자동으로 데이터 동기화를 진행합니다. (5, 6번 과정 확인 실패)
  7. GI 데이터 값이 불일치 하여 어느한쪽 노드를 기준으로 동기화가 필요하며 동기화를 자동으로 진행하지 않습니다.  (Split Brain 발생)

    이러한 상태가 되면 MCCS 웹 콘솔에서 MCCS 웹 콘솔에서 미러 디스크 리소스의 아이콘 표시와 겹쳐서 나타나며(Image Modified), 'SplitBrainStatus' 속성 값이 True로 표시됩니다True로 표시됩니다.
    이러한 경우에는 미러 디스크 역할을 수동으로 변경해야 하며, 변경한 후에는 재동기화 과정이 발생합니다.
    미러 디스크 역할을 수동으로 변경하는 방법은 MCCS 콘솔을 콘솔을 이용하면 됩니다. 

  •  MCCS 웹 콘솔을 사용해서 스플릿브레인을  MCCS 웹 콘솔을 사용해서 스플릿브레인을 해결하는 방법
  1. 리소스 속성창을 확인합니다. 

    [그림] 미러디스크 스플릿 브레인 확인


  2. 미러 관리창을 확인합니다.


    [그림] 미러디스크 스플릿 브레인 확인

    Warning

    1) 양노드의 ConnectState는 StandAlone이며, SplitBrainStatus 값은 True가 됩니다.
    2) 미러디스크의 LastMirrorOnlineTime을 확인합니다. (LastMirrorOnlineTime은 시스템의 시간이므로 최신 데이터의 유무를 결정할 수 있는 절대값
    절대값이 아닙니다)
    3) 스플릿 브레인이 발생했을 때 발생하는 로그가 출력됩니다. 
    (DRBD 볼륨(r0)에 스플릿 브레인이 발생했습니다.)
    4) 미러 관리창에서 미러 상태가 'SPLIT' 상태입니다.

  3. 미러디스크를 선택하고 오른쪽 버튼을 클릭하여 '스플릿 브레인 해결'을 클릭합니다.

    [그림] 스플릿 브레인 해결  선택

  4. 스플릿브레인에 대한 설명창이 출력됩니다.
     
    [그림] 소스 노드 선택에 대한 내용 확인

  5. 소스노드를 선택합니다.

    [그림] 소스 롤 노드 선택

  6. 선택한 소스노드에 대해 다시 한번 확인합니다.

    [그림] 소스 노드 선택 다시 확인

  7. 스플릿해결 중인 화면입니다.

    [그림] 스플릿 브레인 해결 화면

  8. 스플릿해결 완료 화면입니다.

    [그림] 스플릿 브레인 해결 완료 화면

  9. 선택한 노드가 소스노드가 되고 미러디스크의 DiskState 상태는 UpToData로 바뀌게 됩니다. 

    [그림] 스플릿 브레인 해결

    Warning

    노드 B 의 변경된 정보는 모두 덮어써지게 됩니다

     

...

MCCS 에 문제가 생겼을 경우 로그와 환경 정보의 수집을 위해서 서포트 파일을 수집할 수 있습니다.
서포트 파일을 수집하는 방법은 다음과 같이 2가지가 있습니다.

 

웹 콘솔로 수집하는 방법

  1. MCCS 웹 콘솔에서 메뉴바의 MCCS 웹 콘솔에서 메뉴바의 '파일'을 클릭하여 서포트 파일을 수집할 수 있습니다.
    Image Modified
    [그림] 메뉴바에서 서포트 파일 수집  

  2. MCCS의 툴바 아이콘을 클릭하면 서포트 파일을 수집할 수 있습니다.
    Image Modified
    [그림] 툴바에서 서포트 파일 수집

  3. 서포트 파일을 수집할 노드의 선택과 이전에 받은 서포트파일을 다시 받을 수 있습니다.

    [그림] 서포트 파일 노드 선택 및 이전 서포트 파일 선택 여부

  4. 확인 버튼을 누르면 서포트 파일을 수집합니다.

    [그림] 서포트 파일 수집 중 화면

     

    Info

    로그파일의 용량과 네트워크의 상태에 따라서 몇 분이 걸릴 수도 있습니다.


  5. 아래와 같이 다운로드 창이 열리게 되고 다운받으시면 됩니다.


  6. 수집된 서포트 파일은 지정된 위치에서 확인할 수 있습니다.

    [그림] 서포트 파일 수집 확인

...