본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

티베로 Podman Docker SysMaster DB 설치

by 3604 2025. 7. 23.
728x90

설치 환경 세팅

1. 도커(Docker) 혹은 파드맨(Podman) 설치

1.1. 엔진 선택

사용하고자 하는 엔진에 따라 도커 혹은 파드맨을 설치한다.

Docker 엔진을 사용할 경우

Docker-compose, Kubernetes 를 통해 SysMaster DB를 구동할 수 있다.

RHELPodman 엔진을 사용할 경우

Podman-compose 환경을 통해 SysMaster DB를 구동할 수 있다.

1.2. 도커(Docker) 엔진 설치

아래의 주소에서 도커 엔진 설치 방법 문서를 확인한 후 운영체제에 맞는 도커 엔진을 설치한다.

https://docs.docker.com/engine/install/

설치 환경의 인터넷 연결 여부에 따른 설치 방법은 다음과 같다.

인터넷 연결이 가능한 경우

"Install using the repository"과정에 따라 설치한다.

이때 별도의 버전을 명시하지 않고 가장 최신 버전을 설치할 것을 권장한다.

인터넷 연결이 불가능한 경우

"Install from a package"과정에 따라 패키지 별 설치 파일을 별도로 배포해 설치한다.

이때 각 패키지 별로 가장 최신 버전을 설치할 것을 권장한다.

다음은 Centos 7, x86-64 기준의 설치 파일 경로 예시이다.https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

이때 도커 엔진 설치 과정에서 최종적으로 설치되어야 하는 패키지는 docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin이다.

참고

리눅스의 경우 도커 엔진 설치 이후 sudo 명령어 없이 운영하기 위해 아래 주소를 참고하여 시스템 구성하는 것을 권장한다.

https://docs.docker.com/engine/install/linux-postinstall/

docker version명령을 사용하여 정상적으로 도커/ 파드맨이 설치되었는지 확인한다.

1.3 파드맨(Podman) 엔진 설치

아래의 주소에서 설치 방법을 확인한 후 설치한다.

https://podman.io/get-started

파드맨 엔진 설치 과정에서 최종적으로 설치되어야 하는 패키지는 podman, Slirp4netns, podman-plugins이다.

참고

파드맨(Podman)rootless container 기능을 지원하여 sudo 명령어 없이 컨테이너를 운용할 수 있다. Linux Kernel 4.18 이하에서는 디스크 볼륨을 rootless container에 마운트 할 수 없기 때문에 PodmanRed Hat Enterprise Linux 8 이상부터 지원한다.

podman version명령을 사용하여 정상적으로 도커/ 파드맨이 설치되었는지 확인한다.

 

 

2. SysMaster DB 8 구동 플랫폼 설치

'Docker-compose', 'Kubernetes', 'Podman-compose'중에서 하나만 선택하여 설치한다.

Docker-compose

Docker 설치 시 docker-compose-plugin 패키지가 함께 설치된다. Docker가 정상적으로 설치되었을 경우 docker-compose 환경을 위한 별도의 추가 설치 과정은 필요 없다.

docker compose version명령을 사용해 정상적으로 docker compose가 설치되었는지 확인한다.

Podman-compose

Podman-compose podman docker-compose 처럼 사용할 수 있게 해주는 툴이다.

Python 기반으로 만들어져 있어 pip를 사용해서 설치한다sudo pip3 install podman-compose

정상적으로 podman-compose가 설치되었는지 확인한다.podman-compose version

Kubernetes

아래의 주소에서 Kubernetes 설치 방법을 확인한 후 운영체제에 맞는 Kubernetes를 설치한다.https://kubernetes.io/ko/docs/setup/production-environment/tools/

추가적으로 아래의 주소에서 Kubectl 설치 방법을 확인한 후 운영체제에 맞는 Kubectl을 설치한다.https://kubernetes.io/ko/docs/tasks/tools/

 

배포 파일 구성

1. SysMaster DB 8.2 파일 구성

설치 환경에 따른 SysMaster DB 8.2의 배포 파일은 다음과 같이 구성된다.

Docker-compose 환경

Copy

sysmaster-db-{version}.tar

meta.conf

repo.conf

docker-compose.yml

.env

sysmaster-db-patch-{version}.tar

patch

Kubernetes 환경

Copy

sysmaster-db-{version}.tar

kubernetes

+-- init

|-- 0.namespace.yaml

|-- configmap.yaml

|-- pvc.yaml

|-- service.yaml

+-- db

|-- metadb-deployment.yaml

|-- repodb-deployment.yaml

+-- kafka

|-- kafka.yaml

+-- sysmaster

|-- analyzer-deployment.yaml

|-- client-deployment.yaml

|-- collector-deployment.yaml

|-- sdm-deployment.yaml

|-- tibero-master-deployment.yaml

sysmaster-db-patch-{version}.tar

patch

2. Java TPM Agent 파일 구성

Java TPM Agent의 배포 파일은 다음과 같이 구성된다.

Copy

jdk8

+-- aix7

|-- ibm-semeru-open-jdk_ppc64_aix_8u382b05_openj9-0.40.0.tar

lib

+-- aix7

