설치 전 준비사항
현장 설치 전에 방화벽, 디스크, 일정을 미리 점검하면 설치가 한 번에 끝납니다.
아래는 고객사 인프라팀과 BIMATRIX 엔지니어가 함께 확인하는 항목입니다.
방화벽 해제 목록
계층 1 - 사용자 접속
| # | 요청구분 | 출발지 | 목적지 | 포트 | 필요목적 |
|---|---|---|---|---|---|
| 1 | PC → 서버 | 사용자/관리자 PC (내부망 전체) | PRISM 서버 [PRISM 서버 IP] | 8200/TCP HTTP 443/TCP HTTPS(SSL 적용 시) |
웹 브라우저를 통한 대시보드, 분석 서비스 접속 |
HTTPS(443)는 설치 시
--ssl 옵션을 줄 때만 추가로 열립니다(자체 서명 또는 고객 인증서).초기 설치 검증은 8200으로 진행하며,
SSL 전환 후 8200 차단 여부는 고객이 방화벽에서 선택적으로 적용합니다(설치본이 자동 차단하지는 않습니다).
Podman(일반 계정, rootless) 환경은 컨테이너가 1024 미만 포트(80/443)를 직접 열 수 없어, HTTPS 종단은 앞단 프록시가 담당합니다(PRISM 은 8200 그대로). 방화벽에서 443 을 여는 규칙 자체는 Docker 와 동일합니다.
계층 2 - PRISM 서버 → AI 서버
| # | 요청구분 | 출발지 | 목적지 | 포트 | 필요목적 |
|---|---|---|---|---|---|
| 2 | 서버 → 서버 | PRISM 서버 [PRISM 서버 IP] | AI 서버 [AI 서버 IP] | LLM API 포트 (설치 시 협의) | 자연어 질의를 AI가 분석 쿼리로 변환하는 핵심 통신. 이 경로 차단 시 AI 응답 기능 전체가 동작하지 않습니다. |
계층 3 - PRISM 서버 → 고객 데이터베이스 (연결 DB 종류에 해당하는 항목만 신청)
| # | 출발지 | 목적지 | 포트 | 대상 DB | 필요목적 |
|---|---|---|---|---|---|
| 3 | PRISM 서버 | [고객 DB 서버 IP] | 1521/TCP | Oracle | 분석 쿼리 실행, 메타데이터 수집 |
| 4 | PRISM 서버 | [고객 DB 서버 IP] | 1433/TCP | MS SQL Server | 분석 쿼리 실행, 메타데이터 수집 |
| 5 | PRISM 서버 | [고객 DB 서버 IP] | 5432/TCP | PostgreSQL | 분석 쿼리 실행, 메타데이터 수집 |
| 6 | PRISM 서버 | [고객 DB 서버 IP] | 3306/TCP | MySQL MariaDB | 분석 쿼리 실행, 메타데이터 수집 |
| 7 | PRISM 서버 | [고객 DB 서버 IP] | 50000/TCP | IBM Db2 | 분석 쿼리 실행, 메타데이터 수집 |
| 8 | PRISM 서버 | SAP 서버 [SAP 서버 IP] | 8000/TCP (기본, Gateway 설정에 따름) | SAP OData | SAP ERP 데이터 조회 (OData API) |
| 9 | PRISM 서버 | [고객 DB 서버 IP] | 5439/TCP | Amazon Redshift | 분석 쿼리 실행, 메타데이터 수집 |
| 10 | PRISM 서버 | [고객 DB 서버 IP] | 8629/TCP | Tibero | 분석 쿼리 실행, 메타데이터 수집 |
.jar)을 설치본에 넣어 배포할 수 없습니다. 고객사에서 파일을 준비해 설치를 시작하기 전에 설치본을 푼 폴더의 drivers 폴더에 넣어 주세요. 설치할 때 설치 폴더로 함께 복사됩니다.
구하는 곳 - 운영 중인 DB 서버에 이미 있는 경우가 많습니다. 오라클은 보통 $ORACLE_HOME/jdbc/lib(ojdbc8.jar 또는 ojdbc11.jar), 티베로는 $TB_HOME/client/lib(tbjdbc.jar)에 있습니다. 티베로는 서버 버전과 같은 판의 파일을 쓰세요.
파일은 하나만 넣으세요. 제품은 drivers 폴더의 파일을 전부 등록하므로, 자바 버전별로 나뉜 파일을 한꺼번에 넣으면 어느 것이 쓰일지 정해지지 않습니다. 제품의 자바는 21 이라 자바 17 이상용 파일을 쓰시면 됩니다.
설치를 끝낸 뒤에 넣는다면 설치 폴더의 drivers 폴더(기본 /opt/prism-cosmos/drivers/, Podman 설치는 ~/prism-cosmos/drivers/)에 넣고 <설치경로>/prism-ctl.sh restart 로 재기동하면 반영됩니다.
참고 - 서버 내부 컨테이너 간 통신
| # | 구분 | 내용 | 포트 | 비고 |
|---|---|---|---|---|
| 10 | 서버 내부 | 서비스 컨테이너 간 통신 (분석 엔진 ↔ 내부 DB, 캐시, 검색엔진) | 5432 9200 6379 | 내부 네트워크, 호스트 방화벽 별도 신청 불필요 |
서버별 하드웨어, 디스크 구성
동시 사용자 10명 기준 산정입니다. 단일 서버는 20명까지 실측되었습니다.
또는 Podman 4.9(RHEL 8) / 5.4(RHEL 9)
| 모델 | 지원 vLLM 버전 |
|---|---|
| openai/gpt-oss-120b | 0.10.1 이상 |
| Qwen3.6 (27B, 35B-A3B, 최소) | 0.17.0 이상 |
| Qwen3.8 (27B, 권장) | 0.17.0 이상 |
| gemma-4-31B-it | 0.19.1 이상 |
출처: recipes.vllm.ai
gpt-oss-120b 도구 호출 옵션
--enable-auto-tool-choice
--tool-call-parser=openai
--structured-outputs-config '{"backend":"xgrammar","disable_fallback":true,"disable_any_whitespace":true,"reasoning_parser":"openai_gptoss"}'Qwen 도구 호출 옵션
--enable-auto-tool-choice --tool-call-parser hermes
디스크 배분 - 권장 500 GB NVMe 기준
설치 시 서버에 단일 설치 루트 하나가 생기고 그 아래로 설정, 코드, 로그가 모입니다 - Docker 는 /opt/prism-cosmos, Podman(일반 계정, rootless)은 사용자 홈 아래 ~/prism-cosmos 입니다. 데이터베이스는 엔진이 관리하는 별도 볼륨에 저장됩니다(Docker /var/lib/docker, Podman rootless ~/.local/share/containers).
| 구분 | 세부 내역 | 용량 |
|---|---|---|
| OS, 시스템 예약 | 운영체제, 커널, 패키지 | 30 GB |
| 컨테이너 이미지 9종 | gateway, 분석 엔진, 코어 엔진, 시각화 엔진, 보고서 엔진, Updater + PostgreSQL, Elasticsearch, Redis (임베딩 모델 이미지 내장, 업데이트 시 직전 버전 보관 여유 포함) | 40 GB |
| app 코드, 설정 | 설치 루트, Compose 설정, 환경변수, 스킬 라이브러리 (호스트 폴더) | 5 GB |
| 데이터 (pg, es, redis) | 최대 성장축 - PostgreSQL 100 + Elasticsearch 60 + Redis, 그래프, 감사 증분 (엔진 관리 볼륨) | 200 GB |
| 로그 | 90일 보관 + 폭증 여유 | 90 GB |
| 공유 스토리지 | 스킬 콘텐츠, 첨부 (NAS 마운트 권장) | 50 GB |
| 운영 여유 (free) | 약 17% 헤드룸 - 80% 임계 아래 운영 | 85 GB |
| 합계 | 디스크 500 GB NVMe 기준 배분 | 500 GB |
임베딩 모델 자체는 수 GB 수준으로 PRISM 이미지에 포함되어 별도 디스크를 차지하지 않습니다.
별도 디스크에 데이터를 저장할 때(
--volume-root) - Podman 을 일반 계정으로 운영(rootless)하는 환경에서는 서버 관리자가 대상 폴더를 설치 계정 소유로 미리 만들어 주어야 합니다(rootless 는 사용자 번호 매핑이 달라 설치 계정이 소유권을 바꿀 수 없습니다). Docker 와 Podman rootful 은 이 사전작업이 필요 없습니다.설치 작업 계획서
표준 일정 예시입니다. 세부 일정과 작업 범위는 BIMATRIX 담당 엔지니어와 협의해 조정합니다.
- OS 버전 확인 (Ubuntu 22.04 LTS 또는 RHEL 8/9 권장)
- 컨테이너 엔진 설치 확인 - Docker 24+ 와 Compose v2+, 또는 Podman 4.9(RHEL 8) / 5.4(RHEL 9) 와 podman-compose 중 한쪽 (설치기가 자동 판별, RHEL 계열은 Podman 기본 포함)
- 설치 서버 필수 패키지 설치 확인 -
rsync,openssl,python3(+PyYAML), minimal OS 설치 시 누락되므로 사전 설치 필요 - 방화벽 정책 적용 - 항목 1~9 신청 및 반영 완료 확인
- PRISM 서버 디스크 마운트 확인 (설치 루트, NAS 마운트)
- AI 서버 GPU 드라이버 및 CUDA 설치 확인
- 네트워크 경로 사전 점검 (PRISM ↔ AI 서버, PRISM ↔ 고객 DB)
nvidia-smi 정상 출력, 디스크 여유 공간- AI 서버 소프트웨어 설치 및 Python 가상환경 구성
- TRINITY PRISM AI 모델 파일 전송 및 로드
- 함수 호출(Function Calling) 기능 활성화 설정
- LLM API 서비스 포트 기동 및 systemd 자동 시작 등록
- 컨테이너 이미지 로드 (설치 패키지 적용)
- 환경변수 파일 작성 (AI 서버 URL, 초기 관리자 계정, 시크릿 키)
- 전체 서비스 순차 기동 및 초기 DB 스키마 자동 적용
- 초기 관리자 계정 생성 및 테넌트 설정
- SSL 인증서 적용 (HTTPS 사용 시)
- 고객 DB 데이터소스 등록 (접속 정보, 계정 권한 확인)
- 오라클 11g, 티베로는 연결용 자바 파일(JDBC 드라이버)이
drivers폴더에 있는지 확인 - 메타데이터 등록 - 테이블 구조 분석 및 AI 학습용 시멘틱 메타 생성
- 시멘틱 검색 인덱스 구축 (메타 등록 완료 후 자동 진행)
- AI 분석 동작 확인 (샘플 자연어 질의 응답 테스트)
- 대시보드 생성 및 패널 배치 확인
- 운영 SOP 문서 전달 (장애 대응 절차, 정기 점검 항목)
- 관리자 기능 교육 (사용자, 데이터소스, 메타 관리)
- 자동 업데이트 기능 안내 및 업데이트 이력 확인 방법 설명
- 모니터링 항목 설명 (컨테이너 상태, AI 운영 현황, 디스크 사용량)
- 장애 대응 연락처 및 에스컬레이션 절차 공유
시스템 구성도
모든 구성요소는 고객사 내부 네트워크에 위치합니다.
외부 입구는 gateway(8200, SSL 적용 시 443) 하나뿐이고, 나머지는 모두 내부 통신입니다.
시스템 구성도 - 사용자 PC → PRISM 서버 → AI 서버, 고객 DB 서버. 포트와 [항목] 번호는 위 방화벽 표와 대응됩니다.
최종 점검
D-3 착수 전, 아래 항목을 고객사, BIMATRIX가 함께 최종 확인합니다.
고객사 준비 항목
- OS: Ubuntu 22.04 LTS 또는 RHEL 8/9
- 컨테이너 엔진 설치 - Docker 24+ · Compose v2+, 또는 Podman 4.9 / 5.4 · podman-compose 중 하나 (설치기 자동 판별, RHEL 계열은 Podman 기본 포함)
- 필수 패키지 설치 - rsync, openssl, python3 (+PyYAML), minimal OS 누락 주의
- CPU 12 vCPU 이상 / RAM 32 GB 이상 (권장 16 vCPU / 64 GB)
- 디스크 여유 500 GB NVMe 이상 (최소 300 GB SSD)
- 공유 스토리지 / NAS 마운트 경로 준비 (50 GB 이상)
RHEL 계열에서 SELinux 가 켜져 있어도(Enforcing) 설치기가 컨테이너 접근에 필요한 재라벨을 자동으로 처리하므로, 기본 설치에는 별도 준비가 필요 없습니다.
- GPU: H200 1장 또는 H100 2장
- OS: Ubuntu 22.04 LTS + NVIDIA 드라이버 사전 설치 (
nvidia-smi정상) - CUDA 12.1 이상
- PC → PRISM 서버 8200 포트 허용
- PRISM 서버 → AI 서버 LLM API 포트 허용
- PRISM 서버 → 고객 DB 해당 포트 허용
- PRISM 서버 설치 계정 준비 - Docker 는 sudo(root) 권한 계정, Podman(rootless)은 sudo 없는 일반 계정 (엔진에 맞춰 하나)
- AI 서버 설치 작업용 sudo 권한 계정 준비
- 고객 DB 읽기 전용 계정 준비 (SELECT 권한)
- BIMATRIX 엔지니어 현장/원격 접근 일정 확정
BIMATRIX 설치 항목 (고객사 확인용 - 당사 엔지니어가 직접 수행)
- Python 가상환경 구성 및 vLLM 설치
- TRINITY PRISM AI 모델 파일 전송 및 로드
- 함수 호출(Function Calling) 기능 활성화 설정
- LLM API 서비스 포트 기동 및 자동 시작 등록
- AI API 엔드포인트 정상 응답 확인
- 도구 호출(tool_calls) 정상 반환 확인
- 컨테이너 이미지 로드 및 환경변수 설정
- 전체 서비스 기동 및 DB 스키마 자동 적용
- 관리자 계정 생성 및 AI 서버 연결 확인
- 고객 DB 데이터소스 등록 및 메타 등록
- AI 분석 동작 확인 (자연어 질의 테스트)
sudo 로 실행합니다. Podman(RHEL 등) 은 sudo 없이 일반 계정으로 실행하며, 이 경우 sudo 로 실행하면 안 됩니다(설치기가 엔진을 자동 판별). Docker 에서 docker 명령 권한 오류면 sudo usermod -aG docker $USER 후 재로그인하세요(Docker 전용).8200 포트가 이미 쓰이면
--port=<다른포트>. CPU, 메모리, 엔진 저장소 여유가 설치기 부팅 게이트(CPU 4, RAM 28 GB, 저장소 50 GB free) 미만이면 사전 점검(preflight)이 설치를 중단하므로 확보 후 재실행하세요. 저장소 경로는 엔진에 따라 다릅니다 - Docker 는 /var/lib/docker, Podman rootless 는 ~/.local/share/containers 입니다.