Background Image

FORUM

조회 수 206 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
 Oracle Linux 7.9
CUBRID Ver.
 10.2.5.8886
CUBRID TOOL Ver.
 
응용 환경(API)
 


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

CUBRID HA — CUBRID 10.2.0 documentation 

 

귀사에서 제공하는 위 매뉴얼을 보고 슬레이브 재구축을 테스트해보고 있습니다.

(다른 시나리오는 정상적으로 테스트 완료했습니다.)

 

마스터-슬레이브-레플리카 환경은 매뉴얼과 동일하게 세팅했습니다.

 

 

_images/rebuild_slave_process.png

 

 

1) 첫 번째 문의사항

 

위 시나리오 중 5번 단계를 슬레이브 노드에서 수해아면 다음과 같은 에러가 발생합니다.

 

------------------------------------------------------------------------------------------------------

[cubrid@urp2 testdb_urp1]$ cubrid heartbeat start
@ cubrid heartbeat start
@ cubrid master start
++ cubrid master start: success
@ HA processes start
@ cubrid server start: testdb

This may take a long time depending on the amount of recovery works to do.

CUBRID 10.2

++ cubrid server start: success
@ copylogdb start
++ copylogdb start: success
@ applylogdb start
++ applylogdb start: success
++ HA processes start: fail
++ cubrid heartbeat start: fail

------------------------------------------------------------------------------------------------------

 

해당 에러가 발생했을 때의 로그 파일을 첨부합니다. (error log.zip)

 

 

2) 두 번째 문의사항

 

위 시나리오 중 1번 단계에서 cubrid hb repl stop 구문을 실행하면 다음과 같이 fail 메시지가 나옵니다.

 

------------------------------------------------------------------------------------------------------

[cubrid@urp1 ~]$ cubrid heartbeat repl stop testdb urp2
@ cubrid heartbeat replication
@ copylogdb stop
The server configured for HA is not listed in ha_node_list.
++ copylogdb stop: fail
@ applylogdb stop
The server configured for HA is not listed in ha_node_list.
++ applylogdb stop: fail
++ cubrid heartbeat replication: success

------------------------------------------------------------------------------------------------------

 

해당 명령어를 실행하면 copylogdb, applylogdb 프로세스가 중지되어야 하지 않나요?프로세스를 검색하면 다음과 같이 살아 있습니다.

 

------------------------------------------------------------------------------------------------------

[cubrid@urp1 ~]$ ps -ef | grep cub_
...

...
cubrid   21512     1  0 14:48 pts/1    00:00:02 cub_admin copylogdb -L /app/cubrid/CUBRID/databases/testdb_urp2 -m sync testdb@urp2
cubrid   21514     1  0 14:48 pts/1    00:00:05 cub_admin applylogdb -L /app/cubrid/CUBRID/databases/testdb_urp2 --max-mem-size=300 testdb@localhost

------------------------------------------------------------------------------------------------------

 

그래서 다음 두 개의 명령어로 중지 시켰는데 이렇게 중지 시켜도 맞을까요?

 

  - cubrid heartbeat copylogdb stop testdb urp2

  - cubrid heartbeat applylogdb stop testdb urp2

 

 

3) 세 번 째 문의사항

 

위 시나리오를 보면 슬레이브 노드에서 db_ha_apply_info 테이블의 레코드를 삭제하는 부분이 없습니다.

 

그러나 매뉴얼 상에서는 1번 단계에서 슬레이브 노드의 데이터베이스 볼륨을 삭제하고 db_ha_apply_info 정보를 삭제하는 부분이 있습니다.

 

데이터베이스 볼륨을 삭제했다는 것은 DB 자체가 지워진건데, 그럼 csql로 접속이 안될텐데 잘못된 부분이 아닐지요...

 

 

 

