일관된 데이터 및 모델 관리를 위한 전용 저장소

주석

목표

  • Storage 폴더의 개념
  • Storage 폴더의 생성/삭제/탐색
  • 자동 마운트 Storage 폴더

Backend.AI는 사용자의 파일을 보존할 수 있도록 별도의 저장소를 지원합니다. 연산 세션의 기본 폴더는 세션이 삭제되면 같이 삭제되므로, 보존해야 하는 파일이 있을 경우 Storage 폴더에 저장하는 것이 좋습니다. Storage 폴더는 좌측 메뉴의 Data & Storage 탭을 선택하면 조회할 수 있습니다. 폴더의 이름과 ID, 폴더가 위치하는 NFS 호스트명(Location), 폴더 접근 권한(Permission) 등의 정보가 출력되는 것을 볼 수 있습니다.

Folder list in Storage page

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

폴더 생성

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

Folder creation dialog

생성 다이얼로그에서 선택할 수 있는 각 항목은 의미는 다음과 같습니다.

  • Folder name: 폴더의 이름입니다. 최대 64자까지 입력 가능합니다.
  • Host: 폴더를 생성할 NFS 호스트입니다. NFS 호스트가 여러 개 있을 경우 선택할 수 있습니다.
  • Type: 생성할 폴더의 형태를 결정합니다. User 또는 Group 형태로 설정할 수 있습니다. User 폴더는 사용자가 생성하고 혼자 사용할 수 있는 폴더 형태이고, Group 폴더는 관리자가 생성하고 그룹 내의 사용자가 공유해서 사용할 수 있습니다.
  • Usage Mode: 폴더의 용도를 설정할 수 있습니다. General, Data, Model 세 가지 형태가 있습니다. 향후, 데이터 및 모델 스토어 전용 기능 개발을 위해 구분되어 있으며, 현재는 용도에 따른 UI 상 차이는 없습니다.
  • Group: 그룹 폴더를 생성할 경우 폴더가 속할 그룹을 지정합니다. 그룹 폴더는 한 그룹에 반드시 소속되어야 합니다. 다만, 사용자 폴더를 생성할 경우에는 아무런 역할을 하지 않습니다.

폴더 내용 조회하기

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

Controls in folder item

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

File explorer of a storage folder

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

폴더 내 파일 또는 디렉토리 이름의 최대 길이는 호스트의 파일 시스템마다 다를 수 있습니다. 하지만 일반적인 경우 255자를 초과할 수 없습니다.

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

폴더 이름 변경

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

폴더 삭제하기

Storage 폴더의 삭제 권한을 가지고 있는 경우, Control 열의 휴지통 아이콘을 눌러서 삭제할 수 있습니다. 삭제 버튼을 클릭하면 확인 창이 띄워집니다. 이는 사용자 실수로 인한 삭제를 방지하기 위한 절차로 삭제할 폴더의 이름을 입력하고 입력 값과 삭제할 폴더 명이 일치해야만 삭제가 가능합니다.

Folder deletion dialog

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

자동 마운트 폴더

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

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

Automount folders