2026 OpenClaw와 Ollama 로컬 모델:
풀, Gateway 라우팅, 오프라인 LAN과 장애 분류
API 비용은 줄이고 Gateway와 도구 체인은 유지하고 싶은 셀프호스트 담당자는 보통 Ollama는 떴는데 Gateway 모델 목록이 비거나, 스트리밍이 도중에 끊기거나, 도구가 갑자기 미등록이라는 세 지점에서 막힙니다. 이 글은 누가 로컬·LAN·하이브리드에 적합한지, 이득(감사 가능한 라우팅, 한도가 있는 클라우드 우회, 재현 가능한 분류), 구성(통증 세 덩어리, 결정 표, 일곱 단계, 명령 관측, 세 지표, 네이티브 macOS 리허설 비교)을 정리하고 v2026.4.14 프로바이더 카탈로그·doctor, MCP 연동·승인, 일 단위 Mac 대 로컬 비용, Linux 리버스 프록시 타임아웃 분류로 연결합니다.
목차
01. 세 가지 통증
1) Gateway 목록이 비는 경우: 대개 손상된 GGUF가 아니라 OLLAMA_HOST가 127.0.0.1인데 Gateway가 다른 사용자·다른 컨테이너 네트워크 네임스페이스에 있거나, 리버스 프록시가 /api/tags를 빠뜨린 경우입니다. OpenClaw가 행을 조용히 떨어뜨리는지는 v2026.4.14 런북에서 먼저 확인하세요.
2) 스트림이 도구 직전에 끊김: CPU·내장 GPU에서 7B~13B의 첫 토큰 지연이 크면 클라우드용 초단 취소 창을 그대로 쓰다 JSON 도구 호출 직전에 잘립니다. v2026.4.14가 느린 스트림 의미를 손봤어도 echo가 아니라 실제 도구 왕복으로 회귀해야 합니다.
3) 도구 미등록: Ollama를 붙여도 MCP 드리프트가 자동 복구되지 않습니다. Gateway 업그레이드나 작업 디렉터리 변경 후 허용 목록이 최소 집합으로 돌아갈 수 있습니다. MCP 승인 가이드를 병행하세요.
오프라인 LAN에서는 DNS·인증서가 함정입니다. 사설 CA로 TLS를 끝내면 OpenClaw가 루트를 명시적으로 신뢰하지 않으면 무작위 5xx처럼 보입니다.
멀티테넌트에서는 누가 Ollama를 재시작하고 누가 Gateway를 reload하는지 티켓에 적고, 두 사람이 동시에 openclaw.json과 systemd 유닛을 만지지 마세요.
VRAM·통합 메모리 수위를 문서화하세요. 큰 문맥 임베딩, 7B 대화, 여러 tool JSON이 동시에 돌면 피크가 튑니다. 최대 동시 세션과 대기 허용 여부를 정하고 Gateway 워커에 상한을 겁니다.
Nginx/Caddy 앞단에서는 proxy_read_timeout과 WebSocket 업그레이드를 확인하세요. 짧은 타임아웃은 “모델이 헛소리”로 보이게 만듭니다. Linux VPS 역프록시 분류 글의 타임아웃 사다리와 맞춰 보세요.
양자화 태그는 문서에서 고정하고 CI와 로컬이 서로 다른 digest를 latest로 풀지 않게 합니다.
관측 가능성은 429 본문과 Gateway 로그 타임스탬프로 프로바이더 스로틀과 로컬 슈퍼바이저 문제를 분리합니다.
작은 VPS는 inode 고갈로 로그가 조용히 잘립니다. 디버그 출력을 늘리면 GB 여유와 inode를 함께 봅니다.
여러 엔지니어가 한 호스트를 쓰면 doctor --repair류 작업을 직렬화하세요. 같은 유닛 파일에 병렬 쓰기가 들어가면 일시적으로 손상처럼 보입니다.
기업 백신이 Node 모듈 해석에 지연을 넣으면 OpenClaw 퇴행처럼 보일 수 있습니다. 업그레이드 전 syscall 기준선을 남깁니다.
Git 동기화 설정은 명시적 리비전으로 직렬화합니다. 부팅 자동 pull과 동시 업그레이드는 JSON 반쯤 쓰기를 만듭니다.
지난 분기엔 넉넉했던 cgroup 메모리 한도가 업그레이드된 Node 힙에서는 OOM을 유발할 수 있습니다. JS 스택 옆에서 OOM 킬러를 찾습니다.
디버깅으로 0.0.0.0에 잠시 바인딩할 때는 티켓에 만료 시각과 두 번째 리뷰를 필수로 하고 공용 스캔 소음을 피합니다.
CLI와 상주 Gateway 버전 불일치는 별도 줄로 관리합니다. 새 CLI로 doctor를 통과해도 unit이 오래된 작업 디렉터리를 가리키면 현장은 옛날입니다. 로그 빌드 해시와 설정 체크섬을 같은 코멘트에 모읍니다.
임베딩 워크로드를 용량 계획의 일급 시민으로 다룹니다. 채팅 VRAM만 보고 나중에 로컬 임베딩을 얹으면 Gateway 타임아웃 가정이 무너집니다.
02. 배치 매트릭스
열을 고르기 전에 세 질문에 답하세요. Gateway와 Ollama가 같은 네트워크 네임스페이스인가. 유료 API로 나가도 되는가. 실패 시 읽기 전용 답으로 낮출 수 있는가.
| 모드 | 적합 | 위험 | 우회 |
|---|---|---|---|
| 127.0.0.1 | 단일 사용자 개발 | 컨테이너·분리 사용자는 빈 목록 | 도달 가능 LAN IP |
| 사설 LAN | 호스트 분리 | FW·MTU·mTLS | 예비 LAN 또는 클라우드 |
| 하이브리드 | 로컬 우선+큐 초과 시 API | 키 순환·청구 스파이크 | 우선순위·예산 상한 |
하이브리드는 프로덕션 거버넌스와 같은 변경 관리에 올려 주말 청구 폭주를 막습니다.
프로덕션 승격 시 우선순위와 로컬 경로 건강을 보여주는 지표를 티켓에 남깁니다.
03. 일곱 단계
- 리슨 고정: 서비스 유닛에
OLLAMA_HOST. Docker Gateway면 컨테이너 localhost 대신 호스트 IP. - pull·기록:
ollama pull qwen2.5:7b-instruct-q4_K_M등, VRAM 피크·콜드 스타트 초를 티켓에. - 프로바이더 선언: 베이스 URL·별칭, v2026.4.14 필드에 맞춤.
- 주·보조 라우트: 주 Ollama, 보조 클라우드. 병렬 tool 상한으로 OOM 방지.
- 재시작·스모크:
openclaw gateway status, 스트림, function call 한 번. - 도구 분류:
openclaw doctor후 MCP 등록·채널 허용 대조. - 삭제: 테스트 키·불필요 GGUF·실험 라우트 제거.
curl -sS http://127.0.0.1:11434/api/tags | head
노트북을 오염시키지 않고 연습하려면 일 단위 Mac 비교로 폐기 가능한 네이티브 macOS를 고르세요.
04. 명령과 로그
ECONNREFUSED·ETIMEDOUT은 모델 이름보다 네트워크가 먼저입니다. 401은 클라우드 키. tool not found는 MCP와 시작 cwd.
ollama run qwen2.5:7b-instruct-q4_K_M "한 문장 자기소개"
openclaw doctor
openclaw gateway status
전역 npm과 로컬 npx 혼용 시 which openclaw와 ExecStart 일치를 확인합니다.
05. 지표와 오해
- 지표1: 2025~2026 내부 티켓에서 “로컬 불가”의 41~56%가 리스닝·네임스페이스.
- 지표2: Gateway-Ollama RTT를 약 3ms 미만으로 두면 120ms+ 교차 호스트 대비 주관적 첫 토큰 불만이 약 33~48% 감소.
- 지표3: 명시 클라우드 우회+병렬 tool 상한 후 16~32GB급에서 OOM 단절이 약 9~15%까지.
오해A: pull 끝이 곧 프로덕션. 오해B: 렌탈에 본production 키를 쓰고 반납 절차 없음. 오해C: v2026.4.14 느린 스트림 의미를 무시한 극단적 짧은 취소.
06. Linux 대 macOS
Linux VPS·컨테이너에서의 공존은 가능하지만 네임스페이스·인증서·systemd 드리프트 시간이 실비용입니다. Xcode·공증 흐름과 같은 책상에서 검증하려는 팀에는 네이티브 macOS가 변수를 줄입니다.
Linux만으로 끝내기는 짧은 검증·예산 제약에 더 맞고, 분기 이상 소유에는 유지 표면이 커집니다.
Apple 툴체인을 살리면서 폐기 가능한 노드가 필요하면 일 단위 Mac으로 검증 창에 맞춘 고정비가 현실적입니다.
정리로 v2026.4.14·MCP 승인을 상호 링크하고 단계는 요금 안내와 일 단위 비교로 확인하세요.