cubrid.conf 파일은 $CUBRID/conf 디렉터리에 위치하며, CUBRID의 전반적인 설정 정보를 담고 있다. 여기에서는 cubrid.conf 중 CUBRID HA가 사용하는 파라미터를 설명한다.
CUBRID HA 기능을 설정하는 파라미터이다. 기본값은 off이다.
ha_mode 파라미터는 [@<database>] 섹션에서 재설정할 수 있으나, off만 입력할 수 있다. [@<database>] 섹션에 off가 아닌 값을 입력하면 오류가 출력된다.
ha_mode가 on이면 cubrid_ha.conf를 읽어 CUBRID HA를 설정한다.
이 파라미터는 동적으로 변경할 수 없으며, 변경하면 해당 노드를 다시 시작해야 한다.
media_failure_support가 yes일 때 보존할 보관 로그 파일의 최소 개수를 설정하는 파라미터이다. 최소값은 0이며 기본값은 INT_MAX이다. 이 파라미터의 동작은 force_remove_log_archives의 영향을 받는다.
활성화된 트랜잭션이 참조하고 있는 기존 보관 로그 파일이나, HA 환경에서 슬레이브 노드에 반영되지 않은 마스터 노드의 보관 로그 파일은 삭제되지 않는다. 이에 대한 자세한 내용은 아래의 force_remove_log_archives를 참고한다.
log_max_archives에 대한 자세한 내용은 로깅 관련 파라미터를 참고한다.
ha_mode를 on으로 설정하여 HA 환경을 구축하려면 force_remove_log_archives를 no로 설정하여 HA 프로세스에 의해 사용할 보관 로그(archive log)를 항상 유지하는 것을 권장한다.
force_remove_log_archives를 yes로 설정하면 HA 프로세스가 사용할 보관 로그 파일까지 삭제될 수 있고, 이로 인해 데이터베이스 복제 불일치가 발생할 수 있다. 이러한 위험성을 감수하더라도 디스크의 여유 공간을 유지하고 싶다면 force_remove_log_archives를 yes로 설정한다.
force_remove_log_archives에 대한 자세한 내용은 로깅 관련 파라미터를 참고한다.
데이터베이스 서버에 동시에 연결할 수 있는 클라이언트의 최대 수를 지정하는 파라미터이다. 기본값은 50이다.
CUBRID HA 기능을 사용하면 기본적으로 복제 로그 복사 프로세스와 복제 로그 반영 프로세스가 구동되므로, 해당 노드를 제외한 CUBRID HA 그룹 내 노드 수의 두 배를 고려하여 설정해야 한다. 또한 failover가 일어날 때 다른 노드에 접속하고 있던 클라이언트가 해당 노드에 접속할 수 있으므로 이를 고려해야 한다.
다음은 cubrid.conf 설정의 예이다.
max_clients=200
ha_mode=on
log_max_archives=100