사전확인사항
지원 플랫폼 및 운영체제
OpenSQL 3.0은 아래의 하드웨어 및 운영체제 환경에서 설치 및 운영이 가능합니다.
GNU
x86
Oracle Linux 8
Oracle Linux 9
Rocky Linux 8
Rocky Linux 9 RHEL 8 RHEL 9
64bits
시스템 소프트웨어 요구사항
OpenSQL 3.0을 컴파일 및 실행하기 위해 아래와 같은 시스템 소프트웨어 및 라이브러리 패키지가 사전에 설치되어야 합니다.
RHEL8/Rocky Linux 8/Oracle Linux8
PostgreSQL
glibc
2.28 이상
2.28-225.el8
GNU C 라이브러리 (시스템 기본)
필수
libgcc
8.x 이상
8.5.0-4.el8
GCC 런타임 라이브러리
필수
libstdc++
8.x 이상
8.5.0-4.el8
C++ 표준 라이브러리
필수
zlib
1.2.11 이상
1.2.11-17.el8
압축 라이브러리
필수
readline
7.0 이상
7.0-10.el8
명령줄 편집 라이브러리
필수
ncurses-libs
6.1 이상
6.1-9.20180224.el8
터미널 제어 라이브러리
필수
lz4-libs
1.8.3 이상
1.8.3-3.el8
LZ4 압축 알고리즘
필수
libicu
60.2 이상
60.2-3.el8
유니코드 지원 라이브러리
필수
openssl-libs
1.1.1 이상
1.1.1k-5.el8
SSL/TLS 암호화 라이브러리
필수
libxml2
2.9.7 이상
2.9.7-9.el8
XML 파싱 라이브러리
필수
llvm-libs
12.0 이상
12.0.1-2.el8
JIT 컴파일 (PostgreSQL 11+)
선택 (JIT 사용 시)
perl-libs
5.26 이상
5.26.3-420.el8
PL/Perl 확장 언어
선택 (PL/Perl 사용 시)
python3-libs
3.6 이상
3.6.8-38.el8
PL/Python 확장 언어
선택 (PL/Python 사용 시)
tcl
8.6 이상
8.6.8-4.el8
PL/Tcl 확장 언어
선택 (PL/Tcl 사용 시)
pam
1.3.1 이상
1.3.1-12.el8
PAM 인증
선택 (PAM 인증 사용 시)
krb5-libs
1.18 이상
1.18.2-8.el8
Kerberos 인증
선택 (Kerberos 사용 시)
libxslt
1.1.32 이상
1.1.32-6.el8
XSLT 변환
선택 (XSLT 사용 시)
openldap
2.4.46 이상
2.4.46-17.el8
LDAP 인증
선택 (LDAP 사용 시)
libselinux
2.9 이상
2.9-5.el8
SELinux 지원
선택 (SELinux 사용 시)
systemd-libs
239 이상
239-51.el8
systemd 통합
선택 (systemd 사용 시)
Patroni
python3
3.6 이상
3.6.8-38.el8
Python 인터프리터
python3-libs
3.6 이상
3.6.8-38.el8
Python 런타임 라이브러리
glibc
2.28 이상
2.28-225.el8
GNU C 라이브러리 (시스템 기본)
libgcc
8.x 이상
8.5.0-4.el8
GCC 런타임 라이브러리
libstdc++
8.x 이상
8.5.0-4.el8
C++ 표준 라이브러리
openssl-libs
1.1.1 이상
1.1.1k-5.el8
SSL/TLS 암호화 라이브러리
jq
1.5 이상
1.5-3.el8
JSON 파서/프로세서
postgresql12-libs
12.0 이상
12.15-1.el8
PostgreSQL 클라이언트 라이브러리 (psycopg2 의존)
pgAudit
openssl-devel
1.1.1 이상
1.1.1k-12.el8_9
(PostgreSQL 빌드/연동 옵션에 따라) TLS/crypto 헤더
필수
libpq-devel
13.x 이상
libpq-devel-13.20-1.el8_10
libpq(클라이언트) 헤더/라이브러리
필수
krb5-devel
1.18 이상
1.18.2-32.el8_10
(PostgreSQL 빌드/연동 옵션에 따라) GSSAPI/Kerberos 헤더
필수
Postgis
SFCGAL
1.x 이상
libSFCGAL.so.1.5.0
3D/고급 기하 연산 엔진
필수
RHEL9/Rocky Linux 9/Oracle Linux9
PostgreSQL
glibc
2.34 이상
2.34-40.el9
GNU C 라이브러리 (시스템 기본)
필수
libgcc
11.x 이상
11.2.1-9.el9
GCC 런타임 라이브러리
필수
libstdc++
11.x 이상
11.2.1-9.el9
C++ 표준 라이브러리
필수
zlib
1.2.11 이상
1.2.11-31.el9
압축 라이브러리
필수
readline
8.1 이상
8.1-4.el9
명령줄 편집 라이브러리
필수
ncurses-libs
6.2 이상
6.2-4.el9
터미널 제어 라이브러리
필수
lz4-libs
1.9.3 이상
1.9.3-5.el9
LZ4 압축 알고리즘
필수
libicu
67.1 이상
67.1-7.el9
유니코드 지원 라이브러리
필수
openssl-libs
3.0.x 이상
3.0.1-23.el9
SSL/TLS 암호화 라이브러리 (OpenSSL 3.0)
필수
libxml2
2.9.13 이상
2.9.13-3.el9
XML 파싱 라이브러리
필수
llvm-libs
14.0 이상
14.0.0-2.el9
JIT 컴파일 (PostgreSQL 11+)
선택 (JIT 사용 시)
perl-libs
5.32 이상
5.32.1-6.el9
PL/Perl 확장 언어
선택 (PL/Perl 사용 시)
python3-libs
3.9 이상
3.9.16-1.el9
PL/Python 확장 언어
선택 (PL/Python 사용 시)
tcl
8.6 이상
8.6.10-5.el9
PL/Tcl 확장 언어
선택 (PL/Tcl 사용 시)
pam
1.5.1 이상
1.5.1-10.el9
PAM 인증
선택 (PAM 인증 사용 시)
krb5-libs
1.19 이상
1.19.1-8.el9
Kerberos 인증
선택 (Kerberos 사용 시)
libxslt
1.1.34 이상
1.1.34-6.el9
XSLT 변환
선택 (XSLT 사용 시)
openldap
2.6.2 이상
2.6.2-3.el9
LDAP 인증
선택 (LDAP 사용 시)
libselinux
3.4 이상
3.4-5.el9
SELinux 지원
선택 (SELinux 사용 시)
systemd-libs
250 이상
250-4.el9
systemd 통합
선택 (systemd 사용 시)
Patroni
python3
3.9 이상
3.9.16-1.el9
Python 인터프리터
python3-libs
3.9 이상
3.9.16-1.el9
Python 런타임 라이브러리
glibc
2.34 이상
2.34-40.el9
GNU C 라이브러리 (시스템 기본)
libgcc
11.x 이상
11.2.1-9.el9
GCC 런타임 라이브러리
libstdc++
11.x 이상
11.2.1-9.el9
C++ 표준 라이브러리
openssl-libs
3.0.x 이상
3.0.1-23.el9
SSL/TLS 암호화 라이브러리 (OpenSSL 3.0)
jq
1.5 이상
1.5-3.el8
JSON 파서/프로세서
postgresql13-libs
13.0 이상
13.11-1.el9
PostgreSQL 클라이언트 라이브러리 (psycopg2 의존)
pgAudit
openssl-devel
3.x 이상
1.1.1k-12.el8_9
(PostgreSQL 빌드/연동 옵션에 따라) TLS/crypto 헤더
필수
libpq-devel
13.x 이상
libpq-devel-13.20-1.el8_10
libpq(클라이언트) 헤더/라이브러리
필수
krb5-devel
1.20.x 이상
1.18.2-32.el8_10
(PostgreSQL 빌드/연동 옵션에 따라) GSSAPI/Kerberos 헤더
필수
Postgis
SFCGAL
2.x 이상
libSFCGAL.so.2.0.0
3D/고급 기하 연산 엔진
필수
표준 아키텍쳐 구성
OpenSQL 3.0 은 고가용성을 제공하기 위해 다음과 같이 3-Node, 2-Node 구성을 권장합니다.
3-Node 구성
고가용성을 위한 대표적인 구성으로, 노드 간 이중화 및 자동 장애 조치 기능을 제공합니다.

