Data Page

데이터 & 폴더 활용하기

Backend.AI는 사용자의 파일을 안전하게 보관할 수 있도록 전용 저장소를 제공합니다. 연산 세션이 종료되면 세션 내에서 생성된 모든 파일과 디렉터리가 삭제되기 때문에, 중요한 데이터는 반드시 저장소 폴더에 저장하는 것이 좋습니다. 저장소 폴더 목록은 사이드바의 데이터 페이지에서 확인할 수 있습니다. 이 목록에서는 폴더 이름과 ID, 폴더가 위치한 NFS 호스트(위치), 폴더의 접근 권한(권한) 등 주요 정보를 확인할 수 있습니다

data page

저장소 폴더는 사용자(User)와 프로젝트(Project) 두 가지 형태가 있습니다. '종류' 열에서 사용자 폴더와 프로젝트 폴더를 구분할 수 있습니다.

사용자 폴더는 일반 사용자가 직접 생성하여 개인적으로 사용하는 폴더입니다. 프로젝트 폴더는 도메인 관리자가 프로젝트별로 생성하는 폴더입니다. 일반 사용자는 프로젝트 폴더를 직접 생성할 수 없으며, 관리자가 생성한 프로젝트 폴더만 사용할 수 있습니다.

Storage status in Storage page

저장소 상태와 스토리지 볼륨별 가용량은 아래의 정보를 표시합니다.

  • 저장소 상태
    • 생성된 폴더: 사용자가 생성한 폴더 개수.

      • 생성 제한: 사용자가 현재 만들 수 있는 최대 폴더 수. 이 값은 사용자에게 적용된 자원 정책에 따라 다르며 자원 정책을 변경하지 않고 변경할 수 없음. 사용자가 생성하지 않은 폴더(예 : 공유하도록 초대된 폴더 또는 프로젝트 폴더)는 계산에 포함되지 않음.

    • 프로젝트 폴더: 사용자가 생성한 프로젝트 폴더 수.

    • 초대된 폴더: 다른 사용자가 초대를 통해 공유한 폴더 수.

  • 저장소 볼륨별 가용량
    • 호스트: 스토리지 호스트의 이름.

    • 프로젝트: 현재 프로젝트의 폴더 사용량 / 현재 프로젝트의 폴더 가용량.

    • 사용자: 현재 사용자의 폴더 사용량 / 현재 사용자의 폴더 가용량.

참고

쿼타(가용량)는 쿼타 설정을 제공하는 스토리지에서만 사용할 수 있습니다(XFS, CephFS, NetApp, Purestorage 등). 가용량 설정에 대해서는 쿼타 설정 패널 섹션을 참고하십시오.

스토리지 폴더 생성

새 폴더를 만들려면 데이터 페이지에서 '폴더 생성'을 클릭합니다. 생성 대화 상자의 필드를 다음과 같이 채웁니다:

Folder creation dialog

생성 대화 상자의 각 필드 의미는 다음과 같습니다.

  • 사용 방식: 폴더의 용도를 설정함.

    • 일반: 일반 범용 폴더로 사용함.

    • 모델: 모델 서빙 및 관리에 특화된 폴더. 이 모드를 선택하면 폴더 복사 가능 여부를 설정할 수 있음.

    • 자동 마운트(Auto Mount): 연산 세션을 만들 때 자동으로 마운트되는 폴더. 이름은 반드시 '.'으로 시작해야 함.

  • 폴더 이름(Folder name): 폴더명 (최대 64자).

  • 위치(Location): 폴더를 생성할 NFS 호스트 선택. 여러 호스트가 있을 경우 각각의 사용 가능 용량을 확인한 후 적절한 호스트를 선택하세요.

  • 종류: 생성할 폴더 유형을 결정함. 사용자(User) 또는 프로젝트(Project)로 설정할 수 있음. 사용자 폴더는 사용자가 단독으로 생성하여 사용할 수 있는 폴더이며 프로젝트 폴더는 관리자가 생성하고 프로젝트의 사용자가 공유하는 폴더를 의미함.

  • 프로젝트: 프로젝트 타입을 선택한 경우 보여짐. 새 프로젝트 폴더를 만들 때 폴더가 속한 그룹을 지정할 수 있음. 프로젝트 폴더는 프로젝트에 속해야 하나, 사용자 폴더를 생성할 때 별도의 역할을 수행하지는 않음.

  • 권한: 프로젝트 폴더의 권한을 설정함. "Read-Only"로 설정된 경우, 프로젝트 멤버가 이 폴더에 쓰기 작업을 수행할 수 없음.

  • 복제 가능 여부: 사용 방식이 "모델"로 설정된 경우에만 보여짐. 생성하는 가상 폴더가 복제 가능한지 여부를 선택함.

