안녕하세요... HA 환경설정하다가 문제 생겨서 질문 올립니다...
ha_db_list 파라메터로 test 라는 데이터베이스 하나만 넣었을때는
cubrid changemode test@db1 으로 확인시
active 상태로 잘 작동하고 failover도 잘됩니다...
근데 여기서 ha_db_list=aza:test 를 하였을경우
cubrid changemode test@db1
to-be-active 상태에서 변경이 되질 않습니다...
뭐 강제로... cubrid changemode -fm active test@db1 으로 하면 active 상태로 넘어가긴하는데
자동 failover 가 안일어납니다...
----------------------------------------------------------------------------
cubrid_ha.conf 설정은 이렇게 되어있습니다..
[common]
ha_mode=yes
ha_port_id=59901
ha_node_list=cubrid@db1:db2
ha_db_list=aza:test
#ha_ping_hosts=db1:db2
ha_apply_max_mem_size=800
ha_copy_sync_mode=semisync:semisync
----------------------------------------------------------------------------
ha_db_list=aza
ha_db_list=test
둘중 하나만 설정 하였을경우에는 잘 동작합니다...
아 그리고 추가적으로 cubrid_ha.conf 설정파일을 보면
밑에 주석으로...
ha_copy_sync_mode=sync:semi-sync 로 되어있는데... semi-sync는 안되는거 같네요...
그냥 semisync로 변경 해주셔야될거 같습니다..
큐브리드사 직원분들이 오늘 워크샵을 떠나시고, HA 지식이 미천한 제가 답변을 달아 봅니다.
==> 최초 HA 구성 시 복제 초기화가 완료되지 않으면 promote(-->active )가 완료되지 않습니다.
==> 2개 노드로 구성하고, 하나의 노드만 시작해 놓으면 위 문제처럼 to-be-active에 멈춰 있을 것입니다.
==> 2개의 노드로 구성했다면, 2개 노드를 모두 시작하여야 HA 복제를 초기화하면서 active로 변경될 것입니다.
==> 2개 노드 모두 시작한 상태라면, 두개 노드에서의 HA 설정이 동일한지, 서버 버전이 같은지, 연결 가능한 호스트명이 등록되었는지 등등 환경을 확인해봐야 합니다.
http://cubrid.org/manual/ko/8.4.4/ha.html#cubrid-ha
를 보시면 ha_mode를 on으로 설정한 노드는 ha_node_list에 해당 노드가 반드시 포함되어 있어야 한다고 나옵니다. 자기 노드가 포함되어 있는지도 확인해주세요.
주석 오타 이슈는 등록하였습니다. 제보 감사 드립니다.
semi-sync --> semisync