로컬 LLM + Home Assistant 통합 #2: Proxmox Ollama 설치와 N100 GPU 가속

3줄 요약

  • 대상: 로컬 LLM + Home Assistant 통합 #2: Proxmox Ollama 설치와 N100 GPU 가속 내용을 빠르게 파악하려는 독자
  • 핵심: 설치·설정·운영 포인트를 핵심 단계 중심으로 정리
  • 결과: 재현 가능한 절차와 점검 기준으로 시행착오를 줄임

트러블슈팅

  • 증상이 나오면 로그·버전·포트/권한·네트워크 순서로 확인합니다.
  • 설정 반영이 안 되면 서비스 재시작/캐시 비우기 후 다시 검증합니다.

결론 + 다음 단계

핵심 절차를 먼저 완료하고, 운영 단계에서는 백업·모니터링·기본 보안 설정을 함께 적용하세요.

요약: 이 글은 “로컬 LLM + Home Assistant 통합 #2: Proxmox Ollama 설치와 N100 GPU 가속” 주제의 핵심 개념과 실제 적용 절차를 빠르게 정리합니다.

트러블슈팅: 트러블슈팅: 설정이 적용되지 않거나 접속/권한 오류가 나면 “로그 확인 → 네트워크/포트 → 권한/경로” 순서로 점검하세요.

결론/다음 단계: 결론/다음 단계: 동작 확인 후 운영 루틴(백업·업데이트·모니터링)을 추가하고, 관련 가이드도 함께 적용해 완성도를 올리세요.

함께 보면 좋은 글

이 글은 Proxmox 환경에서 Ollama를 설치하고, N100에서 가능한 범위의 GPU 가속(또는 성능 최적화)을 적용해 로컬 LLM 운영을 안정화하는 과정을 정리한다. 핵심은 설치보다 성능 병목(메모리/스왑/모델 크기)을 먼저 파악하고, 단계적으로 튜닝하는 것이다.

이 글의 목표(성공 기준)

  • Ollama가 정상 기동하고, 기본 모델 호출이 된다.
  • Proxmox/컨테이너 환경에서 접근 경로(baseUrl/포트)가 명확하다.
  • 느림/메모리 부족 등 문제 발생 시 점검 순서가 정리되어 있다.

지난 글에서 로컬 LLM 홈어시스턴트 통합을 위한 Proxmox 기반 HAOS 설치 과정을 마쳤다. 이번 단계는 실질적인 두뇌 역할을 할 Proxmox에 Ollama 설치를 하고 N100 내장 그래픽을 활용해 성능을 극대화하는 실전 가이드다.


Proxmox에 Ollama 설치로 로컬 LLM의 첫발을 딛다

Ollama 의외의 장점 : 캐릭터가 귀엽다

Ollama는 간단히 말하면 인터넷 접속 없이도 내 컴퓨터에서 Gemini나 Chat GPT 같은걸 쓸 수 있게 해주는 프로그램이다. 조금 더 전문적인 언어로 이야기 한다면 로컬 환경에서 대규모 언어 모델(LLM)을 아주 쉽고 간편하게 실행할 수 있게 도와주는 오픈소스 프레임워크다. 복잡한 파이썬 환경 설정이나 종속성 문제 없이, 명령어 한 줄로 Llama 3나 Mistral 같은 최신 모델을 내 서버에 올릴 수 있다는 것이 가장 큰 장점이다. 더 자세한 정보는 Ollama 공식 홈페이지에서 확인할 수 있다.

HAOS 설치가 끝났다고 바로 AI가 우리를 반겨주지는 않는다. 모델을 돌릴 ‘엔진’이 필요하다. 이 엔진이 바로 Ollama다. 설치는 가상머신(VM)보다 가벼운 LXC 컨테이너를 활용해 자원을 효율적으로 쓰기로 했다. 특히 N100 같은 저전력 미니 PC라면 자원 한 방울도 아쉽기 마련이다.

