데이터 & 폴더 활용하기

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

Folder list in Storage page

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

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

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

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

Storage status in Storage page

참고

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

Storage 폴더 생성

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

Folder creation dialog

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

  • Folder name: 폴더의 이름입니다. 최대 64 자까지 입력 할 수 있습니다.
  • Host: 폴더를 만들 NFS 호스트입니다. NFS 호스트가 여러 개인 경우 하나를 선택할 수 있습니다.
  • Type: 생성 할 폴더 유형을 결정합니다. 사용자(User) 또는 프로젝트(Group)로 설정할 수 있습니다. 사용자 폴더는 사용자가 단독으로 생성하여 사용할 수있는 폴더이며 프로젝트 폴더는 관리자가 생성하고 프로젝트의 사용자가 공유하는 폴더입니다.
  • Usage Mode: 폴더의 용도를 설정할 수 있습니다. 모드에는 일반, 데이터 및 모델의 세 가지 유형이 있습니다. 향후 Data & Model Store 전용 기능 개발을 위한 분류이며 현재는 목적에 따른 UI 차이가 없습니다.
  • Project: 새 프로젝트 폴더를 만들 때 폴더가 속한 그룹을 지정합니다. 프로젝트 폴더는 프로젝트에 속해야합니다. 그러나 사용자 폴더를 생성할 때 어떤 역할도 하지 않습니다.
  • Permission: 프로젝트 폴더의 권한을 설정합니다. “Read-Only”로 설정된 경우, 프로젝트 멤버가 이 폴더에 쓰기 작업을 수행할 수 없습니다.

폴더 내용 조회하기

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

Controls in folder item

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

File explorer of a storage folder

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

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

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

폴더 이름 변경

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

Folder rename dialog

폴더 삭제하기

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

Folder deletion dialog

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

자동 마운트 폴더

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

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

Automount folders

파일 브라우저 사용하기

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

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

  • 최소 1개 이상의 세션 생성 가능
  • 최소 CPU 1 core, RAM 0.5 GB 이상의 여유 자원
  • 파일 브라우저를 지원하는 이미지가 설치되어 있음

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

  • Data & Storage 메뉴 내 폴더 탐색기 창에서 실행
  • Sessions 페이지에서 파일 브라우저 이미지로 연산 세션 직접 생성

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

Data & Storage 페이지로 이동 후 원하는 데이터 폴더의 탐색기 창을 띄웁니다. 데이터 폴더 우측의 Control 열에서 폴더 아이콘을 클릭하여 파일 탐색기를 띄웁니다.

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

주석

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

XFS 에서 quota 설정하기

Backend.AI에서는 파일시스템 또는 스토리지 계층에서 디렉토리별 가용량 제한을 지원하는 경우 데이터 폴더별 가용량 제한 기능을 제공하고 있습니다. 폴더별 용량 제한은 관리자가 설정할 수 있으며, 더 큰 가용량이 필요한 경우에는 관리자에게 문의해야 합니다. 관리자가 설정한 가용량 내에서는 사용자가 각 폴더별 설정 아이콘을 클릭하여 가용량을 변경할 수 있습니다.

XFS quota setting

XFS 상 폴더별 용량 제한 기능에 관한 보다 자세한 정보는 다음 문서에서 확인할 수 있습니다:

또한, 정보 다이얼로그에서 데이터 폴더의 현재 사용량과 전체 용량도 확인할 수 있습니다.

Vfolder information storage host xfs