CUBRID2008 LINUX DAEMON AUTO SERVICE설정 방법

소개: CUBRID2008 CentOS5 LINUX(UNIX) 계열의 SERVER REBOOT 상황이 발생할 때 데몬(auto)으로 CUBRID DB server, broker 기동하여 업무의 효율성을 높일 수 있도록 정리한 문서이다

2009-03-29 기술컨설팅팀 정만영, CUBRID

적용 대상: CentOS5, CUBRID2008

CUBRID AUTO 내용

이 설정방법은 DBA가 직접 CUBRID process 기동이 어려운 상황에 있을 때 사용될 수 있다. 이 문서는 linux(unix)  데몬에 등록하여 시스템이 정상적으로 shutdown할 경우 자동으로 DB CUBRID process를 안전적으로 start/stop방법 기술 하였다,  유의 사항으로 DB가 기동되어 있는 상태에서 정전이나 서버 이상으로 down된다면 DB가 손상될 수 있어 DBA가 직접 모니터링 후 구동하는 것을 권고한다.

CUBRID2008 AUTO START 설정

SCRIPT 생성

CUBRID 사용 권한이 있는 USER에서 아래를 참조하여 스크립트를 작성한다,

스크립트 파일 만들기 (파일 이름 cub_auto_server) ROOT USER

[root@mozart init.d]#vi cub_auto_server

#! /bin/bash

 

# chkconfig: 0345 99 33

# description: init file for CBURID server daemon

# processname: cub_auto_server

# Source function library.

. /etc/init.d/functions

 

CUBRID_STOP_DATE=`date +%y%m%d`

 

start() {

    echo "CUBRID service start"

        [ $? -eq 0 ] && touch /var/lock/subsys/cub_auto_server

                 su - cub -c "cubrid service start" }

stop() {

    echo "CUBRID service stop"

        [ $? -eq 0 ] && rm -f /var/lock/subsys/cub_auto_server

                su - cub -c "cubrid service stop"

        sleep 5

}

 

case "$1" in

    start)

        start

        ;;

    stop)

        stop

        ;;

    *)

    echo $"Usage: $0 {start|stop}"

esac

PERMISSION변경

cub_auto_server 파일 퍼미션을 수정한다.

Permission 수정하기 ROOT USER

[root@mozart init.d]#chmod +x cub_auto_server

SERVER AUTO START 등록 절차 1

chkconfig 명령으로 cub_auto_server를 등록한다.

cub_auto_server 등록하기 ROOT USER

[root@mozart init.d]#chkconfig --add cub_auto_server

[root@mozart init.d]#chkconfig --level 0345 cub_auto_server on

[root@mozart init.d]#chkconfig --list | grep cub_auto_server

cub_auto_server  0:on   1:off   2:off   3:on    4:on    5:on    6:off

à runlevel 등록한 내용을 확인.

참조: etc/rc0.d에 만약 K33cub_auto_server가 링크파일 없다면 /etc/rc0.d 위치에서 ln –s ../init.d/cub_auto_server K33cub_auto_server 등록한다.

SERVER AUTO START 등록 절차 2

$CUBRID/conf/cubrid.conf auto service DB를 등록한다.

자동 구동 DB cubrid.conf에 등록

[cubrid2008@mozart init.d]# vi $CUBRID/conf/cubrid.conf

# The list of database servers in all by 'cubrid service start' command.

# This property is effective only when the above 'service' property contains 'server' keyword.

server=demodb,testdb

[root@mozart rc5.d]# ln -s /etc/init.d/cub_auto_start ./S100cub_auto_start

CUBRID PROCESS확인

Server reboot하고 cub_auto_server등록한 CUBRID Service 동작을 확인한다.

Server reboot, CUBRID Service 확인

[root@mozart init.d]# reboot

부팅 데몬에 cub_auto_start OK되는지 확인.

[root@mozart conf]# su - cub

[cub@mozart ~]$ commdb -P

-bash: commdb: command not found

[cub@mozart ~]$ cub_commdb -P

 Server testdb (rel 8.1, pid 2655)

 Server demodb (rel 8.1, pid 2546)

[cub@mozart ~]$ ps -ef | grep cm

cub       3056  3027  0 12:14 pts/1    00:00:00 grep cm

[cub@mozart ~]$ ps -ef | grep cub

cub       2544     1  0 12:04 ?        00:00:00 cub_master

cub       2546     1  0 12:04 ?        00:00:00 cub_server demodb

cub       2655     1  0 12:04 ?        00:00:00 cub_server testdb

cub       2767     1  0 12:04 ?        00:00:00 cub_broker

cub       2772     1  0 12:04 ?        00:00:00 query_editor_cub_cas_1

cub       2775     1  0 12:04 ?        00:00:00 cub_auto start

cub       2778     1  0 12:04 ?        00:00:00 cub_js start

root      3026  2984  0 12:14 pts/1    00:00:00 su - cub

cub       3027  3026  0 12:14 pts/1    00:00:00 -bash

cub       3057  3027  0 12:14 pts/1    00:00:00 ps -ef

cub       3058  3027  0 12:14 pts/1    00:00:00 grep cub

[cub@mozart ~]$ broker_monitor

% query_editor  - cub_cas [2767,39000] /home/cub/CUBRID/log/query_editor.access /home/cub/CUBRID/log/query_editor.error

  job_queue : 0, AUTO-ADD-ON, TIMEOUT:-1, SQL-LOG-ON:AB:100000, KC:AUTO

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

ID   PID     C PSIZE STATUS        LAST ACCESS TIME

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

 1  2772     0  8568  IDLE       2008/12/31 12:04:49

% broker1 OFF

[cub@mozart ~]$ vi $ CUBRID/log/ cubrid_broker.log

2008/12/31 12:03:23 stop –server down time

2008/12/31 12:04:49 start –server start time

à reboot 시간을 확인하여 stop start가 이상 없는지 확인