여기에서 생성한 폴더는 연산 세션을 만들 때 마운트 할 수 있습니다. 폴더는 사용자의 기본 작업 폴더인 /home/work/ 아래 마운트되며, 이 폴더에 저장한 파일은 연산 세션이 종료되어도 사라지지 않습니다. (단, 폴더 자체를 삭제하면 사라지게 됩니다.)

폴더 내용 조회하기

폴더 이름을 클릭하여 해당 폴더의 내용을 조회할 수 있는 파일 탐색기를 띄울 수 있습니다.

vfolder list

내부에 폴더 및 파일이 존재하고 있는 것을 확인할 수 있습니다. Name 열에 있는 폴더 이름을 클릭하면 해당 폴더로 이동할 수 있습니다. Actions 열의 다운로드 버튼과 삭제 버튼을 클릭하여 파일을 받거나 폴더 상에서 완전히 삭제할 수 있습니다. 파일과 디렉토리의 이름을 변경하는 것도 가능합니다. 보다 섬세한 파일 작업이 필요하다면 이 폴더를 연산 세션 생성 시 마운트 한 뒤 터미널이나 Jupyter Notebook 등과 같은 서비스를 활용해서 수행할 수 있습니다.

folder explorer

'만들기' 버튼으로 현재 경로 상에 새로운 폴더를 생성할 수 있으며, '업로드' 버튼으로 현재 경로에 로컬 파일 혹은 폴더를 업로드 할 수도 있습니다. 이런 파일 작업은 앞서 설명한 연산 세션 마운트 방식으로도 모두 수행 가능합니다.

폴더 내 파일 또는 디렉토리의 최대 길이는 호스트 파일 시스템에 따라 달라질 수 있습니다. 그러나 일반적으로 255자를 초과할 수 없습니다.

참고

원활한 성능 유지를 위해, 너무 많은 파일이 포함된 디렉토리에서는 화면에 표시되는 파일 수에 제한이 있습니다. 파일이 많은 폴더의 경우, 일부 파일이 화면에 보이지 않을 수 있습니다. 이 경우 터미널이나 기타 앱을 이용해 해당 디렉토리의 모든 파일을 확인해 주세요.

폴더 이름 변경

스토리지 폴더의 이름을 변경할 수 있는 권한을 가지고 있는 경우, 폴더 이름 옆의 수정 버튼을 클릭해서 이름 변경 작업을 수행할 수 있습니다.

Folder rename dialog

폴더 삭제하기

스토리지 폴더를 삭제할 수 있는 권한을 가지고 있는 경우, 제어 열의 '휴지통' 아이콘을 눌러 폴더를 휴지통으로 이동시킬 수 있습니다. 휴지통으로 이동된 폴더들은 DELETE-PENDING 상태로 표시됩니다.

휴지통으로 이동

삭제하려는 폴더 이름을 입력하는 필드를 포함한 모달이 나타나면, 입력 필드에 삭제하려는 폴더 이름을 정확하게 입력한 후, 빨간색 '영구 삭제' 버튼을 클릭하여 폴더를 완전히 삭제할 수 있습니다.

휴지통 테이블

삭제하려는 폴더 이름을 입력하는 필드를 포함한 모달이 나타나면, 입력 필드에 삭제하려는 폴더 이름을 정확하게 입력한 후, 빨간색 '영구 삭제' 버튼을 클릭하여 폴더를 완전히 삭제할 수 있습니다.

Folder deletion dialog

파일 브라우저 사용하기

Backend.AI 에서는 20.09 버전부터 파일 브라우저 를 지원합니다. 파일 브라우저는 웹 브라우저를 통해 원격 서버에 있는 파일 관리를 도와주는 프로그램입니다. 특히 사용자의 로컬 머신에 있는 디렉토리를 업로드 할 때에도 유용하게 사용할 수 있습니다.

현재 Backend.AI에서는 파일 브라우저를 연산 세션 내에서 실행되는 애플리케이션 형태로 제공합니다. 따라서, 다음과 같은 최소 조건이 필요합니다.

  • 최소 1개 이상의 세션을 생성할 수 있음.

  • 최소 CPU 1 core, RAM 0.5 GB 이상의 여유 자원.

  • 파일 브라우저를 지원하는 이미지가 설치되어 있어야 함.

