Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.4.3 |  CUBRID 9.0.0 | 

복제 불일치 감지

마스터 노드와 슬레이브 노드의 데이터가 일치하지 않는 복제 노드 간 데이터 불일치 현상은 다음과 같은 과정을 통해 어느 정도 감지할 수 있다. 그러나, 마스터 노드와 슬레이브 노드의 데이터를 서로 직접 비교해보는 방법보다 더 정확한 확인 방법은 없음에 주의해야 한다. 복제 불일치 상태라는 판단이 서면, 마스터 노드의 데이터베이스를 슬레이브 노드에 새로 구축해야 한다(cubrid applyinfo를 실행하여 "Fail count" 값을 확인한다. "Fail count"가 0이면, 복제에 실패한 트랜잭션이 없다고 볼 수 있다(cubrid applyinfo 참고).

[nodeB]$ cubrid applyinfo -L /home/cubrid/DB/testdb_nodeA -r nodeA -a testdb

 

 *** Applied Info. ***

Committed page                 : 1913 | 2904

Insert count                   : 645

Update count                   : 0

Delete count                   : 0

Schema count                   : 60

Commit count                   : 15

Fail count                     : 0

...

  • 슬레이브 노드에서 복제 로그의 복사 지연 여부를 확인하기 위해, cubrid applyinfo를 실행하여 "Copied Active Info."의 "Append LSA" 값과 "Active Info."의 "Append LSA" 값을 비교한다. 이 값이 큰 차이를 보인다면, 복제 로그가 슬레이브 노드에 복사되는데 지연이 있다는 의미이다(cubrid applyinfo 참고).
  • [nodeB]$ cubrid applyinfo -L /home/cubrid/DB/testdb_nodeA -r nodeA -a testdb

     

    ...

     

     *** Copied Active Info. ***

    DB name                        : testdb

    DB creation time               : 11:28:00.000 AM 12/17/2010  (1292552880)

    EOF LSA                        : 1913 | 2976

    Append LSA                     : 1913 | 2976

    HA server state                : active

     

     ***  Active Info. ***

    DB name                        : testdb

    DB creation time               : 11:28:00.000 AM 12/17/2010  (1292552880)

    EOF LSA                        : 1913 | 2976

    Append LSA                     : 1913 | 2976

    HA server state                : active

  • 복제 로그 복사 지연이 의심되는 경우 네트워크 회선 속도가 느려졌는지, 디스크 여유 공간이 충분한지, 디스크 I/O에는 이상이 없는지 등을 확인한다.
  • 슬레이브 노드에서 복제 로그의 반영 지연 여부를 확인하기 위해, cubrid applyinfo를 실행하여 "Applied Info." 의 "Committed page" 값과 "Copied Active Info."의 "EOF LSA" 값을 비교한다. 이 값이 큰 차이를 보인다면, 복제 로그가 슬레이브 데이터베이스를 반영하는데 지연이 있다는 의미이다(cubrid applyinfo 참고).
  • [nodeB]$ cubrid applyinfo -L /home/cubrid/DB/testdb_nodeA -r nodeA -a testdb

     

     *** Applied Info. ***

    Committed page                 : 1913 | 2904

    Insert count                   : 645

    Update count                   : 0

    Delete count                   : 0

    Schema count                   : 60

    Commit count                   : 15

    Fail count                     : 0

     

     *** Copied Active Info. ***

    DB name                        : testdb

    DB creation time               : 11:28:00.000 AM 12/17/2010  (1292552880)

    EOF LSA                        : 1913 | 2976

    Append LSA                     : 1913 | 2976

    HA server state                : active

    ...

  • 복제 로그 반영 지연이 심한 경우 수행 시간이 긴 트랜잭션을 의심해 볼 수 있는데, 해당 트랜잭션의 수행이 정상이라면 복제 지연 역시 정상적으로 발생할 수 있다. 정상 여부를 판단하기 위해 cubrid applyinfo를 지속적으로 수행하면서 applylogdb가 복제 로그를 슬레이브 노드에 계속 반영하고 있는지 확인해야 한다.
  • copylogdb, applylogdb 프로세스가 생성한 오류 로그의 메시지를 확인한다(오류 메시지 참고).
  • 마스터 데이터베이스 테이블의 레코드 개수, 슬레이브 데이터베이스 테이블의 레코드 개수를 비교한다.