|-- libJNITpmStat.so

+-- centos7

|-- libJNITpmStat.so

app.jar

application.yml

set.sh

tpmctl.sh

 

SysMaster DB 8.2 설치하기

SysMaster DB 8.2 설치 방법을 Docker-compose / Podman-compose 환경Kubernetes 환경으로 나누어 설명한다. 이때 각 환경에서 다음과 같은 단계로 설명한다.

설치 및 파라미터 설정- SysMaster DB 8.2 의 설치 및 파라미터 설정방법에 대해서 설명한다.

기동 / 로그 확인 / 종료 / 초기화- 기동, 로그 확인, 종료, 초기화 방법에 대해서 설명한다.

마지막으로 외부 접속 허용 포트에서는 SysMaster DB 8.2에서 사용하는 포트들에 대해서 설명한다.

 

설치 및 파라미터 설정

Docker-compose Podman-compose 환경에서 SysMaster DB 8.2를 설치하는 과정이다.

참고

Podman-composeDocker-compose 스타일의 yml 파일을 지원하기 때문에 동일한 yml 파일을 가지고 docker / podman 환경에서 모두 구동할 수 있다

1. Docker / Podman 이미지 로드

설치 파일이 준비된 디렉터리에서 아래의 명령을 수행하여 Docker / Podman 이미지를 로드한다.

Docker:

 

docker load -i sysmaster-db-{version}.tar

Podman:

 

podman load -i sysmaster-db-{version}.tar

이때 로드된 컨테이너 이미지 목록은 다음과 같다.

sysmaster-db-client:{version}

sysmaster-db-sdm:{version}

sysmaster-db-tibero-master:{version}

sysmaster-db-collector:{version}

sysmaster-db-analyzer:{version}

sysmaster-db-tmaxopensql-postgres:{version}

sysmaster-db-schema-registry:{version}

sysmaster-db-kafka-loggable:{version}

sysmaster-db-zookeeper-loggable:{version}

참고

docker images | grep sysmaster명령어를 통해 컨테이너 이미지 목록을 확인할 수 있다.

2. Docker / Podman 서비스 정의

설치 디렉터리에서 docker-compose.yml파일을 열어 Docker-compose / Podman-compose 환경에 생성하는 10개의 서비스들에 대해 정의한다. 각 서비스에 대한 설명은 다음과 같다.

3. 설치 파라미터 설정

설치 디렉터리에서 .env 파일을 열어 SysMaster DB 8.2의 설치에 필요한 파라미터 값을 설정한다.

참고

.env 파일이 없다면 vim .env명령어를 이용해 생성한다.

이때 각 파라미터들은 개행으로 구분하며, 파라미터 이름과 값 사이에는 공백 없이 등호를 하나 입력한다.

 

CLIENT_PORT=80

ADMIN_USERNAME=admin

ADMIN_PASSWORD=admin

COLLECTOR_PORT=8292

METADB_PORT=25432

METADB_USER=sysmaster

METADB_PASSWORD=sysmaster

METADB_PATH=./meta

METADB_CONF_PATH=./meta.conf

REPODB_PORT=15432

REPODB_USER=sysmaster

REPODB_PASSWORD=sysmaster

REPODB_PATH=./repo

REPODB_CONF_PATH=./repo.conf

RETENTION_DAY=7

LOG_PATH=./logs

LOG_RETENTION_DAY=1

LOG_FILE_SIZE=100MB

LOG_TOTAL_SIZE=1000MB

LOG_LEVEL=info

CONTAINER_LOG_PATH=/sysmaster/logs

KAFKA_MESSAGE_MAX_BYTES=20971520

TIME_ZONE=Asia/Seoul

SQL_FLUSH_THRESHOLD=100

SQL_RS_FETCH_SIZE=1000

# SKIP_DB_USER_COUNT_MIGRATION_PATCH=true

# SKIP_DAILY_SEGMENT_MIGRATION_PATCH=true

SDM_HEAP_SIZE_MAX=

SDM_HEAP_SIZE_MIN=

ANALYZER_HEAP_SIZE_MAX=

ANALYZER_HEAP_SIZE_MIN=

COLLECTOR_HEAP_SIZE_MAX=

COLLECTOR_HEAP_SIZE_MIN=

TBM_HEAP_SIZE_MAX=

TBM_HEAP_SIZE_MIN=

PERFORMANCE_LOGGING=

해당 과정에서 설정하는 파라미터에 대한 설명은 다음과 같다

 

참고

SKIP_DB_USER_COUNT_MIGRATION_PATCH, SKIP_DAILY_SEGMENT_MIGRATION_PATCH파라미터는 신규 설치 시에는 필요하지 않고, SysMaster DB v8.1.2 이하 기설치 환경에서 버전 업데이트를 수행하는 경우에만 적용이 필요하다.

각 파라미터를 별도로 설정하지 않으면, 버전 업데이트 시 해당 패치가 자동으로 수행되면서 기수집 데이터를 기반으로 DB_USER_COUNT, DAILY_SEGMENT데이터를 생성한다.