파일 브라우저는 두 가지 방법으로 사용할 수 있습니다.

  • 폴더 탐색기 창에서 실행.

  • 세션 페이지에서 파일 브라우저 이미지로 연산 세션 직접 생성.

폴더 탐색기에서 파일 브라우저 실행

데이터 페이지로 이동 후 원하는 데이터 폴더의 탐색기 창을 띄웁니다. 폴더 아이콘 혹은 폴더 이름을 클릭하여 파일 탐색기를 띄웁니다.

first step to access FileBrowser

탐색기 우측 상단의 '파일브라우저 실행' 버튼을 클릭해주세요.

Folder explorer with FileBrowser

파일 브라우저가 새 창에서 열린 것을 확인할 수 있습니다. 탐색기를 열었던 저장 폴더가 파일 브라우저의 루트 디렉토리가 되는 것도 알 수 있습니다. 파일 브라우저 창에서 디렉토리와 파일을 자유롭게 업로드하고 수정하고 삭제할 수 있습니다.

FileBrowser with new window

사용자가 '파일브라우저 실행' 버튼을 클릭하면, Backend.AI는 자동으로 파일 브라우저 전용 연산 세션을 하나 생성하게 됩니다. 따라서, 세션 페이지에서 파일 브라우저 연산 세션이 조회되는 것을 확인할 수 있습니다. 이 연산 세션을 삭제하는 것은 사용자의 몫입니다.

FileBrowser in session page

참고

파일 브라우저 창을 실수로 종료하여 다시 열고자 한다면, 세션 페이지로 가서 해당 세션의 Control 열에 있는 애플리케이션 아이콘을 선택하고 파일 브라우저 버튼을 클릭하면 됩니다.

../_images/app_dialog_with_filebrowser.png

만약 탐색기에서 '파일브라우저 실행' 버튼을 다시 클릭하면 새로운 세션이 생성되어 총 두 개의 파일 브라우저 연산 세션이 나타나게 됩니다.

파일 브라우저 이미지로 연산 세션 생성하기

파일 브라우저를 지원하는 이미지를 선택해서 연산 세션을 직접 생성할 수도 있습니다. 연산 세션 생성 시 작업하기 원하는 데이터 폴더를 하나 이상 마운트하십시오. 아무 데이터 폴더를 마운트하지 않아도 파일 브라우저 사용에는 문제가 없지만, 연산 세션이 종료되면 연산 세션에서 작업한 모든 파일이 삭제됩니다.

참고

세션 페이지에서 생성한 파일 브라우저의 root 디렉토리는 /home/work 입니다. 따라서, 연산 세션이 마운트된 모든 데이터 폴더에 자유롭게 접근할 수 있습니다.

파일 브라우저 기본 사용법

여기서는 Backend.AI 상에서 파일 브라우저의 간단한 사용 예를 보여 드립니다. 대부분의 파일 브라우저 작업은 매우 직관적이지만, 보다 자세한 가이드가 필요할 경우 파일 브라우저 문서 를 참조하십시오.

파일 브라우저로 로컬 디렉토리 업로드 하기

파일 브라우저는 로컬 디렉토리 구조를 그대로 보존하여 업로드 할 수 있는 기능을 지원합니다. 파일 브라우저 윈도우 우측 상단의 업로드 버튼을 클릭한 후 Folder 버튼을 클릭하십시오. 로컬 파일 탐색창이 뜨는데, 여기서 업로드 하기 원하는 디렉토리를 선택하면 됩니다.

참고

읽기 전용 폴더에 파일을 업로드 하는 경우, FileBrowser가 서버 에러를 띄우게 됩니다.

../_images/filebrowser_upload.png

다음과 같은 구조를 가진 폴더를 업로드해 보겠습니다.

foo
+-- test
|   +-- test2.txt
+-- test.txt

foo 디렉토리를 선택한 후 폴더가 성공적으로 업로드 된 것을 확인할 수 있습니다.

../_images/filebrowser_upload_finished.png

또한, 파일과 디렉토를 드래그 앤 드롭 하여 업로드할 수도 있습니다.

파일 또는 디렉토리를 다른 디렉토리로 옮기기

데이터 폴더 내 파일 또는 디렉토리를 옮기는 것도 가능합니다. 파일 또는 디렉토리의 위치를 변경하는 방법은 다음과 같습니다.

  1. 파일 브라우저에서 원하는 디렉토리나 파일을 선택하십시오.

