콘텐츠로 이동

파일 & 스토리지

파일이 어디에 저장되는지 알아두어야 합니다. 어떤 위치는 모든 워크스페이스에서 유지되고, 어떤 위치는 한 워크스페이스 안에서만 유지되며, 나머지는 임시로만 존재합니다.

모든 워크스페이스는 호스트의 ~/work를 컨테이너 내부의 /work로 마운트합니다.

  • /work에 저장된 파일은 모든 워크스페이스에서 유지되며, 중지·재시작은 물론 워크스페이스를 삭제한 뒤에도 보존됩니다.
  • 나중에 새 워크스페이스를 만들어도 같은 /work가 그대로 보입니다.
  • 데이터셋, 체크포인트, 코드처럼 잃어버리면 안 되는 파일은 모두 이곳에 저장하세요.

/home/<사용자명> (워크스페이스별 홈)

섹션 제목: “/home/<사용자명> (워크스페이스별 홈)”

컨테이너 안의 홈 디렉터리는 호스트의 워크스페이스별 디렉터리(~/workspaces/<id>/workspace-private)를 백업으로 사용합니다. 그래서 다음과 같이 동작합니다.

  • conda 환경, pip 사용자 설치, dotfiles, 셸 기록은 해당 워크스페이스를 중지했다가 다시 시작해도 그대로 유지됩니다.
  • 워크스페이스를 만들면 홈 디렉터리는 빈 상태로 시작합니다. 이전 워크스페이스의 환경과 설치 내용은 넘어오지 않습니다.
  • 워크스페이스를 삭제하면 워크스페이스별 홈은 계정 아래에 보관됩니다. 복구할 파일이 있으면 관리자에게 문의하세요. /work는 삭제되지 않습니다.

conda 환경을 여러 워크스페이스에서 유지하려면 /work 아래에 저장하거나, 환경을 내보냈다가 다시 설치하세요.

관리자가 데이터셋이나 미리 받아둔 모델 가중치 같은 공유 디렉터리를 구성해 두었을 수 있습니다. 이런 디렉터리는 모든 워크스페이스에서 /data처럼 고정된 경로에 나타납니다. 기본적으로 읽기 전용입니다. 사용할 수 있는 경로는 관리자에게 문의하세요.

워크스페이스는 --userns=keep-id 옵션을 써서 Linux 사용자 계정으로 실행됩니다. 컨테이너 안에서 만든 파일도 호스트에서 같은 Linux 사용자 계정 소유로 표시됩니다. 그래서 chown을 따로 할 필요가 없고 LabPod 밖에서(예: SSH) 파일에 접근할 때도 UID가 어긋나지 않습니다.

워크스페이스 상세 페이지에는 서버 측 파일 관리자를 여는 파일 버튼(폴더 아이콘)이 있습니다. 이 파일 관리자에서 다음과 같은 작업을 할 수 있습니다.

  • /work 및 워크스페이스별 홈 디렉터리를 탐색합니다.
  • 로컬 컴퓨터에서 파일을 업로드합니다.
  • 개별 파일이나 전체 디렉터리를 .tar.gz 아카이브로 다운로드합니다. 삭제 전에 워크스페이스 홈을 백업하거나 결과물을 꺼낼 때 유용합니다.
  • 디렉터리를 만들고, 파일 이름을 바꾸거나 삭제합니다.

파일 관리자는 워크스페이스가 중지된 상태에서도 작동합니다.

LabPod는 모든 워크스페이스에서 HF_HOME=/work/.hf-cache를 설정합니다. 그래서 transformers, datasets, huggingface-hub로 내려받은 모델 가중치와 데이터셋은 사용자의 /work 아래에 한 번만 저장됩니다. 새 워크스페이스를 만들 때마다 16+ GB를 다시 받을 필요 없이 모든 워크스페이스가 이 캐시를 자동으로 함께 씁니다.

다른 캐시 위치를 쓰고 싶다면 워크스페이스 설정 → 환경에서 HF_HOME을 재정의하세요. 연구실에서 공통 가중치를 함께 쓴다면 관리자에게 공유 읽기 전용 마운트를 구성하고 HF_HUB_CACHE를 그 경로로 설정해 달라고 요청하세요.