NaizVL 오프라인 설치 키트
외부망이 차단된 폐쇄망 서버에 NaizVL VLM 추론 서버를 설치하기 위한 오프라인 키트.
문서 구성
| 문서 | 대상 | 내용 |
|---|---|---|
| BUILD.md | 개발자 (키트 제작) | make-offline-kit.sh 실행, wheel 캐시, flash-attn 빌드, APT 패키지 정책 |
| INSTALL.md | 운영자 (현장 설치) | USB Ubuntu 22.04.5 LTS 설치부터 tar 해제 → install.sh → 서비스 기동 → admin 키 발급 |
| INSTALL_FRONTEND.md | 운영자 (웹 UI 설치) | NaizVL 서버 설치 후 frontend-linux.tar.gz → install.sh → 127.0.0.1:3001 |
| HARDENING.md | 운영자 (안정화) | /infer 500 인시던트 분석 + traceback 로깅 fix + watchdog cron 자동 재시작 |
대상 환경
| 항목 | 값 |
|---|---|
| OS | Ubuntu 22.04.5 LTS (USB 설치) |
| GPU | NVIDIA RTX A6000 × 2 (Ampere, 48GB × 2) |
| 드라이버 | NVIDIA 570 (open kernel module) |
| CUDA | 12.8 (키트 동봉 local apt repo) |
| Python | 3.10 시스템 (venv 미사용) |
| 모델 | Qwen3-VL-8B-Instruct (~16GB) |
| 키트 크기 | ~25GB tar.gz |
변경 이력
2026-05-19 — 22.04.5 ISO 호환 (kernel 6.8 + Triton JIT) + 문서 분리
신규 OS 설치 환경 (Ubuntu 22.04.5 ISO, kernel 6.8.0-40-generic) 검증 중 발견된 2건 fix + 문서 재편.
make-offline-kit.shAPT_PKGS에gcc-12 g++-12 cpp-12추가 — 22.04.5 default kernel 이 gcc-12 로 빌드되어 dkms 가-ftrivial-auto-var-init=zero옵션을 요구. gcc-11 로는 nvidia-open-570 dkms compile 실패.APT_PKGS에python3.10-dev libpython3.10-dev추가 — vLLM 의 Triton JIT compiler 가 런타임에cuda_utils.c를 gcc 로 빌드하면서#include <Python.h>요구. 빠지면 vLLM 첫 inference 직전profile_run단계에서fatal error: Python.h: No such file or directory.libexpat1-dev/zlib1g-dev는apt-rdepends가 transitive 로 펼치므로 명시 불필요.install.sh(Step 4)/usr/bin/gcc-12감지 시update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-12 60+--set cc자동 실행 → nvidia dkms 가 자동으로 gcc-12 사용.- 운영 서버 hotfix 절차 — 키트 재제작 전 4개 .deb (
libexpat1-dev,zlib1g-dev,libpython3.10-dev,python3.10-dev, 총 ~5.5MB) 만 USB 전송 후 일괄dpkg -i로 즉시 대응 가능. - 문서 분리 — README.md 를 BUILD.md (제작) + INSTALL.md (USB Ubuntu 설치부터 정식 가동까지) 두 문서로 분리.
2026-05-14 — 운영 환경 안정화 (user-local 충돌 해결)
install.sh개선set -o pipefail+nvidia-smi | headSIGPIPE 종료 →nvidia-smi --query-gpuCSV 출력으로 우회- 단계 6 분할: user-local 잔재 정리(6-1) →
--force-reinstall설치(6-2) → NCCL ldconfig 등록(6-3) →PYTHONNOUSERSITE=1검증(6-4) systemd/naizvl.serviceEnvironment=PYTHONNOUSERSITE=1추가 → 운영 시 user-local 영구 무시Environment=LD_LIBRARY_PATH=/usr/local/lib/.../nvidia/nccl/lib→ torch 동봉 NCCL 우선make-offline-kit.sh- 02-app 최소화 —
naizvl_server_replica.py/config.example.yaml/systemd/naizvl.service3개 파일만 명시 복사 (이전 5.3GB → 45KB) REQUIRED_EXTRAS=(scipy scikit-learn)자동 보강LOCAL_WHEEL_CACHE자동 감지 → flash-attn 등 수동 빌드 wheel 통합- flash-attn 빌드 가이드 (BUILD.md §6) — multi-arch wheel 직접 빌드 절차
2026-04 — 초기 폐쇄망 키트 설계
- 시스템 Python (
/usr/bin/python3.10) 단독 사용 정책 확립 (venv 미사용) - CUDA local repo +
cuda-drivers메타로 드라이버·툴킷 통합 설치 - GPG 서명 + MANIFEST.sha256 무결성 검증
관련 문서
../research.md §20(NaizVL 저장소 참고) — 서버 전체 구조 최신 스냅샷../vlm_event_design.md(NaizVL 저장소 참고) — YOLO+VLM 이벤트 2차 검증 설계../eval/README.md(NaizVL 저장소 참고) — 오탐 평가 도구