Ollama 설치 경로 C드라이브 고정 문제 해결 및 드라이브 변경 방법
- 03-31
- 18 회
- 0 건
Ollama 설치 경로 문제와 디스크 점유 원인
로컬에서 대형 언어 모델을 테스트할 때 Ollama를 자주 사용한다. 문제는 설치 과정에서 경로를 선택할 수 없고, 기본적으로 C:\Users\<사용자>\AppData\Local\Programs\Ollama에 설치된다는 점이다. 이 구조는 사용자 권한 기반 설치를 단순화하는 대신, 디스크 사용 위치를 강제로 고정하는 방식이다.
실제 환경에서 확인해보면 lib 디렉토리 하나만으로도 1GB 이상을 차지하는 경우가 많다. 여기에 모델까지 다운로드하면 총 사용량이 10GB 이상으로 증가한다. 특히 C드라이브를 OS 전용으로 사용하는 환경에서는 이 구조가 바로 병목으로 이어진다.
문제는 단순히 용량이 아니라 관리 위치다. 모델은 환경 변수로 분리할 수 있지만, 실행 바이너리와 런타임은 Local 경로에 묶인다. 이 상태에서는 용량 관리, 백업, SSD/HDD 분리 전략이 모두 제한된다.
기존 방식의 한계와 우회 방법의 필요성
일반적인 설치 방식에서는 경로를 변경할 수 있는 옵션이 노출되지 않는다. 설치 파일을 실행하면 내부적으로 %LOCALAPPDATA% 경로를 기준으로 자동 배치된다. MSI 기반 설치가 아니라 단순 실행형 설치 구조라서 옵션 확장도 제한적이다.
이 문제를 해결하기 위해 흔히 사용하는 방법이 심볼릭 링크다. mklink 명령으로 C드라이브 경로를 D드라이브로 우회시키는 방식이다. 이 방법은 이미 설치된 상태에서도 적용 가능하다는 장점이 있다. 다만 파일 이동과 링크 생성 과정이 필요하고, 관리자 권한이 요구되며, 일부 환경에서는 경로 인식 문제가 발생한다.
또 다른 방법은 설치 파일 내부를 수정하는 방식인데, 업데이트 시 덮어쓰기 문제와 호환성 문제가 발생한다. 결국 설치 시점에서 경로를 제어하는 방식이 필요했다.
PowerShell DIR 옵션을 이용한 설치 경로 변경
설치 파일 실행 시 전달되는 인자를 직접 제어하면 경로를 바꿀 수 있다. PowerShell의 Start-Process를 이용하면 실행 파일에 인자를 전달할 수 있고, 이 과정에서 /DIR 옵션을 사용할 수 있다.
아래 코드는 설치 경로를 D드라이브로 지정하는 방식이다.
Start-Process -FilePath "D:\Downloads\OllamaSetup.exe" -ArgumentList "/DIR=D:\OllamaApp" -Wait
입력은 설치 파일 경로와 설치 대상 디렉토리다. -FilePath는 실행할 설치 파일을 의미하고, /DIR은 설치 위치를 지정하는 인자다. -Wait 옵션은 설치 프로세스가 종료될 때까지 PowerShell이 대기하도록 만든다.
이 방식의 장점은 설치 시점에서 경로를 결정한다는 점이다. 별도의 파일 이동이나 링크 설정이 필요 없다. 동일한 스크립트를 여러 환경에 적용하면 설치 경로를 일관되게 유지할 수 있다.
코드 동작 방식과 실행 흐름 분석
이 코드는 단순 실행처럼 보이지만 내부적으로는 몇 단계의 처리를 거친다. 입력 단계에서는 설치 파일 경로와 인자 문자열이 전달된다. PowerShell은 이를 기반으로 새로운 프로세스를 생성한다.
다음 단계는 인자 전달이다. /DIR=D:\OllamaApp 문자열이 설치 프로그램으로 전달되며, 설치 프로그램은 이를 파싱하여 설치 경로로 사용한다. 이 과정에서 경로가 존재하지 않으면 자동으로 생성된다.
실행 단계에서는 설치 프로그램이 지정된 경로에 파일을 배치한다. 기본 설치 대비 약 1.2GB 정도의 파일이 이동되며, 디스크 I/O가 집중되는 구간이다. -Wait 옵션이 있기 때문에 설치가 끝나기 전까지 다음 명령은 실행되지 않는다.
결과적으로 출력은 지정된 경로에 설치된 Ollama 실행 환경이다. 이후 실행 시에도 해당 경로를 기준으로 동작한다.
심볼릭 링크 방식과의 비교
심볼릭 링크 방식은 이미 설치된 환경을 유지하면서 경로만 변경하는 접근이다. 이 방식은 빠르게 적용할 수 있지만, 파일 이동과 링크 생성이라는 추가 단계가 필요하다. 또한 링크가 깨질 경우 전체 실행이 실패한다.
반면 PowerShell 설치 방식은 초기 설치 단계에서 경로를 결정한다. 파일 이동이 없고, 경로 구조가 명확하게 유지된다. 대신 기존 설치를 제거하고 다시 설치해야 한다는 조건이 붙는다.
선택 기준은 환경에 따라 달라진다. 이미 모델과 설정이 구축된 상태라면 심볼릭 링크가 유리하다. 반대로 초기 세팅 단계이거나 여러 머신에 동일 환경을 배포해야 한다면 PowerShell 방식이 더 적합하다.
적용 시 주의사항과 확장 방향
이 방식은 설치 프로그램이 /DIR 인자를 지원한다는 전제에서 동작한다. 향후 설치 구조가 변경되면 동작하지 않을 가능성이 있다. 또한 경로에 공백이 포함된 경우 반드시 따옴표로 감싸야 한다.
모델 저장 경로는 별도로 관리해야 한다. 환경 변수 OLLAMA_MODELS를 사용하면 모델 데이터를 다른 드라이브로 분리할 수 있다. 프로그램과 모델을 각각 다른 디스크에 배치하면 I/O 분산 효과를 얻을 수 있다.
이 구조는 단일 머신뿐 아니라 CI 환경이나 개발 환경 자동 구성에도 적용 가능하다. 스크립트로 설치 경로를 고정하면 환경 간 차이를 줄일 수 있다. 특히 여러 개발자가 동일한 로컬 LLM 환경을 사용하는 경우 관리 비용이 줄어든다.











로그인 후 댓글내용을 입력해주세요