본문으로 건너뛰기

rclone을 통한 접속 방법

사용자를 위한 페이지입니다.

사전 요구사항

시작하기 전, "버킷 > 외부연결정보( i )" 와 "키관리"에서 아래 정보를 확인하십시오.

  • Bucket Name: 프로비저닝된 오브젝트 스토리지의 고유 이름
  • Access Key: 발급된 사용자의 Access Key
  • Secret Key: 발급된 사용자의 Secret Key

rclone 설치

sudo apt install rclone
rclone config

rclone에서 S3 remote 설정

아래 예시는 DataHub 버킷(S3 호환)에 접속하기 위한 rclone remote 생성 과정입니다.

# 설정 시작
$ rclone config

# 새 원격 생성
n) New remote
name> datahub

Storage> 4 # S3 (Amazon S3 Compliant Storage)
provider> 4 # Ceph
env_auth> # Enter (false)

access_key_id> YOUR_ACCESS_KEY
secret_access_key> YOUR_SECRET_KEY

region> # Enter (빈칸으로 두고 Enter)

# Endpoint (필수)
endpoint> https://datahub-central-01.elice.io

location_constraint> # Enter
acl> # Enter
server_side_encryption> # Enter
sse_kms_key_id> # Enter

Edit advanced config? (y/n) n
Keep this "datahub" remote? (y/n) y
q) Quit config

연결 확인

remote 이름을 datahub로 생성했다면, 아래 명령으로 연결을 확인할 수 있습니다. 컨테이너 기반 인스턴스 환경에서는 최상위 목록 조회(rclone lsd datahub:)가 제한될 수 있습니다. 이 경우 버킷 이름을 명시하여 조회하세요.

# 버킷 내부 폴더 목록(권장)
rclone lsd datahub:BUCKET_NAME

# 버킷 내부 파일 목록
rclone ls datahub:BUCKET_NAME

업로드/다운로드

업로드 (로컬/인스턴스 → 버킷)

# 파일/디렉토리 업로드
rclone copy /source/path datahub:BUCKET_NAME --progress

대용량/다수 파일(디렉토리) 업로드 시 병렬 전송 예시

rclone copy /source/path datahub:BUCKET_NAME \
--transfers=8 --s3-no-check-bucket --inplace --progress

다운로드 (버킷 → 로컬/인스턴스)

rclone copy datahub:BUCKET_NAME /dest/path --progress

동기화(sync)

로컬 디렉토리를 원격지와 일치시키는 가장 강력한 기능입니다. 원본에 없는 파일은 대상에서 삭제되므로 주의가 필요합니다.

# 로컬 'project-data' 디렉토리를 버킷의 'backup' 디렉토리와 동기화
rclone sync ~/project-data datahub:YOUR_BUCKET_NAME/backup --s3-no-check-bucket --progress

⚠️ 경고: sync 명령어 실행 전, --dry-run 옵션을 사용하여 변경될 내용을 반드시 시뮬레이션하고 검토하십시오. rclone sync ... --dry-run

자주 쓰는 명령어

# 파일 하나만 업로드
rclone copyto ./file.bin datahub:BUCKET_NAME/file.bin --progress

# 특정 폴더만 업로드
rclone copy ./dir datahub:BUCKET_NAME/dir --progress

# 특정 파일 제외(예: 임시 파일)
rclone copy /source/path datahub:BUCKET_NAME --exclude "*.tmp" --progress

# 특정 파일만 선택 업로드(예: 확장자)
rclone copy /source/path datahub:BUCKET_NAME --include "*.parquet" --progress

# 버킷 내 용량 확인
rclone size datahub:BUCKET_NAME

마운트

버킷을 로컬 디렉토리로 마운트해 파일시스템처럼 접근할 수 있습니다.
먼저 마운트 포인트로 사용할 빈 디렉토리를 생성 후 rclone mount명령어를 백그라운드(--daemon)로 실행합니다.

마운트 실행

mkdir -p /path/to/mount/point
rclone mount datahub:BUCKET_NAME /path/to/mount/point --daemon

마운트 해제

fusermount -u ~/datahub

주요 고려사항

  • 성능 : 마운트된 파일시스템은 네트워크 레이턴시로 인해 로컬 디스크보다 느릴 수 있습니다.
  • 용량 조회 : df -h 명령어는 실제 할당량을 표시하지 않고 가상의 큰 값(e.g., 1.0P)을 반환합니다. 정확한 사용량은 rclone size나 ECI 포털을 통해 확인해야 합니다.
  • 대용량 파일 ( > 48GiB) : 48GiB를 초과하는 단일 파일을 처리하려면 --s3-chunk-size 옵션을 조정해야 합니다.
    # 예시: 청크 사이즈를 128M으로 설정하여 더 큰 파일 지원
    rclone mount ... --s3-chunk-size=128M

    Trade-off: 청크 사이즈 증가는 메모리 사용량 증가와 실패 시 재전송 비용 증가를 초래하므로 시스템 사양에 맞게 조정해야 합니다.