답변 부탁 드리겠습니다..

 

 

  • ?
    오명환 2022.03.28 13:25
    (1) 첫번째 문의 사항의 답변
    - 올려주신 error log 중 applylogdb의 error를 보니 db_ha_apply_info를 초기화하지 못해 오류가 발생했습니다.
    구성시 db_ha_apply_info 내용을 삭제하셨나요 ?

    (2) 두번째 문의 사항의 답변
    - cubrid_ha.conf의 ha_node_list 부분이 제대로 설정되지 않아 오류가 발생한 것 같습니다. 확인해보세요.
    - cubrid heartbeat copylogdb/applylogdb stop으로 정지시켜도 됩니다. 또한 kill pid로 하셔도 됩니다.

    (3) 세번째 문의 사항의 답변
    - 그림을 보시면 (1)번에 slave DB를 삭제하고 (2)번에서 master의 백업 본으로 slave에 restoredb를 통해 DB를 재구성한 후 csql를 통해 db_ha_apply_info 데이타를 삭제하게 되어 있습니다. 즉, csql는 복구된 DB에 접속하는 것입니다.
  • ?
    kikiki767 2022.03.28 13:52 Files첨부 (1)

    (1) 첫 번째 문의에 대한 재문의

     

    해당 에러는 마스터 노드(urp1)의 DB 백업본을 이용하여 슬레이브 노드(urp2)에 복구한 후,
    db_ha_apply_info 테이블에 복제 정보를 추가한 상태입니다.

     

    즉, 아카이브 로그까지 슬레이브 노드에 다 복사한 후(실제로는 아카이브 파일이 생성 안된 상태여서 미수행) 슬레이브 노드에서 HA를 기동하려다 에러가 발생한 상황입니다.

     


    (2) 두 번째 문의에 대한 재문의

     

    선행 시나리오로 다음 링크를 수행한 상태입니다.

     

      - https://www.cubrid.org/manual/ko/10.2/ha.html#add-replica (서비스 운영 중 레플리카 추가)

     

    현재 모든 노드의 cubrid_ha.conf 내용은 다음과 같이 동일합니다.

     

    ------------------------------
    [common]
    ha_port_id=59901
    ha_node_list=cubrid@urp1:urp2
    ha_replica_list=cubrid@urp3
    ha_db_list=testdb
    ha_apply_max_mem_size=300
    ha_copy_sync_mode=sync:sync
    ha_copy_log_max_archives=1
    ------------------------------

     


    (3) 세 번째 문의에 대한 재문의

     

    그림에는 그렇게 되어 있지만 매뉴얼에는 2번 단계에 이런 내용이 있습니다.

     

    ----------------------------------------------------------------------
    nodeB의 db_ha_apply_info 정보를 모두 삭제하여 초기화한다.

    ----------------------------------------------------------------------

     

    첨부된 파일 확인 부탁드립니다.

  • ?
    오명환 2022.03.28 16:32
    (1) slave에서 master 백업 볼륨으로 복구 후 db_ha_apply_info 테이블에서 복제 정보를 반드시 초기화 (record 삭제) 하셔야 합니다.
    삭제 방법은 csql --sysadm -u dba 를 이용하셔서 delete from db_ha_apply_info. 구문을 수행하시면 됩니다. (3번 문의 관련 첨부하신 파일처럼 수행하면 됩니다.)

    (2) ha_node_list 설정값이 있는데, 오류가 발생한 부분에 대해서는 확인 후 댓글 남기겠습니다.
  • ?
    kikiki767 2022.03.28 17:33

    (1)

    매뉴얼 상에는 슬레이브 노드에서 DB 복구 후 db_ha_apply_info 테이블에
    마스터 노드의 복제 정보를 insert 하는 것으로 나와 있습니다.

    답변 주신대로 슬레이브 노드에서 DB 복구 후 db_ha_apply_info 테이블에 레코드가 없는 상태에서,
    (애초에 마스터 노드의 db_ha_apply_info 레코드를 지운 상태에서 백업 진행)

    활성 로그 및 보관 로그를 전부 슬레이브에 복사한 다음에 HA 기동이 정상적으로 되었습니다.


    그럼 애초에 매뉴얼상의 시나리오나 작업 절차가 잘못 작성된 것 아닌가요?
    굳이 마스터 노드에서 백업 시 생성된 로그 파일에서 HA 정보를 확인한 다음,
    스크립트 파일을 작성하고 슬레이브 노드 DB에 insert 하는 스탭이 필요 없는게 아닐지요...

  • ?
    오명환 2022.03.29 09:46
    (1) 지적하신대로 매뉴얼의 slave db에서 db_ha_apply_info 를 삭제하는 부분이 순서가 잘 못되었네요.
    master db의 백업을 가지고 slave에서 복구 후에 삭제하는 것이 맞습니다. 이 부분의 매뉴얼은 수정하도록 하겠습니다.
    매뉴얼 오류에 대해 보고해주셔서 감사합니다.

    (2) 현재 설명 그림의 재구성 방법은 master db의 서비스를 멈추지 않고 재구성하는 방법의 설명입니다.
    백업 후에도 insert/delete/update.가 발생할 수 있어, 백업시의 최종 로그 정보를 기억해두었다가 slave db 재구성시 db_ha_apply_info에 master 복제에 대한 정보를 기입하여 백업 시점이후의 변경된 정보부터 복제를 하기 위함입니다.
    서비스 정지후 재구성시에는 백업 이후에 변경분이 발생하지 않으므로 db_ha_apply_info의 master node 정보를 지워서 초기화하면 됩니다. (제가 알려드린 것은 서비스 정지후 재구성이라고 보시면 됩니다.)

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views143
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4481
    read more
  3. 큐브리드 마이그레이션툴 사용시 권한질문입니다.

    Date2019.01.31 Bybjosbkjx Views208
    Read More
  4. CUBRID 옵티마이저는 Index Condition Pushdown = ICP 기능을 제공하나요??

    Date2018.03.22 ByOPQR Views208
    Read More
  5. 데이터가져오기] 줄바꿈 데이터

    Date2022.06.07 Byozro Views208
    Read More
  6. 큐브리드 포트포워딩 질문입니다..

    Date2019.05.23 ByKunAguero Views207
    Read More
  7. CUBRID_ADO_NET_4_5_10_2_latest.zip 를 적용하였을때 connection 오류

    Date2020.10.13 By푸르른하늘 Views207
    Read More
  8. backupdb 실행 문의

    Date2021.03.02 ByJB Views207
    Read More
  9. 쿼리 조회오류인가요??

    Date2021.03.11 By다음 Views207
    Read More
  10. 테이블/컬럼명 자동완성 설정문의

    Date2023.02.10 Bydfdfdd Views207
    Read More
  11. 2가지 질문 드려도 될까요? 볼륨 자동증가 및 아카이브 로그 질문입니다.

    Date2020.11.24 By덴드로비움 Views207
    Read More
  12. 큐브리드 컬럼 디폴트값

    Date2023.02.06 By백수인 Views206
    Read More
  13. 큐브리드 매니저 사용시 복구가 안되요

    Date2021.11.05 By개발자1 Views206
    Read More
  14. union 관련 문의입니다.

    Date2021.10.26 ByEline Views206
    Read More
  15. 파티션 테이블 목록을 조회 할려고 하는데요.

    Date2020.03.25 ByPhilip Park Views206
    Read More
  16. HA 구성 중 슬레이브 재구축 문의 드립니다.

    Date2022.03.25 Bykikiki767 Views206
    Read More
  17. 10.2 :: round 함수에 버그가 있는 것으로 보입니다.

    Date2021.02.04 Byrednuts Views206
    Read More
  18. 정수/정수 결과를 소수로 출력하게 하는법

    Date2022.02.23 Bysuyeon Views206
    Read More
  19. 쿼리 오류 (컬럼 조회 순서에 따라 오류)

    Date2022.08.11 Byozro Views205
    Read More
  20. group_concat null 질문

    Date2019.08.19 Bywndud Views205
    Read More
  21. 생성 스크립트에 대한 트리거 순서에 대하여 질문 드립니다.

    Date2021.05.17 By제로미 Views205
    Read More
  22. HA slave applydblog 오류 문의

    Date2021.10.13 By아리별 Views205
    Read More
Board Pagination Prev 1 ... 154 155 156 157 158 159 160 161 162 163 ... 201 Next
/ 201

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales