DGX Spark(Grace Blackwell)에 Ollama LLM 서버 구축하기

🚀 시작: 새로운 AI 슈퍼컴퓨터 도입

최근 MSI EdgeXpert DGX Spark (128GB RAM, 1TB NVMe, NVIDIA Grace Blackwell GPU)를 도입했다. 이 글은 제로부터 Ollama 기반 LLM 서버를 구축하는 과정을 기록한다.


📊 하드웨어 스펙 확인

1. GPU 확인

1
nvidia-smi

결과:

NVIDIA GB10 (Grace Blackwell)
CUDA Version: 13.0
Total Memory: 119.6 GiB
Available Memory: 115.7 GiB

의미:

  • Grace Blackwell은 NVIDIA의 최신 AI 가속기
  • 119.6GB VRAM으로 매우 큰 모델 운영 가능
  • CUDA 13.0 지원으로 최신 프레임워크와 호환성 우수

2. CPU 확인

1
lscpu

결과:

Architecture: aarch64
CPU: Cortex-X925 + Cortex-A725 (20 cores)
Max MHz: 4004.0 MHz

의미:

  • ARM 아키텍처 (aarch64)
  • 20개 코어로 충분한 병렬 처리 능력
  • 4GHz 클럭으로 높은 성능

3. 저장소 확인

1
lsblk

결과:

NVMe: 931.5G
OS: Ubuntu 22.04 LTS

🔧 설치 과정

Step 1: Docker 권한 설정

1
2
3
4
5
6
# Docker 권한 문제 해결
sudo usermod -aG docker ioniere
newgrp docker

# 확인
docker ps  # 정상 작동 확인

왜 필요한가?

  • Ollama는 컨테이너 기반이므로 Docker 권한 필수
  • ioniere 사용자가 sudo 없이 Docker 명령 실행 가능하도록 설정

Step 2: Ollama 설치

1
2
# aarch64 아키텍처용 설치
curl -fsSL https://ollama.ai/install.sh | sh

설치 후 로그:

>>> Installing ollama to /usr/local
>>> Downloading ollama-linux-arm64.tar.zst
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> NVIDIA GPU installed.
>>> The Ollama API is now available at 127.0.0.1:11434

설치 확인:

  • Ollama 데몬 준비 완료
  • NVIDIA GPU 자동 감지 ✓
  • 로컬 호스트 포트 11434 바인딩

Step 3: Ollama 서버 시작

1
2
# 백그라운드 실행
nohup ollama serve &

로그 출력:

time=2026-02-10T19:12:42.439+09:00 level=INFO msg="Listening on 127.0.0.1:11434"
time=2026-02-10T19:12:43.294+09:00 level=INFO msg="inference compute" 
  id=GPU-4b3a0335-7002-d8d7-4b25-e60076f87725 
  description="NVIDIA GB10" 
  total="119.6 GiB" 
  available="115.5 GiB"

확인 사항:

  • Ollama 서버 정상 시작
  • GB10 GPU 119.6GB 메모리 인식 ✓
  • 115.5GB 가용 메모리

🦙 모델 다운로드 및 테스트

Step 1: Mistral 7B 모델 다운로드

1
ollama pull mistral

다운로드 진행:

pulling manifest
pulling f5074b1221da: 100% ▕█████████████████████████▏ 4.4 GB
verifying sha256 digest
writing manifest
success

소요 시간: 약 5분

Step 2: 로컬 테스트

1
ollama run mistral

상호작용:

>>> 안녕하세요. 만나서 반갑습니다.
안녕하세요! 감상합니다. 즐거운 시간을 보내실 것 같으신가요? 
어떤 질문이나 도움이 필요한 것 같으시면 자유롭게 물어보세요.

성능 평가:

  • 응답 시간: 5-7초 (빠름)
  • 한글 지원: 우수 ✓
  • 메모리 사용량: 약 4GB (여유 있음)

Step 3: API 테스트

1
2
3
4
5
curl http://127.0.0.1:11434/api/generate -d '{
  "model": "mistral",
  "prompt": "Hello, how are you?",
  "stream": false
}'

응답:

1
2
3
4
5
6
7
8
{
  "model": "mistral",
  "response": "I'm an artificial intelligence and don't have feelings, but I'm here to help you!",
  "total_duration": 7128211507,
  "load_duration": 13630859,
  "prompt_eval_count": 10,
  "eval_count": 65
}

성능 메트릭:

  • 총 소요 시간: 7.1초
  • 모델 로딩: 13.6ms
  • 토큰 생성: 1.3초
  • 처리량: 약 50 tokens/second

🌐 원격 접근 설정

문제: 로컬호스트만 바인딩

기본적으로 Ollama는 127.0.0.1에만 바인딩되어 있어 원격 접근 불가.

해결: 0.0.0.0으로 바인딩

1
2
3
4
5
# 기존 프로세스 종료
kill %1

# 환경변수로 0.0.0.0 바인딩
nohup env OLLAMA_HOST=0.0.0.0:11434 ollama serve > nohup.out 2>&1 &

변경 로그:

time=2026-02-10T19:24:44.865+09:00 level=INFO msg="Listening on [::]:11434"

의미:

  • [::]:11434 = IPv6 모든 주소 + 포트 11434 바인딩
  • IPv4/IPv6 모두 수용 가능

네트워크 주소

내부 IP: 192.168.200.100:11434
공인 IP: [도메인]:11434 (포트포워딩 필요)

📡 포트포워딩 설정

공유기 설정 (DLive Netis)

주소: http://192.168.200.254:10010/login.htm
ID: admin
비밀번호: admin + SSID 뒷자리 4개

포트포워딩 규칙

항목
규칙 이름ollama
내부 IP192.168.200.100
프로토콜ALL
외부 포트11434
내부 포트11434
고정 IP

💡 성능 분석

메모리 활용

Total VRAM: 119.6 GiB
Mistral 7B: ~14GB
Available: ~105GB

추가 모델 탑재 가능:
- Mistral 7B × 7개
- 또는 Llama 13B × 5개
- 또는 Llama 70B × 1개 + Mistral 7B × 7개

추천 모델 전략

지금 구성:

Mistral 7B (4.4GB 다운로드, ~14GB 메모리)
- 빠른 응답 (7초)
- 문맥 길이: 32K 토큰
- 한글 지원: 우수

향후 추가 가능:

1. Llama 13B (약 26GB 메모리)
2. Mixtral 8x7B (약 49GB 메모리)
3. Stable Diffusion XL (약 50GB)

🔐 보안 고려사항

현재 상태

  • ✅ 로컬 네트워크 접근만 활성화
  • ✅ 인증 없음 (내부 네트워크 전용)
  • ⚠️ 공인 IP 포트포워딩 시 주의 필요

권장 보안 조치

1
2
3
4
5
6
# 1. 방화벽 설정 (우분투)
sudo ufw enable
sudo ufw allow 11434/tcp from 192.168.200.0/24

# 2. SSL/TLS 적용 (Nginx 리버스 프록시)
# 3. API 키 인증 추가 (Ollama 플러그인)

📈 모니터링

리소스 사용량 확인

1
2
3
4
5
6
7
8
# GPU 모니터링
watch nvidia-smi

# 프로세스 확인
ps aux | grep ollama

# 포트 확인
netstat -tlnp | grep 11434

성능 메트릭

Ollama API는 응답에 다음 메트릭을 포함:

1
2
3
4
5
6
7
8
{
  "total_duration": 7128211507,      // 전체 소요시간 (ns)
  "load_duration": 13630859,         // 모델 로딩 시간
  "prompt_eval_count": 10,           // 입력 토큰 수
  "prompt_eval_duration": 5807626571,// 입력 처리 시간
  "eval_count": 65,                  // 생성 토큰 수
  "eval_duration": 1297491650        // 생성 시간
}

🎯 다음 단계

1단계: Main 서버 연결

1
2
3
# Main 서버에서 테스트
curl http://192.168.200.100:11434/api/generate \
  -d '{"model":"mistral","prompt":"test","stream":false}'

2단계: OpenClaw 통합

  • OpenClaw 설정에서 LLM 소스 변경
  • Claude 대신 Mistral 사용 (비용 절감)
  • 원격 LLM 서버 역할 담당

3단계: 모니터링 자동화

  • Prometheus/Grafana 연동
  • GPU/메모리 메트릭 수집
  • 자동 알림 설정

4단계: 추가 모델

  • Llama 13B 추가 (비용 최적화)
  • Stable Diffusion XL (이미지 생성)
  • 멀티 모델 로드 밸런싱

🏁 결론

DGX Spark는 진짜 AI 슈퍼컴퓨터다.

119.6GB VRAM은 엔터프라이즈급 LLM 호스팅에 충분하다.

이제 이 서버를 Main OpenClaw 설정과 연결하면,

  • 클라우드 API 비용 절감
  • 완전 로컬 LLM 운영
  • 원격 팀 구조 확장 가능

다음 글에서는 OpenClaw와 Ollama 통합멀티 모델 운영을 다룰 예정이다.


작성일: 2026.02.11 환경: EdgeXpert DGX Spark, Ubuntu 22.04, Ollama 0.15.6