CUBRID2008 LINUX DAEMON AUTO SERVICE설정 방법
소개: CUBRID2008 CentOS5 LINUX(UNIX) 계열의 SERVER REBOOT 상황이 발생할 때 데몬(auto)으로 CUBRID DB server, broker 기동하여 업무의 효율성을 높일 수 있도록 정리한 문서이다
2009-03-29 기술컨설팅팀 정만영, CUBRID
적용 대상: CentOS5, CUBRID2008
이 설정방법은 DBA가 직접 CUBRID process 기동이 어려운 상황에 있을 때 사용될 수 있다. 이 문서는 linux(unix) 데몬에 등록하여 시스템이 정상적으로 shutdown할 경우 자동으로 DB와 CUBRID process를 안전적으로 start/stop방법 기술 하였다, 유의 사항으로 DB가 기동되어 있는 상태에서 정전이나 서버 이상으로 down된다면 DB가 손상될 수 있어 DBA가 직접 모니터링 후 구동하는 것을 권고한다.
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
cub_auto_server 파일 퍼미션을 수정한다.
Permission 수정하기 ROOT USER
[root@mozart init.d]#chmod +x cub_auto_server
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 등록한다.
$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
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가 이상 없는지 확인
이 글은 구 버전(2008 R1.x)에 대한 글이므로,
새 버전 사용자는
http://www.cubrid.org/wiki_tutorials/entry/how-to-start-or-autostart-a-cubrid-database
또는 매뉴얼의
http://www.cubrid.org/manual/92/ko/install.html#linux > Linux에서 시스템 구동 시 CUBRID 자동 구동하기
를 참고해주세요.