../_images/select_folders.png
  1. 파일 브라우저 창 우측 상단의 '화살표' 버튼을 클릭합니다.

../_images/click_arrow_icon.png
  1. 이동할 경로를 선택합니다.

../_images/select_the_destination.png
  1. 'MOVE' 버튼을 클릭합니다.

옮기기 작업이 성공적으로 완료된 것을 확인할 수 있습니다.

../_images/moving_operation_in_filebrowser_finished.png

참고

현재 파일 브라우저는 연산 세션 내 애플리케이션 형태로 제공되고 있습니다. 향후 세션을 생성하지 않고 파일 브라우저를 독립적으로 실행할 수 있는 기능을 추가할 예정입니다.

SFTP 서버 사용

Backend.AI 22.09 버전부터 데스크탑 앱 및 웹 기반 WebUI 환경에서 SSH / SFTP 프로토콜을 통해 파일을 업로드 할 수 있는 방법을 제공합니다. SFTP 서버를 사용하여 안정적으로 빠르게 파일을 업로드할 수 있습니다.

참고

설정에 따라, SFTP 서버 실행하기가 허용되지 않을 수 있습니다.

데이터 페이지의 폴더 탐색기에서 SFTP 서버 사용 실행

데이터 페이지로 이동 후 원하는 데이터 폴더의 탐색기 창을 띄웁니다. 폴더 아이콘 혹은 폴더 이름을 클릭하여 파일 탐색기를 띄웁니다.

탐색기 우측 상단의 'SFTP 서버 사용' 버튼을 클릭해주세요.

Folder explorer with SFTP Server

SSH / SFTP 연결 다이얼로그가 뜨면서, 새로운 SFTP 세션이 자동으로 생성됩니다. (이 세션은 자원 점유 상태에 영향을 주지 않습니다.)

SSH / SFTP connection dialog

연결을 위해 'SSH 키 다운로드' 버튼을 클릭하여 SSH 비밀키(id_container)를 다운로드합니다. 접속 주소와 포트 번호도 기억해 두십시오. 다이얼로그에 적힌 접속 예제 코드를 참고하거나, 다음 링크 를 참고하여 세션으로 파일을 전송할 수 있습니다. link 파일을 보존하려면 데이터 폴더로 복사하십시오. 또한, 일정 시간 동안 파일 전송이 없는 경우에는 세션이 삭제될 수 있습니다.

참고

미리 사용자 SSH 키페어를 업로드 해두면 id_container 의 내용이 업로드한 SSH 사설키로 채워집니다. 따라서, 연산 세션에 SSH 접속을 할 때마다 파일을 다운로드할 필요가 없습니다. 사용자의 SSH 키페어 관리하기 부분을 참고하십시오.

폴더 카테고리

파이프라인 폴더

이 탭은 FastTrack에서 파이프라인을 실행할 때 자동으로 생성되는 폴더 목록을 보여 줍니다. 파이프라인을 만들면 각 태스크 인스턴스(연산 세션)에 대응되는 컨테이너의 /pipeline 위치에 새 폴더가 생성되고 마운트됩니다.

자동 마운트 폴더

데이터 페이지에는 '자동 마운트' 탭이 있습니다. 이 탭을 클릭하면 이름이 점(.)으로 시작하는 폴더 리스트를 볼 수 있습니다. 폴더를 생성할 때 점(.)으로 시작하는 이름을 지정하면 '일반' 탭이 아닌 '자동 마운트' 탭에 추가됩니다. 자동 마운트 폴더는 연산 세션 생성 시 별도로 마운트하지 않더라도 자동으로 홈 디렉토리에 마운트 되는 특수한 폴더입니다. 이를 이용하여, .local, .linuxbrew, .pyenv 등과 같은 스토리지 폴더를 생성해서 사용하면 연산 세션에 관계없이 늘 일정한 사용자 패키지 또는 환경을 구성할 수 있습니다.

자동 마운트 사용에 관한 보다 자세한 내용은 자동 마운트 폴더 사용 예제 섹션을 참고하십시오.

자동 마운트 폴더

모델 폴더

'모델' 탭은 모델 서빙을 간편하게 할 수 있도록 도와줍니다. 모델 폴더에 모델 서빙 및 학습 데이터에 필요한 입력 데이터를 저장할 수 있습니다.

모델 탭