이때, 기수집 데이터양에 따라 패치 수행에 장시간 소요될 수 있으므로, 해당 파라미터를 통해 사용자가 선택적으로 해당 패치 수행 여부를 설정할 수 있다.

v8.1.3 이상의 SysMaster DB서비스 이용 시, DB_USER_COUNT, DAILY_SEGMENT데이터는 각각 다음 메뉴에서 사용된다.

1. DB_USER_COUNT데이터 - Analysis > All Session Flow 메뉴

2. DAILY_SEGMENT데이터 - Analysis > Segment Usage 메뉴

따라서 해당 패치를 생략하도록 설정(각 파라미터를 true로 설정하고 주석 제거)하는 경우, 1, 2의 메뉴에서 과거(해당 업데이트 이전에 수집된) 데이터가 조회되지 않는다. 그러므로 기본적으로는 해당 파라미터를 별도로 설정하지 않는 것을 권장한다.

반면 다음과 같은 경우, 사용자는 해당 파라미터를 true로 설정(주석 제거)하여 앞서 설명한 패치를 생략할 수 있다.

1, 2의 메뉴에서 과거(SysMaster DB v8.1.2 이하에서 수집된) 데이터 조회가 불필요한 경우

(SysMaster DB 서버 자원 제한 등의 이유로) 해당 데이터 생성 패치 진행 시 장시간 SysMaster DB 사용이 불가능해지는 상황이 우려되고, 이를 방지해야만 하는 경우

사용자는 필요에 따라, 해당 두 파라미터 중 원하는 파라미터만 선택적으로 설정하는 것도 가능하다.

 

 

4. Meta DB Repository DB 파라미터 설정

설치 디렉터리에서 meta.conf, repo.conf파일을 통해 Meta DB Repository DB 파라미터 값을 확인할 수 있다. 해당 conf 파일은 기본적으로 제공되는 설정값을 사용하되, 다음에서 설명하는 파라미터는 필요 시 구동 환경에 맞게 사용자가 직접 설정해준다

 

 

 

참고

Meta DB Repository DB 파라미터 변경이 필요한 경우, 관련 파라미터 설정은 TmaxOpenSQL 사용 가이드를 참조할 수 있다. 그러나 관련 파라미터 설정을 임의 수정하는 경우, SysMaster DB 서버의 정상 동작이 보장되지 않는다. 따라서 위 표에 명시된 파라미터 외 다른 파라미터는, 기본 제공 설정값을 그대로 사용하는 것을 권장한다.

특히 Podman-compose 환경에서의 설치 시, pg_owner_idpg_group_id 값을 직접 설정(변경)하는 경우 정상 동작하지 않을 수 있다.Podman의 컨테이너는 Rootless모드로 동작하고, 컨테이너 내부의 root (owner_id = 0, group_id = 0)가 호스트 머신의 유저에 대응된다. 하지만 OpenSQLroot 권한 상태에서의 설치 및 기동을 허용하고 있지 않기 때문에 기본 설정값을 사용하는 것을 권장한다.

 

기동 / 로그 확인 / 종료 / 초기화

1. 기동

1) SysMaster DB 환경 변수 설정

export SYSMASTERDB_HOME={SysMasterDB_Home_Path}

 

인자 설명

{SysMasterDB_Home_Path} docker-compose.yml 파일이 위치한 디렉터리 경로

 

2) SYSMASTERDB_HOMEPATH에 추가

export PATH=$PATH:$SYSMASTERDB_HOME

 

3) 실행

sysmaster-db up

 

부팅이 완료된 이후에 로그인과 프로그램 사용이 가능하다. 부팅 완료는 SDM 로그에서 아래와 같은 로그를 통해 확인할 수 있다.

 

Started SdmApplication in ... seconds (JVM running for ...)

 

2. 로그 확인

.env 파일의 로그 관련 파라미터 설정을 통해 로그가 저장될 경로를 지정할 수 있다. default 로그 경로는 ./logs이므로 docker-compose.yml 파일이 있는 디렉터리에 logs 폴더가 자동으로 생성되며, 여기서 로그 파일을 확인할 수 있다.

 

참고

Client 모듈의 경우 따로 로그를 파일로 남기고 있지 않고 있으므로, docker compose logs와 같은 명령어로 출력되는 로그를 확인해야한다.

 

3. 종료

(SysMaster DB 8.2 기동을 위한 환경 변수PATH가 설정된 상태에서) 아래의 명령을 수행하면 모든 서비스가 제거되고, SysMaster DB 8.2가 종료된다. 이때 SysMaster DB 8.2를 종료해도 METADB_PATHREPODB_PATH에 생성된 파일은 유지되므로, SysMaster DB 8.2를 다시 기동하면 종료 전과 동일하게 사용할 수 있다.

 

sysmaster-db down

 

4. 초기화

METADB_PATHREPODB_PATH 디렉터리를 삭제한 후 SysMaster DB 8를 다시 기동하면 최초 설치 상태와 동일하게 동작한다. , 이전에 저장한 데이터는 사용할 수 없다.

 

출처:https://docs.tmaxtibero.com/sysmasterdb/sysmasterdb-manual/installation-guide/installation/docker-compose-podman-compose-environment/installation-parameters

 

728x90