2-Node 구성
2개의 노드만 사용하는 구성으로도 고가용성 구현이 가능하지만, 쿼럼 유지를 위해 추가적으로 Witness 노드가 필요합니다.

witness node 최소 구성 요구사항
(참고:https://etcd.io/docs/v3.5/op-guide/hardware/)
On-promise
CPU
2
4 코어 이상
RAM
8GB
16 GB 이상
Disk 타입
SSD
NVMe SSD
Disk IOPS
500 IOPS
3000 IOPS 이상
Disk bandwidth
25MB/s
100MB/s 이상
Disk 용량
50GB
100GB 이상
Networks
1Gbps
10Gbps 이상
Cloud
AWS
m4.large
2
8
3600
56.25
GCE
n1-standard-2 + 50GB PD SSD
2
7.5
1500
25
설치 전 요구사항
OpenSQL 설치를 위해서는 다음과 같은 시스템 요건이 필요합니다.
설치를 수행하는 운영체제(OS) 사용자에게는
sudo권한이 필요합니다.OpenSQL의 설치 및 실행을 위해 전용 OS 사용자 계정을 사용할 것을 권장합니다.
OpenSQL은 환경변수
OPENSQL_HOME로 설정한 위치에 설치가 되므로 사전에 설정이 필요합니다.일부 패키지들은 rust가 필요합니다. 설치가 되어 있지 않다면
$OPENSQL_RUST_BASE위치에 rust가 설치됩니다.$OPENSQL_RUST_BASE가 설정되어 있지 않다면/opt/opensql/rust에 설치됩니다.$OPENSQL_RUST_BASE하위에 cargo와 rustup라는 디렉터리가 생성되며 각 디렉터리는$CARGO_HOME,$RUSTUP_HOME의 환경 변수로 지정됩니다. 해당 위치에 cargo, rustup가 설치됩니다.만약 cargo와 rustup이 설치되었다면 상위 디렉터리를
$OPENSQL_RUST_BASE로 지정 바랍니다.
본 매뉴얼에서는 3-Node 구성을 기준으로 각 노드에 설치되는 애플리케이션의 구성 예시를 제공합니다. 각 서버는 클러스터 구성에 필요한 주요 컴포넌트를 포함하며, OpenSQL 3.0의 고가용성 환경을 구성하는 기반이 됩니다.
node1
PostgreSQL, OpenHA
178.176.0.2
node2
PostgreSQL, OpenHA, Openproxy
178.176.0.3
node3
PostgreSQL, OpenHA, Openproxy
178.176.0.4
참고
상기 구성은 예시이며, 실제 IP 주소 및 배포구성은 환경에 따라 조정될 수 있습니다.
Last updated