다행히 Proxmox 사용자들에게는 축복과 같은 Proxmox VE Helper Scripts가 존재한다. 복잡한 수동 설치 과정을 생략하고 엔지니어답게 효율적으로 접근했다.

Proxmox Helper Script를 이용한 Ollama 설치

Proxmox 쉘(Shell)로 들어가서 아래 명령어를 실행했다. 스크립트는 업데이트될 수도 있으므로 설치 전 이 링크에서 최신 버전을 확인하는 것이 좋다.

# Ollama LXC 설치 스크립트 실행
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/ollama.sh)"

설치 과정에서 ‘Default’ 설정을 따르되, 자원 할당 부분에서는 N100의 쿼드코어를 고려해 CPU 코어 2개, RAM 4GB 정도를 할당했다. 최신 헬퍼 스크립트는 설치 과정에서 iGPU 사용 여부를 묻고 자동으로 드라이버와 권한을 세팅해 준다. 설치가 완료되면 http://<LXC_IP>:11434에서 Ollama가 살아있는지 확인할 수 있다. 설치가 완료되고 나면 새로 생성된 CT의 Network 탭에서 IP 주소를 고정할 수 있다. 다른 시스템과 연동 설정 다 했는데 IP가 바뀌면 곤란하니 꼭 Static으로 바꿔주자.


로컬 LLM 구동을 위한 GPU Passthrough 수동 설정

기본적으로 Proxmox VE Helper Scripts를 사용하면 직접하면 매우 까다로운 iGPU 패스스루 설정을 자동으로 진행해주지만, 하드웨어 환경에 따라 자동 설정이 누락되거나 정상적으로 작동하지 않는 경우가 발생한다. 이때는 당황하지 말고 아래의 수동 설정 과정을 통해 GPU를 강제로 할당해야 한다.

1. 호스트(Proxmox) 준비 상태 점검

먼저 Proxmox 호스트에서 iGPU 드라이버 상태를 확인한다. /etc/kernel/cmdline 혹은 /etc/default/grub에서 intel_iommu=on i915.enable_guc=3 옵션이 활성화되어 있어야 한다.

2. LXC 컨테이너 권한 수동 부여

자동 설정이 실패했다면 컨테이너 설정 파일(/etc/pve/lxc/<ID>.conf)을 열어 직접 다음 내용을 추가해야 한다. 이는 호스트의 GPU 장치 파일에 LXC가 접근할 수 있도록 통로를 열어주는 작업이다.

Plaintext

# GPU 장치 접근 권한 수동 할당
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file

설정 후 컨테이너를 재시작한다. 그 후 LXC 내부에서 apt install intel-gpu-tools를 설치하고 intel_gpu_top을 실행했을 때 엔진 로드가 보인다면 수동 설정에 성공한 것이다.
+내용 추가
그럼에도 불구하고 실제로 로컬 모델을 구동시켜보면 GPU를 사용하지 않는 경우도 있다. 그럴 때는 공식문서의 도움을 받으면 된다.


N100에 최적화된 모델 테스트: Llama 3와 Phi-3

N100은 훌륭하지만 전능하지는 않다. 7B 모델만 되어도 숨 가빠한다. 그래서 Microsoft의 **Phi-3 (3.8B)**와 Meta의 **Llama 3 (8B)**를 테스트 타겟으로 잡았다.

모델명파라미터특징N100 체감 성능
Phi-3 Mini3.8B초경량, 높은 지능매우 쾌적 (토큰 생성 속도 우수)
Llama 38B범용성 최강약간의 딜레이가 있으나 사용 가능
Mistral7B균형 잡힌 성능무난한 응답 속도

테스트를 위해 Ollama 내부에서 다음 명령어를 실행했다.

Bash

# 모델 다운로드 및 실행
ollama run phi3

간단한 질문을 던져보니 N100의 iGPU 점유율이 올라가며 답변이 출력된다. GPU 가속 덕분에 CPU 단독 구동 시보다 훨씬 매끄러운 속도를 보여준다.

