큐브리드 이중화 관련하여 설정 내용 문의드립니다.

by 신나여 posted Dec 17, 2013

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
 Linux 64bit
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java 1.6

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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


안녕하세요. 큐브리드 이중화 작업이 잘 안돼서 문의글 올립니다.

사용가이드를 보고 설정했는데 잘 되지 않네요.


현재 하드웨어 2개에 각각 같은 버전(8.4.0)의 큐브리드가 설치되어 있습니다.


0. 현재 db1 과 db2의 포트가 1523 만 오픈되어 있습니다. 59901, 7 번 포트도 오픈하는게 맞나요?


1. 가이드를 보고 설정 후 cubrid heartbeat start를 하니 다음과 같은 에러가 나요..


Invalid Parameter. ha_db_list

Could not load one or more mandatory properties in configuration files.

어떤 설정이 덜 되었을때 위의 에러가 나오나요?


2. [CUBRID HA 그룹 내에서 사용할 그룹 이름] 이란게 어떤걸 말하는 건가요?

그룹명을 설정하는 부분이 따로있나요? 설정하지 않으면 기본값으로 cubrid가 되나요?

http://www.cubrid.org/manual/ko/8.4.4/ha.html#cubrid-ha-conf  ha_node_list 부분)


3.  ha_db_list에서 각각의 데이터베이스명이 다른데 상관없는건가요? 그럼 ha_db_list에는 해당 서버의 데이터베이스명을 적어주면 되는건가요?

여러개의 데이터베이스명에서는 쉼표(,)로 쓰라고 했는데 하나의 서버에 여러개의 데이터베이스를 말하는건가요?

(ha_db_list=mdb1 로 설정을 했는데 안되어 ha_db_list=mdb1,mdb2로도 해 봤는데 역시나 안됩니다..ㅠㅠ)


4. db1을 먼저 cubrid heartbeat start 하고, db2에 cubrid heartbeat start 명령어를 치면 db1이 master, db2가 slave가 되는건가요?

http://www.cubrid.com/zbxe/37888 이분의 글을 보면 디비 각각에 자신이 master가 되고 남은 db가 slave가 되던데 저 분의 글이 맞는건가요? 아니면 설정나름인가요? (저는 db1을 master로 사용하고 싶습니다.)


5. 설정이 완료되면 db1에 CRUD가 발생하였을때 db2에도 알아서 변경되나요? 아니면 스케쥴링같은 작업등을 설정해야야 하나요?

아래는 이중화를 위한 설정한 내용 입니다.
아래 내용이 맞는지 확인 부탁드립니다.^^

제가 확인 한 사항에서 부족한 점이 있으면 코멘트 부탁드립니다.ㅠㅜ



설정 파일 : cubrid_broker.conf,  cubrid_ha.conf 


설정정보

IP : 1.1.1.1 / DBNAME : mdb1 / hosts : db1

IP : 1.1.1.2 / DBNAME : mdb2 / hosts : db2


master : db1

slave : db2


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

> hosts : db1


 - cubrid_ha.conf 파일 설정


[common]

ha_mode=yes

ha_port_id=59901

ha_node_list=cubrid@db1:db2

ha_db_list=mdb1

ha_copy_sync_mode=sync:sync

ha_apply_max_size=500


[%apple|*]

#ha_copy_sync_mode=sync:sync


#[%banana|*]

#[%banana|monkey]

#ha_copy_sync_mode=sync:semi-sync



 - cubrid_broker.conf 파일 설정


BROKER_PORT             =30000

MIN_NUM_APPL_SERVER     =5

MAX_NUM_APPL_SERVER     =40

APPL_SERVER_SHM_ID      =30000

LOG_DIR                 =log/broker/sql_log

ERROR_LOG_DIR           =log/broker/error_log

SQL_LOG                 =ON

TIME_TO_KILL            =120

SESSION_TIMEOUT         =300

KEEP_CONNECTION         =AUTO


[%BROKER1]

SERVICE                 =ON

BROKER_PORT             =33000

MIN_NUM_APPL_SERVER     =5

MAX_NUM_APPL_SERVER     =40

APPL_SERVER_SHM_ID      =33000

LOG_DIR                 =log/broker/sql_log

ERROR_LOG_DIR           =log/broker/error_log

SQL_LOG                 =ON

TIME_TO_KILL            =120

SESSION_TIMEOUT         =300

KEEP_CONNECTION         =AUTO


# Broker mode setting parameter

ACCESS_MODE             = PHRO

PREFERRED_HOSTS         = db1:db2


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

> hosts : db2

 - cubrid_ha.conf 파일 설정
[common]
ha_mode=yes
ha_port_id=59901
ha_node_list=cubrid@db1:db2
ha_db_list=mdb2
ha_copy_sync_mode=sync:sync
ha_apply_max_size=500


#[common]
#ha_mode=yes
#ha_port_id=59901
#ha_node_list=foo@apple:banana
#ha_db_list=tdb
#ha_apply_max_mem_size=300
#ha_copy_sync_mode=sync:sync

# '[%host-name|user-name]' type of section is available
# '*' is special type of user-name that means the all users.
# Parameters in each section can redefine the all parameters for CUBRID HA.

#[%apple|*]
#ha_copy_sync_mode=sync:async

#[%banana|*]
#ha_copy_sync_mode=sync:async

#[%banana|monkey]
#ha_copy_sync_mode=sync:semi-sync


 - cubrid_broker.conf 파일 설정


MIN_NUM_APPL_SERVER     =5
MAX_NUM_APPL_SERVER     =40
APPL_SERVER_SHM_ID      =30000
LOG_DIR                 =log/broker/sql_log
ERROR_LOG_DIR           =log/broker/error_log
SQL_LOG                 =ON
TIME_TO_KILL            =120
SESSION_TIMEOUT         =300
KEEP_CONNECTION         =AUTO

[%BROKER1]
SERVICE                 =ON
BROKER_PORT             =33000
MIN_NUM_APPL_SERVER     =5
MAX_NUM_APPL_SERVER     =40
APPL_SERVER_SHM_ID      =33000
LOG_DIR                 =log/broker/sql_log
ERROR_LOG_DIR           =log/broker/error_log
SQL_LOG                 =ON
TIME_TO_KILL            =120
SESSION_TIMEOUT         =300
KEEP_CONNECTION         =AUTO

# Broker mode setting parameter
ACCESS_MODE             = PHRO
PREFERRED_HOSTS         = db1:db2

----------------------------------------------------------
/etc/hosts 설정(2개 같음) :
1.1.1.1   db1
1.1.1.2   db2

----------------------------------------------------------
JDBC 드라이버 해당 IP 2개 추가


긴 글 읽어주셔서 감사합니다.!


답변 기다리겠습니다.^^