CUBRID 설치형 서비스 소개

네이버 클라우드 플랫폼 CUBRID 설치형 서비스의 개념과 기본 구조를 설명합니다. "CUBRID"는 국내유일의 오픈 소스 관계형 데이터베이스(RDBMS)인 CUBRID를 이용하고 있습니다.

CUBRID

국내 유일 Open Source DBMS(Database Management System:이하 DBMS)로서, 데이터베이스 서버, 브로커, CUBRID 매니저로 구성됩니다. 데이터베이스 서버는 다른 DMBS와 마찬가지로 Table, Column단위의 구조를 사용하여 Record단위의 데이터를 조회/변경/추가/삭제를 합니다. 브로커는 서버와 외부 응용 프로그램 간의 통신을 중계하는 CUBRID 전용 미들웨어로서, 커넥션 풀링, 모니터링, 로그 추적 및 분석 기능을 제공합니다. CUBRID Manager(이하 CM)는 데이터베이스와 브로커를 원격에서 관리할 수 있는 GUI 툴입니다. 또한, CUBRID 매니저는 사용자가 데이터베이스 서버에 SQL 질의를 수행할 수 있는 편리한 기능의 질의 편집기를 제공합니다.

CUBRID는 2008년 11월 CUBRID 2008 R1.0 버전 출시를 시작으로, 2014년 9.3 버전을 출시했으며 계속해서 발전되고 있습니다. 네이버 클라우드에서 제공하는 CUBRID 설치형 서비스에는 안정성이 검증된 CUBRID 9.2 버전을 지원합니다.

네이버 클라우드 플랫폼 CUBRID 설치형 서비스 구성

네이버 클라우드에서 지원하는 CUBRID 설치형 서비스의 경우, 설치 이후 바로 CUBRID를 사용할 수 있도록 설정하여 제공됩니다. 기본 데이터베이스인 ‘demodb’ 서버, 서버와 통신할 수 있도록 해주는 브로커가 구동 돼있어, CUBRID 매니저를 통해 데이터베이스 서버를 이용할 수 있습니다. CUBRID에서 제공하는 GUI툴 외에, CLI기반의 모니터링 프로그램이 제공됩니다. 이에 관련하여 CUBRID 사이트에서 보다 자세한 내용을 확인할 수 있습니다.

CUBRID 설치형 서비스 관리

네이버 클라우드 플랫폼 CUBRID 설치형 서비스에서 CUBRID를 관리하는 방법을 설명합니다.

CUBRID 이미지 서버 생성

CUBRID가 설치된 인스턴스 서버를 생성하면 아래와 같은 기본설정으로 DB 서버와 브로커, CM이 구동되어 제공됩니다. 주요 파라미터 설명은 아래와 같습니다.

cubrid.conf