하지만 생각보다 멍청한게 문제다. 영어에는 그럭저럭 맥락에 맞게 대답을 하지만 한국어는 정상적인 대화가 불가능한 수준이다. 하지만 여기에도 대안은 있다.


로컬 LLM의 한계와 Cloud 모델이라는 대안

완벽한 프라이버시를 위해 로컬을 고집하고 있지만, N100의 하드웨어적 한계는 명확하다. 만약 더 복잡한 자동화 로직이나 고차원적인 추론이 필요하다면, Ollama의 API 규격을 유지하면서 모델만 Cloud 모델로 연결하는 것도 좋은 방법이다. 로컬의 보안성을 일부 양보하더라도, 압도적인 지능과 속도를 얻을 수 있기 때문이다. (솔직히 로컬 모델은 좀 답답하고 못쓸만큼 멍청한 감이 있다.) 참고로 Home assistant에서 연동해보니 devstral-small-2:24b-cloud 모델이 반응도 빠르고 한국어 응답도 안정적으로 해줬다. 무엇보다 좋은 점은 완전한 무료는 아니지만 실질적으로 한도가 넉넉해서 HA용으로는 사실상 거의 무제한 무료로 쓸 수 있다는 점이다.
일단 클라우드 모델을 사용하기 위해서는 Ollama 홈페이지에 회원가입을 한 후 커맨드창에 아래 명령어를 입력해서 나오는 URL로 접속해서 로그인 해주면 끝이다.

#ollama 클라우드 모델 사용을 위한 로그인 명령어
ollama signin

로컬 LLM 설치 관련 FAQ

Q1. 헬퍼 스크립트로 설치했는데 GPU가 안 잡히면?

위에서 설명한 수동 설정(lxc.mount.entry)을 확인하고, 호스트의 /dev/dri/renderD128 파일 권한이 LXC 내부의 유저에게 허용되었는지 체크해야 한다.

Q2. N100에서 가장 추천하는 모델은?

속도와 지능의 균형을 생각하면 Llama 3 기반의 모델이 그나마 낫지만 앞에서도 언급했듯이 N100 미니 PC의 성능의 한계로 인해 로컬 모델을 고집하기보다는 클라우드 모델을 사용하는것을 권한다. 사실상 무료로 쓸 수 있으면서도 쾌적한 사용이 가능하기 때문이다.

Q3. 메모리가 부족하다는 에러가 발생한다면?

LXC 설정에서 RAM 할당량을 늘려라. 8B 모델 기준 최소 8GB 이상의 RAM을 할당하는 것이 정신 건강에 이롭다.


로컬 LLM 프로젝트 필수 체크리스트

  • [ ] Proxmox 호스트에서 ls /dev/dri 실행 시 renderD128이 존재하는가?
  • [ ] 헬퍼 스크립트 설치 후 자동으로 GPU가 할당되지 않았다면 수동 설정을 완료했는가?
  • [ ] intel_gpu_top 실행 시 모델 구동 중에 GPU 사용량이 올라가는가?
  • [ ] Ollama 외부 접속을 위해 포트(11434) 설정이 완료되었는가?

로컬 LLM 프로젝트 실전 실행 전략

이제 엔진(Ollama)은 준비되었고, GPU 가속이라는 날개까지 달았다. 다음 단계는 이 로컬 뇌를 홈어시스턴트(Home Assistant)와 신경망처럼 연결하는 것이다. 단순히 질문에 답하는 수준을 넘어, 우리 집의 상태를 이해하고 스스로 제어하는 진정한 AI 집사를 구현해 볼 차례다.

다음 글 예고: Home Assistant와 Ollama 연동 및 실전 AI 비서 활용법

준비가 되었다면, 이제 홈어시스턴트 대시보드를 열어둘 시간이다. 다음 글에서 본격적인 연동을 시작한다.

댓글 남기기

WordPress Appliance - Powered by TurnKey Linux