데이터 & 폴더 활용하기

Backend.AI는 사용자의 파일을 보존할 수 있도록 별도의 저장소를 지원합니다. 연산 세션의 기본 폴더는 세션이 삭제되면 같이 삭제되므로, 보존해야 하는 파일이 있을 경우 Storage 폴더에 저장하는 것이 좋습니다. Storage 폴더는 좌측 메뉴의 Storage 탭을 선택하면 조회할 수 있습니다.

Folder list in Storage page

Storage 폴더에는 두 가지 형태가 있습니다. 사용자 형태(User)의 경우 일반 사용자가 자신의 폴더를 생성한 것으로, Type 컬럼에서 한 명의 사용자가 있는 것으로 확인할 수 있습니다. 프로젝트 폴더(Project)의 경우 Type 컬럼에 여러 명의 사용자가 있는 아이콘으로 알아볼 수 있으며, 도메인 관리자에 의해서만 프로젝트별로 생성되고 일반 사용자는 생성된 프로젝트 폴더를 사용만 할 수 있습니다.

Storage status in Storage page

폴더 목록 상단의 저장소 상태는 다음 정보를 표시합니다.

  • 폴더 개수
    • Created: 사용자가 생성 한 폴더 수입니다.

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

    • Project Folder: 사용자가 생성한 프로젝트 폴더 수입니다.

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

  • 스토리지 볼륨별 가용량
    • Host: 스토리지 호스트의 이름입니다.

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

    • User: 현재 사용자의 폴더 사용량 / 현재 사용자의 폴더 가용량입니다.

참고

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

폴더 목록의 소유자 패널에있는 확인 표시는 사용자가 만든 폴더를 나타냅니다.

Storage 페이지의 소유자 여부

많은 수의 폴더를 사용하고 있는 경우, 리스트 상단의 검색 상자를 이용하여 폴더 목록을 필터링할 수 있습니다.

Storage 폴더 생성

NEW FOLDER 버튼을 눌러서 폴더를 원하는 이름으로 생성할 수 있습니다. Folder name에 생성할 폴더의 이름을 입력하고, Type은 User/Project 중 하나를 선택합니다. (서버 설정에 따라 User, Project 중 하나만 선택 가능할 수 있습니다.) 프로젝트 폴더를 생성할 경우 Project 필드를 설정해 주어야 합니다. 프로젝트 폴더는 Project 필드에 지정된 프로젝트 전용이 되며, 해당 프로젝트에 속해있는 사용자만 그 프로젝트 폴더를 마운트해서 사용할 수 있습니다. 원하는 대로 값을 설정한 후 CREATE 버튼을 클릭하여 폴더를 생성할 수 있습니다.

Folder creation dialog

생성 대화 상자에서 선택할 수 있는 각 필드의 의미는 다음과 같습니다.

  • Folder name: 폴더의 이름입니다. 최대 64 자까지 입력 할 수 있습니다.

  • Host: 폴더를 만들 NFS 호스트입니다. NFS 호스트가 여러 개인 경우 하나를 선택할 수 있습니다.선택한 호스트가 충분한 용량을 가지고 있는지 여부는 표시기를 통해 확인할 수 있습니다.

  • Type: 생성 할 폴더 유형을 결정합니다. 사용자(User) 또는 프로젝트(Project)로 설정할 수 있습니다. 사용자 폴더는 사용자가 단독으로 생성하여 사용할 수 있는 폴더이며 프로젝트 폴더는 관리자가 생성하고 프로젝트의 사용자가 공유하는 폴더입니다.

  • Usage Mode: 폴더의 용도를 설정할 수 있습니다. 모드에는 일반, 데이터 및 모델의 세 가지 유형이 있습니다. 향후 Data & Model Store 전용 기능 개발을 위한 분류이며 현재는 목적에 따른 UI 차이가 없습니다.

  • Project: 새 프로젝트 폴더를 만들 때 폴더가 속한 그룹을 지정합니다. 프로젝트 폴더는 프로젝트에 속해야 합니다. 그러나 사용자 폴더를 생성할 때 어떤 역할도 하지 않습니다.

  • Permission: 프로젝트 폴더의 권한을 설정합니다. “Read-Only”로 설정된 경우, 프로젝트 멤버가 이 폴더에 쓰기 작업을 수행할 수 없습니다.

