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