DB 서버와 관련된 Parameter로 설명은 아래와 같습니다.
(URL : http://www.cubrid.org/manual/ko/9.2.0/admin/config.html?cubrid-broker-conf#cubrid-conf)

속성 설명
data_buffer_size=512M 데이터베이스 서버가 메모리 내에 캐시하는 데이터 버퍼의 크기를 설정하기 위한 파라미터입니다. 전체 메모리의 50%로 설정할 것을 권장합니다.
max_clients=100 데이터베이스에 접속 가능한 동시 접속 개수입니다. 최대 1023를 넘지 않게 설정할 것을 권장합니다.
log_max_archives=10 아카이브 로그 파일의 최대 보관 개수를 설정하는 파라미터입니다.

cubrid_broker.conf

브로커와 관련된 Parameter 설명은 아래와 같습니다.
(URL : http://www.cubrid.org/manual/ko/9.2.0/admin/config.html#broker-configuration)

속성 설명
BROKER_PORT = 30000 해당 브로커의 포트 번호를 지정하기 위한 파라미터입니다. 기본값으로 30000, 33000 포트 번호로 브로커가 구동되어 있습니다.
MIN_NUM_APPL_SERVER = 5 브로커에 연결 요청이 없더라도 기본적으로 대기하고 있는 CAS 프로세스의 최소 개수를 설정하는 파라미터입니다.
MAX_NUM_APPL_SERVER = 40 브로커에 동시 접속할 수 있는 CAS의 최대 개수를 설정하는 파라미터입니다.
LONG_QUERY_TIME = 1 장기 실행 질의로 판단될 질의 실행 시간을 설정하는 파라미터입니다. 해당 시간 이상으로 수행된 질의는 로그에 남습니다.

cm.conf

속성 설명
cm_port=8001 CM의 포트 번호를 지정하기 위한 파라미터입니다. 기본값으로 8001번으로 구동되어 있습니다.
cm_process_monitor_interval=5 모니터링을 수행하는 interval 주기를 설정하는 파라미터입니다.
support_mon_statistic=NO 리소스 모니터링 지원 여부와 관련된 파라미터입니다. 기본값은 NO이며, YES로 변경 시 CM 프로세스 재시작이 필요합니다. 리소스 수집을 위해 약간의 CPU 사용 및 디스크 I/O가 발생될 수 있습니다.

디렉토리 구성

CUBRID와 관련된 data, log, conf 파일의 디렉토리는 아래와 같습니다.

속성 설명
DATADIR /home1/cubrid/CUBRID/databases/demodb
DB LOGDIR /home1/cubrid/CUBRID/log/server
BROKER LOGDIR /home1/cubrid/CUBRID/log/broker/sql_log
/home1/cubrid/CUBRID/log/broker/error_log
CONF /home1/cubrid/CUBRID/conf/cubrid.conf
/home1/cubrid/CUBRID/conf/cubrid_broker.conf
statdump.sh /home1/cubrid/bin/statdump.sh

서버생성 절차

서버생성

CUBRID 이미지가 설치된 서버를 생성하는 방법을 설명합니다.

Step 1. www.ncloud.com 접속 및 Login

① 우측 상단 콘솔을 선택하여 콘솔에 접속합니다.

Step 2. 서버생성

① 서버 생성 아이콘을 클릭합니다.

Step 3. 서버 이미지 선택

① [필터]를 클릭하여 부팅 디스크의 크기를 선택한 뒤, [이미지 종류]에서 CUBRID를 선택합니다.

② OS Version을 선택합니다.

③ [다음]을 클릭합니다.

Step 4. 서버 설정

① 원하는 서버 타입을 설정합니다.

② 원하는 서버명을 입력합니다.

③ [다음]을 클릭합니다.

Step 5. 인증키 설정

인증키 설정 단계에서는 새로운 인증키를 생성하거나 기존 인증키를 그대로 사용할 수 있습니다.

① 처음 사용자는 새로운 인증키 생성을 선택하고 인증키 이름을 입력합니다.

② cubridncloudkey라는 이름으로 인증키를 입력했습니다.

③ 인증키 생성 및 저장을 클릭하고 다운로드된 cubridncloudkey.pem 파일을 안전한 곳에 저장합니다.

  • 이 파일은 향후 서버의 암호를 만들어 내는데 사용됩니다.
  • 같은 pem 파일을 사용하더라도 각각의 서버에 모두 다른 암호가 생성됩니다.

④ [다음]을 클릭합니다.

Step 6. 방화벽 설정

방화벽 설정에서는 ACG(Access Control Group)를 생성하거나 보유 ACG를 선택합니다.

① 처음 생성하는 경우는 ACG 생성을 클릭합니다.

② ACG 이름

적당한 이름을 입력합니다. cubrid를 입력했습니다.

③ 접근소스

접근을 시도하는 곳의 IP나 대역을 기입합니다. 예를 들면 단일 IP의 경우 10.64.51.205만 입력하고, 10.64.51.XXX 대역에서 모든 접근이 필요할 경우 10.64.51.0/24를 입력합니다. 내부 Private IP가 NAT 방식을 통해 외부로 나갈 경우는 Public IP를 입력해야 합니다. 0.0.0.0/0을 입력했습니다.

④ 허용포트

포트를 개별로 오픈할 경우 필요한 포트 번호를 허용 포트(서비스)에 입력 후 추가 버튼을 누릅니다. 필요한 포트가 여러 개일 경우 라인을 추가하여 입력합니다. 모든 포트를 오픈할 경우 1-65535를 입력하면 됩니다. 단, 이 경우 서버는 보안에 취약하게 됩니다. 1-65535를 입력했습니다.

⑤ 우측의 추가 아이콘을 클릭합니다.

⑥ 생성될 서버의 최종 설정을 확인합니다.

⑦ [생성]을 클릭합니다.

Step 7. 최종 확인

위 단계까지 진행하고 난 후, pem key 파일이 내 컴퓨터의 안전한 곳에 보관되어 있어야 하고, ACG 설정을 기억하고 있으면 됩니다. pem 키가 없다면 생성한 서버에 접근할 수 없으니 특별히 유의합니다.

① 서버 생성 아이콘을 클릭합니다.

② 서버가 생성될 때까지 대기합니다.

서버초기 설정 절차

서버를 생성한 후 서버에 접근하기 위해서는 공인 IP를 설정하거나 포트포워딩을 설정해야 합니다. CM을 이용하기 위해서는 공인 IP 설정이 필요합니다.

공인 IP 설정

위에 생성한 서버에 외부에서 접근하기 위해서는 공인 IP 설정이 필요합니다.

① 메뉴에서 공인 IP를 클릭합니다.

② 공인 IP 신청을 클릭합니다.

  • 공인 IP는 보유하고 계신 서버의 개수만큼 신청할 수 있습니다.

③ 적용 서버 선택 드롭 다운에서 생성된 서버를 선택합니다.

④ [신청]을 클릭합니다.

⑤ [확인]을 클릭합니다.

⑥ 수분 후 IP 주소가 할당됩니다.

  • 정상적인 공인 IP가 할당되면 터미널 프로그램을 이용해 220.230.116.207:22로 해당 서버에 바로 접근이 가능합니다.

터미널 접근을 위한 포트 포워딩 설정

포트포워딩정보에 안내된 서버접속용 공인 IP를 이용해 서버에 접속하기 위해서는 포트포워딩을 설정해야 합니다.

① 서버를 선택하고 상단의 [포트 포워딩 설정] 버튼을 선택합니다.

① 아래 화면의 포트 포워딩 설정에서 ssh접속을 위한 외부포트를 등록합니다.

② 외부포트 등록 후 [추가]를 선택합니다.

③ [적용]을 클릭합니다.

  • 위 포트포워딩 설정을 통해 cubrid-ncloud 서버이름에 49.236.160.11:1234 설정 정보로 접근할 수 있습니다.

서버 비밀번호 확인하기

① 원하는 서버를 선택합니다.

② 서버 관리 및 설정 변경 메뉴에서 관리자 비밀번호 확인을 클릭합니다.

③ [파일 선택] 클릭해 내 컴퓨터에 저장된 cubridncloudkey.pem 파일을 업로드합니다.

④ [비밀번호 확인]을 클릭합니다.

⑤ 최초 생성 시에 제공되는 관리자 비밀번호가 표시됩니다.

  • 최초 로그인 시 위 암호를 이용해 접근하고, 향후 관리를 위해 서버에서 비밀번호를 변경할 수 있습니다.

터미널을 이용한 접속

터미널을 이용하여 서버에 네이버 클라우드 플랫폼 CUBRID에 접속하는 방법을 설명합니다.

공인 IP을 통한 접속

① 서버의 접속정보를 입력합니다.

  • PORT: 기본 포트번호(22)
  • 공인 IP: 발급받은 공인 IP(예: 220.230.116.207)

② Open을 클릭하여 접속합니다.

③ [예]를 클릭하여 접속합니다.

④ 계정명 root를 입력 후 엔터를 누릅니다.

⑤ 관리자 비밀번호에서 확인한 패스워드를 입력합니다.

포트포워딩을 통한 접속

① 서버의 접속정보를 입력합니다.

  • PORT: 포트포워딩으로 설정한 포트번호(예: 1234)
  • 공인 IP: 포트포워딩 화면에 안내된 서버 접속용 공인 IP(예: 1.255.57.22)

② Open을 클릭하여 접속합니다

③ [예]를 클릭하여 접속합니다.

④ 계정명 root를 입력 후 엔터를 합니다.

⑤ 관리자 비밀번호에서 확인한 패스워드를 입력합니다.

터미널을 이용한 사용법

터미널에서 CUBRID에 접속/구동/정지 등 간단한 간단한 사용방법을 설명합니다.

CUBRID 계정 접속

CUBRID DB는 접속계정인 root계정이 아니라, cubrid계정에 생성되었습니다. 아래 같은 명령어로 cubrid계정에 접속합니다.

[root@cubrid-ncloud ~]# sudo su - cubrid
[cubrid@cubrid-ncloud ~]$

CUBRID 구동여부 확인

CUBRID 관련 프로세스 구동 여부는 아래와 같은 명령어로 확인합니다.

[cubrid@cubrid-ncloud ~]$ cubrid service status

CUBRID 정지 및 구동

CUBRID 관련 프로세스의 정지 및 구동은 아래와 같은 명령어로 실행합니다.

[cubrid@cubrid-ncloud ~]$ cubrid service stop
[cubrid@cubrid-ncloud ~]$ cubrid service start

CUBRID DB 접속 및 패스워드 변경

CUBRID DB에 접속은 아래와 같은 명령어로 실행합니다.

  • 기본 DB로 생성되어있는 demodb가 생성되어 있습니다.
  • 기본 계정으로 dba가 생성되어 있으며, dba 계정은 DB 관리자 계정입니다.
  • dba 계정은 초기 패스워드가 지정되지 않습니다.
[cubrid@cubrid-ncloud ~]$ csql -u dba demodb

보안을 위해 최초 접속시 패스워드 변경을 권장합니다. 패스워드는 아래 명령어를 사용하여 변경할 수 있습니다.

csql> alter user dba password 'password';

CLI기반 모니터링 툴 (statdump.sh) 이용

네이버 클라우드 플랫폼에서 제공하는 CUBRID서비스에는 CLI(Command Line Interface)형태의 모니터링 프로그램이 제공됩니다.

개요

CUBRID DB 상태 변화를 보기 위한 프로그램입니다. 1초단위로 DB Status를 화면에 출력하여 Real-Time에 가깝게 DB상태 변화를 모니터링 할 수 있습니다.

사용법

설치경로: /home1/cubrid/bin/statdump.sh
사용법: statdump.sh dbname

사용자 화면

모니터링 항목 설명
속성 설명
SELECT DB에서 처리되는 SELECT 쿼리의 수행 횟수
INSERT DB에서 처리되는 INSERT 쿼리의 수행 횟수
UPDATE DB에서 처리되는 UPDATE 쿼리의 수행 횟수
DELETE DB에서 처리되는 DELETE 쿼리의 수행 횟수
FETCHES DB에서 가져오기(fetch)한 페이지 수
IO READ 디스크에서 읽은 페이지 수
IO WRITE 디스크에서 기록한 페이지 수

CM을 이용한 접속 및 조작

CUBRID에서 제공하는 GUI 툴인 Cubrid Manager(이하 CM)을 이용하여 서버에 네이버 클라우드 플랫폼 CUBRID에 접속하는 방법 및 간단한 조작 방법을 설명합니다. 자세한 설명은 CM 매뉴얼 페이지를 참조합니다. (http://www.cubrid.org/manual/ko/9.3.0/cm/index.html)

CM 다운로드

CUBRID 공식 홈페이지인 아래 URL에서 CM을 다운로드합니다.
(다운 url: http://www.cubrid.org/?mid=downloads&item=cubrid_manager&os=detect)
사용하는 환경에 알맞은 OS를 선택 후 다운로드합니다.

CM 항목별 기능 설명

접속정보 추가

① 호스트 추가를 클릭합니다.

② 적절한 값을 입력합니다.

  • 호스트이름 : 적당한 별칭을 입력합니다. cubrid-ncloud로 적겠습니다.
  • 호스트주소 : 발급받은 공인IP를 입력합니다.(예: 220.230.116.207)
  • 연결포트 : 기본포트인 8001 포트를 이용합니다.
  • CM 사용자 : 기본사용자인 admin을 이용합니다.
    • Admin은 CM 관리자 계정이며, DBA는 각 데이터베이스의 관리자 계정입니다.
  • CM 비밀번호 : CUBRID 매니저 서버 접속을 위한 비밀번호로 최초 접속시 admin입니다.

③ [찾아보기]를 클릭하여 JDBC 드라이버 업데이트를 수행합니다.

  • 해당 작업을 미수행시 드라이버가 없어서 접속이 안될 수 있습니다.

④ [연결 점검]을 클릭하여 CM이 CUBRID DB에 정상적으로 접속되는지 확인합니다.

⑤ [추가]를 클릭하여 호스트리스트에 추가합니다.

CM 관리자 비밀번호 변경

보안을 위해 최초 접속시 패스워드 변경을 권장합니다.

① 상위 메뉴들 중에 [사용자]를 클릭합니다.

② [CM 관리자 비밀번호 변경]을 클릭합니다.

① 초기 비밀번호인 admin을 입력합니다.

② 공백과 admin을 제외한 4바이트 이상의 비밀번호를 입력합니다.

③ [확인]을 클릭하여 적용합니다.

  • admin 패스워드를 초기화할 수 있지만, 되도록 잊어버리지 않도록 유의합니다.

① [예]를 클릭하여 신규 비밀번호로 다시 로그인합니다.

  • 재접속하지 않을 경우, 권한문제로 데이터베이스 접속이 정상적으로 작동하지 않습니다.

CUBRID 구동여부 확인

① 각 항목에 있는 초록색을 통해 구동중임을 확인할 수 있습니다.

  • 기본 DB로 생성되어있는 demodb가 구동 중입니다.
  • 중지된 경우 빨간색으로 보입니다.

CUBRID 정지 및 구동

① demodb 데이터베이스를 우클릭합니다

② 여러 메뉴를 통해서 데이터베이스를 관리할 수 있습니다.

③ [데이터베이스 정지]를 클릭하여 데이터베이스를 정지할 수 있습니다.

  • 동일한 방법으로 브로커를 정지 및 구동할 수 있습니다.

CUBRID DB접속 및 패스워드 변경

① demodb 데이터베이스를 우클릭합니다

② [데이터베이스 로그인]을 클릭합니다.

① 사용자 이름은 DB 관리자 계정인 ‘dba’를 입력합니다. 비밀번호는 공백으로 유지합니다.

  • 기본 계정으로 dba가 생성되어 있으며, 초기 패스워드가 지정되지 않습니다.
  • 보안을 위해 최초 접속시 패스워드 변경을 권장합니다.

② [연결 테스트]를 수행하여 접속여부를 확인합니다.

  • 관리자 비밀번호 변경 후 재접속 안 했을 경우, 정상적으로 접속되지 않습니다.
  • 재접속 후 다시 시도합니다.

③ [확인]을 클릭합니다.

① demodb 데이터베이스를 우클릭합니다.

② [질의 편집기 열기]를 클릭합니다.

① 아래 명령어를 사용하여 dba 계정의 Password를 변경합니다.

  • 보안 침해 방지를 위해 최초 접속시 반드시 패스워드 변경을 합니다.
alter user dba password 'password';

② F5 혹은 파란색 화살표를 클릭하여 입력한 명령어를 수행합니다.

질의 편집기 버튼들의 설명입니다.

호스트 대시보드

① cubrid-ncloud 서버명을 우클릭합니다

② [호스트 대시보드 열기]를 클릭합니다.

  • 데이터베이스 볼륨 정보: 데이터베이스별 볼륨의 사용량을 확인할 수 있습니다.
  • 브로커 정보: 브로커 프로세스별 포트와 각종 상태 정보를 출력합니다.
  • 서버 상태 정보: 현재, 5분 평균으로 현재 서버의 메모리, CPU, TPS, QPS 정보를 조회할 수 있습니다. 대시보드를 열게 되면 15초 동안은 매 1초마다, 이후 매 30초마다 최근 상태를 출력합니다. 만약, 우측 상단의 새로고침 버튼을 클릭하면 다시 15초 동안 매 1초마다 최근 상태를 출력합니다.
  • 데이터베이스 정보: 데이터베이스별 운영 상태를 확인할 수 있습니다.
  • 시스템 정보: CUBRID 버전, Broker 버전, 서버 경로 등을 확인할 수 있습니다.

리소스 모니터링

CM의 리소스 모니터링은 서버에서 수집된 정보를 일별, 주별, 월별로 집계하여 그래프로 보여줍니다. 서버들의 상태를 비교하기에 용이하지만, 리소스 모니터링 기능을 사용하면 약간의 CPU 사용 및 디스크 I/O가 발생할 수 있습니다. 기본 설정은 정보를 수집하지 않는 것으로 되어있으며, cm.conf 파일에서 support_mon_statistic의 값을 YES로 변경 후 CM 프로세스를 재시작해야 합니다.

리소스 모니터링을 위한 사전작업
[cubrid@cubrid-ncloud ~]$ cd ~/CUBRID/conf
[cubrid@cubrid-ncloud conf]$ cat cm.conf | grep support_mon_statistic
#support_mon_statistic=NO
[cubrid@cubrid-ncloud conf]$ sed --in-place -e "s/#support_mon_statistic=NO/support_mon_statistic=YES/g" cm.conf
[cubrid@cubrid-ncloud conf]$ cat cm.conf | grep support_mon_statistic
support_mon_statistic=YES

[cubrid@cubrid-ncloud conf]$ cubrid manager stop
@ cubrid manager server stop
++ cubrid manager server stop: success
[cubrid@cubrid-ncloud conf]$ cubrid manager start
@ cubrid manager server start
++ cubrid manager server start: success
리소스 모니터링 추가

① [모니터링]탭을 클릭합니다.

② 마우스 우클릭 후 [리소스 모니터링 추가]를 클릭합니다.

① 대시보드 이름을 적습니다.

  • 대시보드 이름은 영문/숫자로 33자이내로 입력해야 합니다.
  • ncloudcubrid로 만들었습니다.

① [편집모드]를 클릭합니다.

① + 화면을 클릭하여, 그래프를 추가합니다.

② [호스트 추가] 버튼을 클릭합니다.

① 모니터링 지표로 확인하고자 하는 정보를 넣습니다.

  • 호스트: 호스트 탭에 등록된 호스트들이 드롭 다운됩니다. Cubrid-ncloud를 클릭합니다.
  • 유형: 데이터베이스/볼륨/브로커/운영체제 유형을 선택할 수 있습니다. 운영체제를 클릭합니다.
  • 시간: 일간/주간/월간/연간을 선택할 수 있습니다. 일간을 선택했습니다.
  • 지표: 보고자 하는 정보를 클릭합니다. OS Physic Memory Free를 선택했습니다.

② [확인]을 클릭합니다.

① [호스트 추가]를 클릭하여 OS Swap 그래프도 추가해봅니다.

② [확인]을 클릭합니다.

① +를 클릭하여 다양한 그래프를 추가할 수 있습니다.

② 그래프 그리기가 완료되면, [조회모드]를 클릭하여 모드를 변경합니다.

연관 정보 바로가기

아래 가이드에서 연관 정보를 확인할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...