윈도우 심볼릭 링크로 Models 폴더를 공유해서 사용하기

본문에서는 윈도우 심볼릭 링크 기술을 사용해 스테이블 디퓨전 모델 폴더를 공유해 컴퓨터 용량을 효율적으로 관리하는 방법을 살펴보고자 합니다. 스테이블 디퓨전을 장기간 사용하다보면, WebUI, ComfyUI 및 WebUI Forge 등 다양한 UI를 설치하면서 각각 가상환경을 따로따로 구성하고, 또 체크포인트, 로라, VAE 등 모델을 따로따로 사용하면 디스크 용량이 금방 차올라 부족하기 마련이지만, 심볼릭 링크를 사용하면 이런 용량 문제를 간편하게 해결할 수 있습니다.

스테이블 디퓨전 용량관리의 필요성

스테이블 디퓨전을 실행하는 A1111 WebUI의 경우 업데이트를 진행하면서 기존에 사용하던 확장기능들이 더이상 동작하지 않거나, 출돌로 인해 오류가 발생하는 등의 문제가 자주 발생합니다. 오픈소스로 발전하는 대부분의 프로젝트는 이같은 불편사항을 필연적으로 마주할 수 밖에 없는데요, 이 때문에 많은 분들이 WebUI 새 버전이 출시되면 업데이트를 바로 진행하기 보다, 기존 버전은 그대로 두고 새 버전을 새로 설치해서 사용하곤 합니다.

새버전을 새로 설치해서 사용하면, WebUI를 구동하는 가상환경부터 새로 구축하기 때문에 자잘한 오류로부터 자유롭기 때문에 문제없이 최신 확장기능(extensions)들을 설치해 사용할 수 있고, 예전 버전도 그대로 사용이 가능하다는 장점이 있습니다.

하지만 새로 설치를 한만큼 기존에 사용하던 체크포인트 모델이나 VAE, LoRA모델, 컨트롤넷 전용 모델 등을 또다시 복사해줘야 하는데요, 문제는 모델의 용량이 최소 수백MB에서 수GB에 이르는만큼, 다양한 기능을 복합적으로 사용하던 분들은 복사해야하는 모델의 용량도 어마어마합니다. 이를 간편하게 해결해줄 수 있는 방법이 바로 아래에서 소개드릴 윈도우 심볼릭 링크입니다.

윈도우 심볼릭 링크란?

원래 심볼릭 링크는 리눅스에서 많이 사용하는 기술으로, 특정 원본 폴더나 파일을 “바로가기”처럼 다른 위치에 가상폴더 또는 파일로 만들어서, 해당 가상폴더를 참조하는 프로그램들이 원본 폴더 또는 파일로 접근할 수 있도록 해주는 방법입니다. 윈도우에서도 이 심볼릭 링크 기술을 사용할 수 있는데요, 사용 방법은 다음과 같습니다.

윈도우 심볼릭 링크 사용방법

먼저 터미널을 관리자 권한으로 실행한 뒤 아래를 참고하여 심볼릭 링크를 만들어줄 각각의 위치(원본 폴더, 가상 폴더)를 명령어와 함께 입력해주면 됩니다.

1.관리자 권한으로 터미널 실행

윈도우키+R > cmd 입력 후 명령 프롬프트를 아래 그림과 같이 “관리자 권한으로 실행” 합니다.

관리자 권한으로 터미널 실행하기

2.심볼릭 링크 생성 명령어 입력

이제 터미널에서 공유를 받을 폴더 위치로 이동하신 뒤 아래와 같이 명령어를 입력하면 원본폴더가 공유폴더로 지정됩니다.

mklink /d 공유할 폴더명 원본폴더 경로

명령어를 간단히 살펴보면 맨 앞의 mklink /d는 make link, 즉 디렉토리 링크를 만들라는 뜻이고, 뒤의 공유할 폴더 명은 로라 모델의 경우 Lora, 체크포인트 모델의 경우 Stable-diffusion로, 원본폴더 경로는 윈도우 탐색기에서 바로 불러올 수 있습니다. 터미널 경로 이동에 대해 자세한 설명이 필요하신 분들은 아래 글을 참고해주시기 바랍니다.

스테이블 디퓨전 모델 폴더 윈도우 심볼릭 링크 만들기

그럼 이제 직접 스테이블 디퓨전 모델 폴더를 윈도우 심볼릭 링크로 만들어 사용해보겠습니다.

원본 모델 폴더와 가상(공유)모델폴더

좌측의 Lora, Stable-diffusion 폴더는 기존에 설치해 사용하던 WebUI 폴더 내에 있는 로라, 체크포인트 모델 폴더입니다. 우측은 새로 설치한 WebUI Forge 폴더 내에 있는 로라, 체크포인트 모델 폴더입니다. 이제 우리는 좌측 WebUI의 Lora, Stable-diffusion 폴더를 우측의 WebUI Forge 폴더에서 접근 가능하도록 만들 예정입니다.

먼저 공유폴더를 생성할 새로운 위치에 기존의 Lora, Stable-diffusion 폴더는 삭제합니다. 이후 터미널에서 아래와 같이 명령어를 입력합니다.

윈도우 심볼릭 링크 터미널 작성 예시1

위 예시의 경우 WebUI와 WebUI Forge가 설치된 곳의 models 폴더 위치가 다음과 같습니다.

  • WebUI : E:\WEBUI\stable-diffusion-webui\models
  • WebUI Forge : E:\WEBUI_Forge\webui\models

따라서 터미널에서 WebUI Forge의 models폴더까지 cd 명렁어로 이동한 뒤, 아래와 같이 심볼릭 링크를 만드는 명령어를 입력해준 것입니다.

mklink /d Stable-diffusion E:\WEBUI\stable-diffusion-webui\models\Stable-diffusion

마찬가지로 로라 폴더도 아래처럼 명령어를 입력해 동일하게 작업을 해줍니다.

윈도우 심볼릭 링크 터미널 작성 예시2

기호화된 링크(심볼릭 링크)가 만들어졌다는 문구가 뜨면 정상적으로 진행이 된 것이며, 아래와 같이 WebUI Forge 모델 폴더안에 WebUI 원본 모델 폴더들이 바로가기 표시와 함께 생성된 것을 볼 수 있습니다.

webui forge symoblic link 결과

이 상태에서 WebUI Forge를 실행하면, 마치 기존 WebUI에서 사용하던 체크포인트와 로라 모델을 모두 복사해 WebUI Forge 폴더에 옮겨둔 것처럼 UI내에서 모든 모델들에 접근이 가능합니다.

위와 같은 방법으로 WebUI의 각 버전별, 혹은 ComfyUI의 모델 폴더 등에도 동일하게 원본 모델 폴더들을 기호화된 링크, 즉 심볼릭 링크로 만들어 공유할 수 있습니다. 따라서 같은 모델을 여러번 다운받아 다른위치에 옮겨둘 필요 없이 하나의 폴더에 몰아두고, 이를 각각의 UI, 또 각 UI의 각각 다른 버전등에서 공유하여 사용할 수 있기 때문에 저장공간을 조금 더 여유롭게 사용할 수 있습니다.

이론적으로는 다른 드라이브에 있는 폴더간에도 심볼릭 링크를 적용하여 사용할 수 있지만, 모델의 개수가 많아지고 용량이 커지면서 오류가 발생할 확률이 높아진다고 하니, 되도록 WebUI 또는 ComfyUI가 설치된 동일한 드라이브 내에서 폴더들을 공유하는 것을 권장드립니다.