Ollama 모델 저장 위치를 바꾸기 전 확인할 것
Ollama 모델을 다른 드라이브에 저장하고 싶다면 현재 Ollama 서버가 모델을 읽는 폴더와 설치된 모델 목록부터 남겨 두세요. 새 저장 위치를 정했다는 사실만으로 기존 모델 파일이 자동으로 옮겨지거나 같은 서버에서 다시 보인다고 생각해서는 안 됩니다. 이 글에서는 새 폴더의 전체 주소와 여유 공간, 기존 파일을 어떻게 남길지 등 변경 전에 확인할 내용을 정리합니다.
이 글은 변경 전 확인표를 만드는 안내이며 실제 이동 명령을 다루지는 않습니다. 공식 절차 확인일은 2026년 10월 4일 KST입니다. 폴더 위치와 모델 목록, 용량은 직접 만든 가상 자료입니다. 로컬 검사로 폴더가 서로 포함되는지, 정한 공간 계획의 계산이 맞는지와 변경을 미룰 조건만 확인했습니다. 실제 폴더 이동·복사·환경 변수 변경·Ollama 재시작은 하지 않았습니다.

변경할 대상이 프로그램인지 모델인지 먼저 정하기
Ollama Windows 문서는 프로그램 설치 위치와 모델 저장 위치를 별도 항목으로 안내합니다. 모델 저장 위치를 지정하는 변수는 OLLAMA_MODELS입니다. 설치 프로그램의 위치를 바꾸는 옵션을 모델 폴더 변경 방법으로 사용하지 않습니다. Ollama Windows 문서
공식 FAQ의 Windows 기본 모델 위치는 C:\Users\%username%\.ollama\models입니다. 이는 기본값 설명이며 내 서버의 현재 경로 관찰이 아닙니다. 사용자 지정 변수, 실행 계정, 컨테이너 등 조건이 다르면 기본값을 그대로 원본 경로로 채울 수 없습니다. Ollama 모델 저장 위치 FAQ
현재 경로가 미확인이면 먼저 위치를 조사하세요. 이 글에서 새 경로를 고르는 일은 현재 저장 위치와 원본 목록을 확인한 다음에 이어집니다. C드라이브 사용량의 원인을 찾는 프로그램·모델·로그 위치 조사와 결과물이 다른 이유입니다.
사용자 설정과 실행 중인 서버 환경을 구별하기
Windows 앱은 환경 변수 변경 후 종료·재실행이 필요한 경우가 있습니다. Ollama 공식 Windows 안내도 실행 중인 앱을 종료한 뒤 다시 시작하는 조건을 설명합니다. 이번 사전 점검에서는 설정을 저장하거나 앱을 종료하지 않고 현재 상태와 예정된 재시작 조건만 기록합니다. 모델 경로 변경 공식 안내
현재 셸·사용자·시스템의 관찰을 나누려면 PowerShell의 읽기 전용 조회를 사용할 수 있습니다. 아래는 변수 이름이 같아도 어느 범위의 값을 읽는지 명시한 예입니다.
[Environment]::GetEnvironmentVariable('OLLAMA_MODELS', 'Process')
[Environment]::GetEnvironmentVariable('OLLAMA_MODELS', 'User')
[Environment]::GetEnvironmentVariable('OLLAMA_MODELS', 'Machine')
Process는 지금 이 PowerShell 프로세스의 환경입니다. 이 명령이 실행 중인 Ollama 서버 내부의 환경을 직접 읽는 것은 아닙니다. Microsoft 문서는 프로세스 환경과 Windows의 사용자·시스템 저장값을 구분합니다. Microsoft 환경 변수 조회 문서
사용자 설정이 새 경로라고 해도 이전에 시작한 서버가 그 값을 적용했는지는 별도 확인입니다. 빈 출력도 ‘모델 없음’으로 바꾸지 않습니다. 기본 경로 사용, 다른 계정이나 실행 방식, 서버 시작 시점 등을 확인해야 할 수 있습니다. 값을 모르면 서버 적용 경로는 미확인으로 남깁니다.
서버를 서비스·WSL·컨테이너로 운영한다면 Windows 앱 절차를 그대로 쓰지 말고 그 서버의 운영 문서를 확인하세요. 다른 계정의 경로·권한을 임의로 바꾸거나 관리자 권한으로 우회하는 행동은 사전 확인에 포함하지 않습니다.
원본 모델 목록과 보존할 자료를 정하기
이미 준비된 공식 Ollama와 의도한 서버를 대상으로 다음 조회의 실제 출력만 기록합니다. 목록 조회 실패는 빈 목록이 아닙니다.
ollama ls
목록에서 모델 이름·태그·ID·표시크기를 함께 남기고 조회 시각·서버 대상도 적습니다. Ollama CLI 문서 전체 폴더 크기와 목록의 표시크기 합계가 같다고 가정하지 않습니다. 공유 파일, 파일 시스템 조건, 조회 범위가 다를 수 있습니다.
보존 대상에는 기존 모델 폴더뿐 아니라 다시 구성하기 어려운 맞춤 모델의 원본 Modelfile이나 관련 설정·변경 기록이 있을 수 있습니다. 어디에 있는지 먼저 목록을 만들고, 기록을 채우기 위해 폴더를 지우거나 새 모델을 다운로드하지 않습니다. 모델 저장 위치 변수의 설명을 ‘기존 파일을 자동으로 옮기는 기능’으로 읽지 마세요.
변경 뒤 확인할 기준도 변경 전에 적습니다. 같은 서버에서 필요한 태그와 ID를 다시 대조할 것인지, 맞춤 모델을 어떻게 확인할 것인지, 기존 원본을 어느 시점까지 남길 것인지 정합니다. 폴더가 생성됐다는 사실은 원본 목록·사용 가능성 확인과 별개의 관찰입니다.
새 경로 후보의 절대 경로와 포함 관계 검사하기
이번 연습의 후보는 D:\AI Practice\Models입니다. 공백이 있으므로 경로를 명령에 넣는 후속 작업에서는 해당 셸의 인용 규칙이 필요합니다. 여기서는 명령을 실행하거나 빈 폴더를 새로 만들지 않습니다. 경로 문자열을 적고 확인할 항목만 정합니다.
Models는 드라이브를 포함한 절대 경로가 아닙니다. 또 D:Models는 D:\Models와 같지 않습니다. 이런 문자열이 기록에 있으면 실제 기준 위치가 확인되기 전까지 새 저장 볼륨을 확정하지 않습니다. Windows 절대 경로 판별을 연습한 Python의 PureWindowsPath는 파일 시스템 접근 없이 경로를 해석합니다. Python pathlib 공식 문서
원본이 D:\Models이고 후보가 D:\Models\New라면 후보가 원본 안에 있습니다. 반대로 원본이 후보 안에 있어도 작업 범위가 겹칩니다. 이런 후보는 복사·삭제 범위를 혼동할 수 있으므로 이번 확인표에서는 보류합니다. 같은 경로의 대소문자·끝 구분자 차이도 문자열 표면만 보고 다른 위치라고 취급하지 않습니다.
이 검사는 경로 문자열의 관계만 봅니다. 연결된 폴더, 심볼릭 링크, 볼륨 마운트, 네트워크 드라이브의 실제 대상까지 증명하지 않습니다. 경로가 절대 경로이고 겹치지 않아도 실제 존재·접근·서버 실행 계정의 쓰기 조건은 추가 확인해야 합니다. 읽을 수 있다는 사실만으로 쓸 수 있다고 판단하지 않습니다.
합성 용량과 일곱 사례로 변경 후보를 분류하기
다음 바이트는 실제 모델 폴더 측정값이나 필요한 여유 공간 기준이 아닙니다. 현재 원본을 남긴 채 새 볼륨에 별도 사본을 둘 계획이라고 가정합니다. reserve는 다른 용도로 보존하기로 사람이 정한 합성 값입니다.
합성 변경 전 목록:
demo:blue|ID-BLUE
demo:green|ID-GREEN
실제 다운로드·설치 목록이 아님
case|current_path|candidate_path|free_bytes|reserve_bytes|source_bytes
MOVE01|C:\Lab\Models|D:\AI Practice\Models|7000|1000|4800
MOVE02|C:\Lab\Models|D:\AI Practice\Models|5000|1000|4800
MOVE03|D:\Models|D:\Models\New|7000|1000|4800
MOVE04|C:\Lab\Models|Models|7000|1000|4800
MOVE01의 계획 잔여는 7000 - 1000 - 4800 = 1200바이트입니다. MOVE02는 5000 - 1000 - 4800 = -800바이트여서 이 계획으로는 보류합니다. 1200이라는 양수도 실제 복사에 필요한 여유, 파일 시스템 할당량, 임시 파일 공간까지 검증했다는 뜻은 아닙니다.
나머지 상태를 포함한 기대 판정은 아래와 같습니다. 모든 yes·unknown은 합성 기록의 조건이며 실제 승인·환경 관찰값이 아닙니다.
| 사례 | 추가 조건 | 기대 판정 |
|---|---|---|
| MOVE01 | 현재 경로·서버 환경 확인, 원본 보존 계획 yes | 변경 계획 검토 후보·실행 미승인 |
| MOVE02 | MOVE01과 같고 공간 계산만 -800 | 새 볼륨 공간 계획 보류 |
| MOVE03 | 후보가 원본 안에 있음 | 경로 포함 관계 보류 |
| MOVE04 | 후보가 상대 경로임 | 절대 경로 확인 보류 |
| MOVE05 | 현재 경로 확인 unknown | 원본 경로 확인 보류 |
| MOVE06 | 현재 서버 환경 확인 unknown | 서버 적용 환경 확인 보류 |
| MOVE07 | 원본 보존 계획 no | 원본 보존 계획 보류 |
판정 순서는 원본 경로 확인, 서버 환경 확인, 절대 경로와 포함 관계, 공간 계산, 원본 보존 계획입니다. MOVE01은 항목이 갖춰져 후속 계획을 검토할 수 있다는 뜻입니다. 이동·변수 저장·재시작이 승인되거나 성공했다는 뜻으로 쓰지 않습니다.
사본 오류를 복원하고 실제 변경은 분리하기
로컬 Python에서 위 일곱 상태와 1200·-800 계산을 검사했습니다. 원본과 후보가 같은 경로인 사본, 후보가 원본의 부모인 사본도 포함 관계 보류로 확인했습니다. source_bytes를 비운 사본은 0으로 채우지 않고 입력 확인으로 멈췄습니다. 원본의 4800으로 복원하면 MOVE01의 후보 판정이 다시 나옵니다.
원본 모델 목록의 ID-GREEN을 다른 표식으로 바꾼 사본은 변경 전 기록과 불일치하도록 검사했습니다. 이 검사는 두 합성 목록 비교이며 실제 이동 후 모델 ID를 관찰한 시험이 아닙니다. 실제 후속 작업에서 목록이 비거나 달라졌다면 새 다운로드로 가려 버리기 전에 원본 경로·서버 대상·환경 적용을 다시 확인해야 합니다.
[Ollama 모델 위치 변경 전 확인표]
실제 확인 날짜·시간대:
운영체제·설치 방식 / 서버 실행 방식·계정:
현재 서버와 클라이언트가 가리키는 대상:
현재 모델 경로 / 실제 적용 확인 근거:
OLLAMA_MODELS Process·User·Machine 값(조회 범위 명시):
서버 시작 시점 / 설정값과 다를 가능성:
변경 전 모델 목록의 태그·ID / 조회 시각:
맞춤 모델 원본·설정 등 별도 보존 대상:
원본 측정 범위·바이트 / 측정 방법·시각:
새 절대 경로 후보 / 실제 볼륨·링크 확인:
원본과 후보의 동일·상하위 관계:
새 볼륨 여유 공간·단위 / 다른 용도 보존 계획:
서버 실행 계정의 접근·쓰기 조건 또는 미확인:
원본 보존 위치·유지 기간 / 제거 전 확인 조건:
후속 설정 적용·서버 종료·재시작 예정 조건:
변경 뒤 목록·사용 가능성을 대조할 기준:
문제 발생 시 이전 설정·원본으로 돌아갈 계획:
보류 항목 / 실제 실행에 필요한 별도 결정:
이동·삭제·설정 변경·재시작: 이 확인에서는 미실행
확인표를 완성해도 실제 변경은 별도 작업입니다. 공식 설정 절차에 재시작이 포함된다는 사실만으로 기존 파일을 먼저 삭제하지 않습니다. 종료 기준은 현재 적용 경로, 새 후보, 원본 보존과 변경 뒤 대조 기준을 설명할 수 있는 상태입니다. 확인표만으로 실제 이동이나 복구 성공을 판단할 수는 없습니다.