폴더 내용 조회하기

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

Controls in folder item

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

Storage 폴더의 파일 탐색기

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

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

파일 탐색기를 닫기 위해서는 우측 상단의 X 버튼을 누르면 됩니다.

폴더 이름 변경

Storage 폴더의 이름을 변경할 수 있는 권한을 가지고 있는 경우, Control 열의 편집 아이콘을 클릭해서 이름 변경 작업을 수행할 수 있습니다. 편집 아이콘을 클릭하면 이름 변경 다이얼로그가 나타나게 됩니다. 새로운 폴더 이름을 기록한 후 UPDATE 버튼을 클릭하십시오.

Folder rename dialog

폴더 삭제하기

저장소 폴더 삭제 권한이 있는 경우 제어판에서 휴지통 아이콘을 클릭하여 삭제할 수 있습니다. 삭제 버튼을 클릭하면 확인 대화 상자가 나타납니다. 실수로 삭제되는 것을 방지하기 위해 삭제할 폴더의 이름을 명시적으로 입력해야합니다.

참고

삭제 작업이 시작되고 나서도, 실제 저장된 공간에서 대상 폴더를 삭제하는 데 시간이 다소 소요될 수 있습니다. 삭제중인 상태의 폴더에 접근하려 하는 것과 같은 의도치 않은 작업을 막기 위해, 폴더에 접근할 수 있는 액션은 모두 비활성화됩니다.

../_images/vfolder_deleting.png
Folder deletion dialog

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

파이프라인 폴더

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

자동 마운트 폴더

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

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

자동 마운트 폴더

모델 폴더

Backend.AI는 24.03 버전 이후 ‘Model Store’ 기능을 제공합니다. 새롭게 추가된 “Model“ 탭은 사용자에게 통합된 모델 저장소 인터페이스를 제공하여 다양한 머신 러닝 및 딥러닝 모델을 쉽게 관리하고 액세스할 수 있도록 합니다. “Model” 탭의 기능과 사용법은 24.03 문서에서 업데이트될 예정입니다.

파일 브라우저 사용하기

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

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

  • 최소 1개 이상의 세션 생성 가능

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

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

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

  • Data & Storage 메뉴 내 폴더 탐색기 창에서 실행

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

Data & Storage 페이지의 폴더 탐색기에서 파일 브라우저 실행

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

first step to access FileBrowser

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

Folder explorer with FileBrowser

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

FileBrowser with new window

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

FileBrowser in session page

참고

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

../_images/app_dialog_with_filebrowser.png

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

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

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

참고

Sessions 페이지에서 생성한 파일브라우저의 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 버전부터 데스크탑 앱 및 웹 기반 Web-UI 환경에서 SSH / SFTP 프로토콜을 통해 파일을 업로드 할 수 있는 방법을 제공합니다. SFTP 서버를 사용하여 안정적으로 빠르게 파일을 업로드할 수 있습니다.

참고

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

Data & Storage 페이지의 폴더 탐색기에서 파일 브라우저 실행

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

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

Folder explorer with SFTP Server

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

SSH / SFTP connection dialog

참고

대용량 파일 업로드를 SSH/SFTP 연결을 통해 수행하는 방법을 상세히 제공하고 있습니다. 자세한 정보를 확인하시려면, 알아보기 텍스트 링크를 클릭하여 실행에 대한 상세 정보를 확인해주시기 바랍니다.

SSH / SFTP connection dialog expanded

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

참고

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