## 금도 서버 구성도 서버실 랙 사진과 현재 컨테이너/포트 운용 현황을 바탕으로 물리 배치와 논리 토폴로지를 정리했습니다. 운영 시 참조용으로 사용하며, 변경 시 본 문서도 함께 갱신합니다. ### 물리 랙 배치(위 → 아래) 아래는 랙 상의 장비 배치도입니다. ```mermaid graph TB subgraph "Rack Cabinet" direction TB R235["192.168.0.235\ngeumdo rack1 (R820)"] R236["192.168.0.236\ngeumdo rack2 (R820-2)"] MON["KVM/Monitor"] R102["192.168.0.102\nA100 서버 (R760xa)"] R166["192.168.0.166\nSub AI (PT620)"] R029["192.168.0.29\nDesktop 서버"] R017["192.168.0.17\nSynology NAS"] R066["192.168.0.66\nGitLab & Nginx Proxy (gds)"] end style R102 fill:#e5f5ff,stroke:#1890ff,stroke-width:1.5px style R066 fill:#fff7e6,stroke:#fa8c16,stroke-width:1.5px style R017 fill:#f6ffed,stroke:#52c41a,stroke-width:1.5px ``` 참고: 실제 장비 높이(U)와 정확한 선반 위치는 현장 라벨 기준으로 보정 가능합니다. ### 논리 네트워크/서비스 토폴로지 내부망 192.168.0.0/24 환경에서 리버스 프록시를 중심으로 주요 서비스가 분기됩니다. ```mermaid graph LR INET[인터넷] FW[게이트웨이/방화벽] PROXY["192.168.0.66\nNginx Proxy / GitLab"] INET --> FW --> PROXY subgraph "Application Servers" A100["192.168.0.102 R760xa\n- rvtouch3d-api (3002,3003,8001,9092,5434,6381)\n- vnexa-abb-api (8000)\n- jupyter-gpu (8888)"] RACK1["192.168.0.235 R820\n- 3DP (80,3000,3306,8080,8090,2212)\n- vnexa-api (3001,2213)\n- metaverse nodam (52530,52532-33,53306,2236)"] RACK2["192.168.0.236 R820-2\n- java WAS (8092,4446,33064,2233)"] DESK["192.168.0.29 Desktop\n- docker_centos (8091,4445,33063,2230)"] SUBAI["192.168.0.166 PT620\n- posivibes (8084,2240)\n- db (9011,9013,33062,2228)\n- gitlab_web (8081,4430,2224)\n- 기타(docker_all)"] GDS["192.168.0.66 gds\n- fastapi(8000), fastapi_new(8001)\n- jupyter(8888), open-webui(9000), ollama(11434)\n- poste-io 메일(25,465,587,993,995,4190)\n- was(8080,4333), securedb(8090,9908)"] end PROXY -->|HTTP/HTTPS 라우팅| A100 PROXY --> RACK1 PROXY --> RACK2 PROXY --> DESK PROXY --> SUBAI PROXY --> GDS NAS["192.168.0.17\nSynology NAS"] NAS -. 백업/스냅샷 .- A100 NAS -. 백업/스냅샷 .- RACK1 NAS -. 백업/스냅샷 .- RACK2 NAS -. 백업/스냅샷 .- GDS ``` ### 장비 인벤토리 | IP | 호스트/별칭 | 하드웨어/호스트명 | 주요 컨테이너 및 포트(Host→Container) | | :-- | :-- | :-- | :-- | | 192.168.0.102 | A100 서버 | `gds-PowerEdge-R760xa` | vnexa-abb-api 8000→8000, rvtouch3d-api(frontend 3002→3000, grafana 3003→3000, app 8001→8000, prometheus 9092→9090, postgres 5434→5432, redis 6381→6379), jupyter-gpu 8888→8888 | | 192.168.0.235 | geumdo rack1 | `gds-PowerEdge-R820` | 3DP 80/3000/3306/8080/8090/2212, vnexa-api 3001/2213, metaverse nodam 52530/52532-33/53306/2236 | | 192.168.0.236 | geumdo rack2 | `gds-PowerEdge-R820-2` | java WAS 8092→8080, 4446→443, 33064→3306, 2233→22 | | 192.168.0.29 | geumdo Desktop | `desktopserver` | docker_centos 8091→80, 4445→443, 33063→3306, 2230→22 | | 192.168.0.166 | Sub AI 서버 | `gds-PT620` | posivibes 8084→8080, 2240→22; db 9011/9013/33062/2228; gitlab_web 8081→80, 4430→443, 2224→22; 기타(docker_all) | | 192.168.0.66 | GitLab/Nginx/유틸 | `gds` | fastapi 8000→8000, fastapi_new 8001→8001, jupyter 8888→8888, open-webui 9000→8080, ollama 11434→11434, poste-io 메일 포트군, was/securedb 등 | | 192.168.0.17 | Synology NAS | Synology | 파일공유/백업(스냅샷/rsync/HyperBackup) | ### Docker 공통 운용 메모 - 스토리지 드라이버: `overlay2` - 기본 네트워크: `bridge`(172.17.0.0/16), `host`, `none` - A100 서버는 프로젝트 분리를 위해 추가 브리지(`vnexa-abb-api_default`, 172.22.0.0/16) 사용 - 정기 점검: 외부 노출 포트 최소화, 불필요 컨테이너 정리, 이미지 업데이트 ### 운영 체크리스트 - GitLab 접근 경로: 192.168.0.66(프록시) 및 192.168.0.166(컨테이너) 동시 운용 여부 확인 - NAS 백업: 각 서버의 애플리케이션 데이터/DB 스냅샷 주기 검토 및 복구 테스트 - 관리 인터페이스(iDRAC/IPMI) 주소 기록 및 비상접속 절차 정리