밑에도 제가 글을 남겼는데요...
답변에 대해서는 이해를 했습니다...
그래서 답변을 토대로 구축을 하고 있는데요...
마스터1 : masterdb
슬레이브1 : slavedb1
슬레이브2 : slavedb2
masterdb + slavedb1(masterdb1) + slavedb2
위와 같이 구축을 하고 있는데요
슬레이브1이 중간 입장으로 다시 마스터 역할을 하신다고 하셔서...
masterdb를 백업하여 slavedb1 restore 하고
restore된 slavedb1를 다시 백업하여 slavedb2로 다시 restore 하여 구성 했습니다 (뭔가 복잡한가...)
암튼 아랫글 참고로 구성해서 배포db 및 에이전트 다 구성이 잘 되었는데
masterdb를 업데이트 하면 slavedb1도 잘 업데이트가 되는데 slavedb2는 업데이트가 안되더라고요...
log상에서도 에러는 나오지 않고요 slavedb1에서 distdb.perf 동기화 되었다고 나오고요
slavedb2에서 distdb.perf 에이전트 실행 했을당시에만 동기화 되었다고 나오고 막상 select 해보면 동기화는 되지 않았습니다..
제가 뭔가 잘못 구성한게 아닌지요... 아래는 명령어입니다
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
마스터
cubrid backupdb masterdb - 마스터db 백업
cubrid repl_server start masterdb - 복제서버구동
슬레이브1
repl_make_distdb distdb -p dba1 - 배포db생성
repl_make_slavedb masterdb slavedb1 -u dba -p dba1 - slavedb1생성
cubrid repl_server start slavedb1 - 복제서버구동
cubrid repl_agent start distdb dba1 - 복제에이전트실행
cubrid backupdb slavedb1 - 마스터db 백업(복구 slavedb1)
슬레이브2
repl_make_distdb distdb -p dba1 - 배포db생성
repl_make_slavedb slavedb1 slavedb2 -u dba -p dba1 - slavedb2생성
cubrid repl_agent start distdb dba1 - 복제에이전트실행
--------------------------------------------------------------------------------------------------------------------------------------------------------------실패
아랫글이 올라오기전에는
masterdb 하나에 slavedb1, slavedb2 모두가 masterdb로 붙어서 구성을 했거든요
이렇게 구성을 했을때는 슬레이브 두개 모두 마스터로 붙어서인지 잘 작동이 되었습니다
일단 아랫글 답변이 있기에 이렇게 구성은 잘못된거 같고...
어떻게 구성하는게 맞는지...
혹시 몰라서 구성했을때 사용한 명령어들을 나열 해보았습니다
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
마스터
cubrid backupdb masterdb - 마스터db 백업
cubrid repl_server start masterdb - 복제서버구동
슬레이브1
repl_make_distdb distdb -p dba1 - 배포db생성
repl_make_slavedb masterdb slavedb1 -u dba -p dba1 - slavedb1생성
cubrid repl_agent start distdb dba1 - 복제에이전트실행
슬레이브2
repl_make_distdb distdb -p dba1 - 배포db생성
repl_make_slavedb masterdb slavedb2 -u dba -p dba1 - slavedb2생성
cubrid repl_agent start distdb dba1 - 복제에이전트실행
------------------------------------------------------------------------------------------------------------------------------------------------------------성공
슬레이브2에서 복제로그가 저장되는 경로에 존재하는 distdb.err 파일의 내용을 확인 부탁 드립니다.
위에 말씀해주신 내용 상으로는 문제 될 것이 없어 보입니다.
당연히 각 서버에 cubrid.conf에 replication=yes로 설정하셨을 것이구요?
한가지 의심되는 건 슬레이브1을 백업하는 시점이 마스터의 변경이 적용되지 않은 시점에 백업이 이루어지지 않았나 하는 것입니다. 이것도 확인 부탁 드립니다. 확인 방법은 distdb.perf에 delay 값이 0이면 적용이 완료된 것입니다. 이 이후에 슬레이브1을 백업하셔야 합니다.
추가적으로 복제 구성 관련해서도 한 말씀 드리겠습니다.
통상 슬레이브 추가를 위한 구성은 질문에서 마지막에 알려 주신 master에 slave1,2 모두 붙는 형태로 구성합니다.
따라서 master에 모두 붙는 형태로 성공하셨다면 그와 같은 구성을 사용하시기 바랍니다.
현재 구성에 실패하신 다단계 구성은 슬레이브2에 데이터 반영까지는 경우에 따라 delay time이 많이 발생할 수 도 있습니다.
슬레이브1에 반영이 완료되어야 슬레이브2로 복제를 실시할 것이기 때문입니다.