주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
OCI Object Storage Sync 및 s5cmd 툴을 사용하여 OCI 클라우드 스토리지 서비스로 데이터 이동
소개
이 자습서 시리즈는 OCI(Oracle Cloud Infrastructure) 클라우드 스토리지 서비스로 데이터를 마이그레이션하는 다양한 방법을 보여주는 네 가지 자습서 시리즈 중 튜토리얼 3입니다. 이 시리즈는 자습서 1: 마이그레이션 툴을 사용하여 데이터를 OCI 클라우드 스토리지 서비스로 이동을 검토하여 다양한 툴을 광범위하게 이해한 다음 마이그레이션 요구사항과 관련된 관련 자습서 또는 문서를 진행할 수 있도록 설정됩니다. 이 사용지침서에서는 OCI Object Storage Sync(동기화 시) 및 s5cmd를 사용하여 OCI Object Storage에서 파일 시스템 데이터(OCI File Storage 포함)를 마이그레이션하는 방법을 중점적으로 다룹니다.
OCI는 고객에게 고성능 컴퓨팅 및 저렴한 클라우드 스토리지 옵션을 제공합니다. Oracle은 온디맨드 로컬, 객체, 파일, 블록 및 아카이브 스토리지를 통해 주요 스토리지 워크로드 요구 사항 및 사용 사례를 해결합니다.
OCI 클라우드 스토리지 서비스는 모든 엔터프라이즈 요구사항에 대해 빠르고 안전하며 내구성이 뛰어난 클라우드 스토리지 옵션을 제공합니다. OCI File Storage with Lustre 및 OCI Block Volumes 서비스와 같은 고성능 옵션부터 고성능 마운트 대상을 갖춘 OCI File Storage 서비스의 전담 관리 엑사바이트 규모의 파일 시스템, 내구성과 확장성이 뛰어난 OCI Object Storage까지. 오라클의 솔루션은 AI/ML 워크로드와 같은 성능 집약적 애플리케이션에서부터 엑사바이트 규모의 데이터 레이크에 이르기까지 고객의 요구를 충족할 수 있습니다.
-
OCI Object Storage Sync(동기화)는 파일 시스템 디렉토리를 버킷의 객체와 동기화하는 Oracle Cloud Infrastructure 명령행 인터페이스(OCI CLI)의 일부입니다. 이 명령은 소스에서 대상으로 새 파일 또는 객체를 복사하고 선택적으로 소스에 없는 파일을 삭제하는 하위 디렉토리를 순회합니다.
-
s5cmd 툴은 무료 오픈 소스 프로젝트입니다. s5cmd를 사용하면 S3 호환 객체 저장소(OCI Object Storage 포함)에서 파일 시스템 데이터(OCI File Storage 포함)로/에서 파일 시스템 데이터로 데이터를 찾아 전송할 수 있습니다. Go 언어로 작성되었습니다.
마이그레이션해야 하는 데이터의 양과 새로운 OCI 스토리지 플랫폼으로 컷오버할 수 있는 다운타임을 결정합니다. 일괄 마이그레이션은 마이그레이션을 관리 가능한 증분으로 분류하는 데 적합합니다. 일괄 이전을 통해 여러 창에서 특정 애플리케이션에 대한 작동 중지 시간을 예약할 수 있습니다. 일부 고객은 2~4일 동안 일정이 잡힌 유지보수 기간을 통해 일회성 마이그레이션을 유연하게 수행할 수 있습니다. OCI FastConnect은 1G에서 400G까지의 포트 속도로 OCI와 사용자 환경 간에 전용 개인 연결을 생성하여 데이터 전송 프로세스를 가속화하는 데 사용할 수 있습니다. OCI FastConnect을 Megaport 및 ConsoleConnect과 같은 파트너 솔루션과 통합하여 데이터 센터 또는 클라우드 간 상호 연결에 대한 프라이빗 접속을 생성함으로써 다른 클라우드 공급업체의 데이터를 OCI 클라우드 스토리지 서비스로 보다 직접 이동할 수 있습니다. 자세한 내용은 FastConnect integration with Megaport Cloud Router을 참조하십시오.
대상
DevOps 엔지니어, 개발자, OCI 클라우드 스토리지 관리자 및 사용자, IT 관리자, OCI 고급 사용자 및 애플리케이션 관리자.
목표
OCI CLI와 os sync 및 s5cmd 툴을 사용하여 OCI Object Storage 간에 파일 시스템 데이터를 복사 및/또는 동기화하는 방법을 알아봅니다.
-
os sync
명령을 다양한 매개변수 및 옵션과 함께 사용합니다. -
데이터 마이그레이션 및 동기화를 위해 s5cmd 도구를 실행하는 다양한 방법
필요 조건
-
OCI 계정입니다.
-
OCI의 VM 인스턴스는 이전 툴을 배치하거나 이전 툴을 배치 및 사용할 수 있는 시스템을 배치합니다.
-
OCI CLI가
.oci
이라는 하위 디렉토리의 홈 디렉토리에 작업 구성 파일과 함께 설치되었습니다. 자세한 내용은 Setting up the Configuration File을 참조하십시오. -
OCI Object Storage 버킷에 액세스합니다.
-
OCI Object Storage를 사용할 수 있는 사용자 권한, 버킷 및 객체를 관리할 수 있는 액세스 권한 또는 하나 이상의 버킷 또는 컴파트먼트에 대한 객체 제품군을 관리할 수 있는 액세스 권한이 있습니다. 자세한 내용은 공통 정책 및 정책 참조를 참조하십시오.
-
OCI File Storage를 생성, 익스포트 및 마운트하거나, VM에 이미 마운트된 OCI File Storage 마운트 대상에 대한 액세스 권한 또는 데이터를 복사할 때 사용할 다른 NFS(네트워크 파일 시스템) 마운트 또는 로컬 파일 시스템에 대한 액세스 권한입니다. 자세한 내용은 파일 스토리지 정책 관리를 참조하십시오.
-
Mac OS, Linux, BSD(Berkeley Software Distribution) 또는 Windows PowerShell, 명령 프롬프트 또는 Bash에서 터미널 또는 셸 인터페이스 사용에 대한 기본적인 이해
-
Migration Essentials for Moving Data into OCI Cloud Storage를 검토하여 os sync 및 s5cmd 도구와 함께 OCI CLI를 설치합니다.
-
사용할 수 있는 마이그레이션 툴을 알아보려면 자습서 1: 마이그레이션 툴을 사용하여 데이터를 OCI 클라우드 스토리지 서비스로 이동을 참조하십시오.
OCI Object Storage와 네트워크 파일 시스템 및 로컬 파일 시스템 데이터 동기화
OCI Object Storage Sync는 파일 시스템 디렉토리를 버킷의 객체와 동기화하는 OCI CLI(명령행 인터페이스)의 일부입니다. 이 명령은 소스에서 대상으로 새 파일 또는 객체를 복사하고 선택적으로 소스에 없는 파일을 삭제하는 하위 디렉토리를 순회합니다. 파일 시스템 데이터와 OCI Object Storage 버킷을 동기화 상태로 유지하는 편리한 도구입니다. 테스트 환경에서 OCI Object Storage Sync는 혼합 데이터 세트에 적합하고 대용량 파일(1TB 이상)에 대한 다른 도구보다 우수한 성능을 보였습니다.
OCI Object Storage는 Amazon S3 호환성 API를 지원합니다. 이미 다양한 Amazon S3 도구에 익숙한 고객은 계속 사용할 수 있습니다. s5cmd 도구는 무료 오픈 소스 프로젝트입니다. S3 호환 객체 저장소에서 데이터를 찾아보고 전송할 수 있습니다. Go 언어로 작성되며 병렬 처리량에 최적화되어 있습니다. 테스트 중에 s5cmd 도구는 작은 파일(최대 1MB보다 작은 파일)에 가장 적합하며 작은 파일을 이동하기 위해 다른 모든 도구를 수행했습니다. s5cmd 도구는 파일 시스템에서 OCI Object Storage로 데이터를 이동할 때 혼합 데이터 세트에도 적합합니다.
데이터를 디렉토리 또는 접두어별로 하위 세트로 구성할 수 있는 경우 여러 VM에서 OS 동기화 및 s5cmd 실행을 확장하여 전송 시간을 향상시킬 수도 있습니다.
OS 동기화를 사용하여 동기화
-
로컬 파일 시스템 데이터를 OCI Object Storage로 동기화합니다.
다음 기본
os sync
명령을 실행하여 소스 디렉토리에서 대상 버킷으로 파일을 동기화합니다.oci os object sync --src-dir <path to migration-files> --bucket-name <bucket name>
참고: 이 명령은 온프레미스 로컬 파일 시스템, 온프레미스 NFS 파일 시스템 및 OCI File Storage NFS 마운트를 사용하는 OCI Compute 인스턴스에서 OCI File Storage에서 OCI Object Storage 버킷으로 데이터를 이동하는 데 사용할 수 있습니다.
-
OCI Object Storage에서 로컬 파일 시스템으로 데이터를 마이그레이션합니다.
다음 기본
os sync
명령을 실행하여 대상 파일 시스템의 소스 버킷에서 파일/객체를 동기화합니다.oci os object sync --dest-dir <path to migration-target directory> --bucket-name <bucket name>
참고: 이 명령은 온프레미스 로컬 파일 시스템, 온프레미스 NFS 파일 시스템 및 OCI File Storage NFS 마운트를 사용하는 OCI 컴퓨트 인스턴스에서 OCI File Storage 서비스의 데이터를 OCI Object Storage 버킷으로 이동하는 데 사용할 수 있습니다.
-
병렬 작업을 늘립니다.
기본적으로 10개의 작업만 병렬로 실행되므로 병렬 작업을 늘리면 데이터 전송 속도가 향상되고 시스템 리소스와 대역폭도 더 많이 소비됩니다. 테스트 환경에서는
VM.Standard.E4.Flex
를 24개 OCPU, 24Gbps 네트워크 대역폭, 384GB 메모리와 함께 사용했으며 전송 속도에 가장 적합한 100개의 병렬 작업을 발견했습니다. 대규모 VM은 최적의 전송 속도를 달성하거나 최대 1,000개의 병렬 전송에 도달할 때까지 한 번에 10개의 작업을 넘을 수 있습니다. 소규모 VM 구성은 10개의 작업에서 시작하여 처리량이 양호해질 때까지 5-10씩 증가해야 합니다. 다음 플래그를 사용하여 병렬 작업을 늘리거나 줄입니다.--parallel-operations-count <integer range>
주: 병렬 작업 증가, 특히 429 "TooManyRequests"의 오류 발생 후 오류가 발생하기 시작해야 하는 경우 오류가 중지될 때까지 병렬 작업을 2만큼 낮춥니다.
-
패턴 명령을 사용하여 일치하는 파일을 필터링합니다.
패턴은 일치된 파일을 포함하거나 제외하는 데 사용할 수 있습니다. 패턴 명령은 명령줄에서 여러 번 사용하여 여러 패턴을 일치시킬 수 있습니다.
-
패턴과 일치하는 파일을 포함하려면 다음 명령을 사용합니다.
--include
-
패턴과 일치하는 파일을 제외하려면 다음 명령을 사용합니다.
--exclude
참고:
*
: 모든 항목과 일치?
: 단일 문자와 일치[sequence]
: 시퀀스의 임의의 문자와 일치합니다.[!sequence]
: 순서가 아닌 임의의 문자와 일치
-
-
--prefix
플래그를 사용합니다.--src-dir
명령을 사용하여 오브젝트 스토리지에 파일을 업로드할 때 사용되는--prefix
플래그는 오브젝트를 업로드하고 디렉터리 경로를 오브젝트 이름에 접두어로 추가합니다. OCI Object Storage에서 객체를 다운로드하는 데 사용되는 경우 지정된 접두어를 가진 객체만 다운로드되며 객체/파일 이름의 일부로 표시되지 않습니다. -
실행 전에 이전을 확인하십시오.
전송을 시작하기 전에 os sync를 통해서만 인쇄를 수행할 수 있으므로 OCI Object Storage에서 업로드/다운로드할 파일을 결정할 수 있습니다. 다음 플래그를 사용하여 명령줄을 실행합니다.
--dry-run
s5cmd를 사용하여 동기화
-
동기화 및 복사 명령
-
s5cmd에 대한
sync
옵션은 소스 파일을 수정하지 않고 소스에서 대상으로 일방적으로 동기화하며 소스에 존재하지 않는 대상의 파일도 삭제하지 않습니다.--delete
플래그를 추가하여 소스에 없는 파일을 대상에서 제거합니다. -
copy
명령은 단순히 소스에서 대상으로 객체를 복사합니다.
-
-
패턴 일치.
s5cmd 툴은 동기화 및 복사 작업을 위해 여러 레벨의 와일드카드를 지원합니다. 접두어가 있는 모든 객체를 첫번째 와일드 카드 문자까지 나열한 다음 결과를 in-memory로 필터링하면 됩니다.
소스가 파일 시스템인 경우 와일드카드도 적용됩니다.
*
문자를 사용할 때 전역 와일드카드로 해석되는 경우가 있습니다. 예상치 않은 결과가 발생하지 않도록 작은 따옴표로 묶습니다.예를 들어, 디렉토리의 압축된 모든 파일을 버킷으로 복사하려면 다음 명령을 실행합니다.
s5cmd cp '*.gz' s3:/<bucket name>
-
기본 동기화 명령입니다.
-
로컬 파일 시스템 데이터를 OCI Object Storage로 동기화합니다. 다음 기본
s5cmd
명령을 실행하여 소스 디렉토리에서 대상 버킷으로 파일을 동기화합니다.s5cmd sync /<path to migration-files> s3://<bucket name>
-
OCI Object Storage에서 로컬 파일 시스템으로 데이터를 동기화합니다. 다음 기본
s5cmd
명령을 실행하여 대상 파일 시스템의 소스 버킷에서 파일/객체를 동기화합니다.s5cmd sync s3:/<bucket name>/* /<path to migration-target directory>
참고: 온프레미스 로컬 파일 시스템, 온프레미스 NFS 파일 시스템 및 OCI File Storage NFS 마운트를 사용하는 OCI Compute 인스턴스에서도 동일한 명령을 사용하여 OCI File Storage에서 OCI Object Storage 버킷으로 데이터를 이동할 수 있습니다.
-
-
기본 복사 명령
다음 기본
s5cmd
명령을 실행하여 로컬 파일 시스템 소스 디렉토리에서 OCI Object Storage 대상 버킷으로 파일을 복사합니다.s5cmd cp /<path to migration-files> s3://<bucket name>
OCI Object Storage에서 로컬 파일 시스템으로 데이터를 복사합니다.
s5cmd cp "s3:/<bucket name>/*" /<path to migration-target directory>
참고: 이 명령은 온프레미스 로컬 파일 시스템, 온프레미스 NFS 파일 시스템 및 OCI File Storage NFS 마운트를 사용하는 OCI 컴퓨트 인스턴스에서 OCI File Storage에서 OCI Object Storage 버킷으로 데이터를 이동하는 데 사용할 수 있습니다. 테스트에서는 주로 s5cmd와 함께 copy 명령을 사용했습니다.
-
병렬도를 늘립니다.
s5cmd 툴은 기본적으로 256개의 워커를 병렬로 실행합니다. VM 크기에 따라 병렬도를 늘리거나 줄일 수 있습니다. 테스트 환경에서는
VM.Standard.E4.Flex
를 24개 OCPU, 24Gbps 네트워크 대역폭, 384GB 메모리와 함께 사용했으며 전송 속도에 가장 적합한 1,000개의 병렬 작업을 발견했습니다. 대규모 VM은 최적의 전송 속도를 달성하거나 최대 1,000개의 병렬 전송에 도달할 때까지 한 번에 10개의 작업을 넘을 수 있습니다. 소규모 VM 구성은 10개의 작업에서 시작하여 처리량이 양호해질 때까지 5-10씩 증가해야 합니다. 다음 플래그를 사용하여 병렬 작업을 늘리거나 줄입니다.--numworkers <interger>
참고: 근로자 수, 특히 429 "TooManyRequests"의 오류를 늘린 후 오류가 발생하기 시작해야 하는 경우 오류가 발생하지 않을 때까지 근로자 수를 2씩 줄이십시오.
예를 들어, 버킷의 모든 객체를 로컬 파일 시스템 디렉토리에 복사합니다.
s5cmd --numworkers 1000 cp "s3://MyBucket/*" /my/directory
참고: 최대 1,500명의 작업자를 대상으로 테스트를 거쳤으며 크게 개선된 내용은 표시되지 않았습니다. 테스트 결과 s5cmd 도구가 작은 파일에 가장 적합하게 실행된 것으로 확인되었기 때문에 다중 파트 업로드가 필요한 파일에
concurrency
플래그를 사용하고 많은 수의 작업자를 사용하면 전반적인 성능이 최고로 향상되었습니다.
(선택 사항) 테스트 환경
테스트 및 고객 상호 작용을 기반으로 권장 사항이 만들어집니다.
참고: Rclone 결과는 Rclone 사용에 대한 자세한 정보를 제공하기 위해 포함되어 있습니다. 자세한 내용은 자습서 2: Rclone을 사용하여 데이터를 OCI Cloud Storage Services로 이동을 참조하십시오.
테스트 환경 1:
VM 인스턴스 1개 VM.Standard.E4.Flex
, OCPU 1개, 네트워크 대역폭 1Gbps, 메모리 16GB. 온프레미스에서 OCI로의 마이그레이션을 시뮬레이션하기 위해 PHX NFS에서 IAD로 데이터를 복사했습니다.
데이터 집합
-
데이터 집합 1:
총 크기 파일 수 파일 크기 범위 3TB 3 1TB 방법 시작: 부터 시간 명령 플래그 os 동기화 NFS/File PHX to Object IAD 123m17.102s NA --parallel-operations-count 100
s5cmd NFS/File PHX to Object IAD 239m20.625s 복사 run commands.txt
, 기본 실행--numworkers 256
복제 NFS/File PHX to Object IAD 178m27.101s 복사 --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest
참고: 테스트 결과
os sync
가 이 데이터 세트에서 가장 빠르게 실행되었습니다. -
데이터 집합 2:
총 크기 파일 수 파일 크기 범위 9.787GB 20,000 1MB 방법 시작: 부터 시간 명령 플래그 s5cmd NFS/File PHX to Object IAD 1m12.746s 복사 기본 실행 --numworkers 256
os 동기화 NFS/File PHX to Object IAD 2m48.742s NA --parallel-operations-count 1000
복제 NFS/File PHX to Object IAD 1m52.886s 복사 --transfers=500 --oos-no-check-bucket --no-check-dest
참고: 테스트 결과 s5cmd가 이 데이터 세트에 가장 적합한 성능을 발휘했습니다.
테스트 환경 2:
VM 인스턴스: 각 테스트마다 1-2개의 VM 인스턴스가 사용되었으며, 24개의 OCPU, 24Gbps 네트워크 대역폭, 384GB 메모리를 갖춘 VM.Standard.E4.Flex
를 사용했습니다. Oracle Linux 8은 Linux 테스트에 사용되었습니다.
데이터 집합
-
데이터 집합 1:
다음 파일 개수와 크기를 가진 14개의 기본 디렉토리.
데이터 세트 디렉토리 크기 파일 수 각 파일의 크기 디렉토리 1 107.658 GiB 110,242 1 MiB 디렉토리 2 1.687 GiB 110,569 15 MiB 디렉토리 3 222 GiB 111 2 GiB 디렉토리 4 1.265 TiB 1,295 1 GiB 디렉토리 5 26.359 GiB 1,687 16 MiB 디렉토리 6 105.281 MiB 26,952 4 KiB 디렉토리 7 29.697 MiB 30,410 1 KiB 디렉토리 8 83.124 GiB 340,488 256 KiB 디렉토리 9 21.662 GiB 354,909 64 KiB 디렉토리 10 142.629 GiB 36,514 4 MiB 디렉토리 11 452.328 MiB 57,898 8 MiB 디렉토리 12 144 GiB 72 2GiB 디렉토리 13 208.500 GiB 834 256 MiB 디렉토리 14 54.688 GiB 875 64 MiB 참고:
- 14개의 디렉토리가 2개의 VM 인스턴스 간에 분할되었습니다.
- 각 VM은 별도로 언급하지 않는 한 각 디렉토리에 대해 7개의 명령/프로세스, 1개를 실행했습니다.
방법 시작: 부터 시간 명령 플래그/ 노트 s5cmd NFS/File PHX to Object IAD 54m41.814s 복사 --numworkers 74
os 동기화 NFS/File PHX to Object IAD 65m43.200s NA --parallel-operations-count 50
복제 NFS/File PHX to Object IAD 111m59.704s 복사 --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
참고: 테스트 결과 s5cmd가 가장 빠르게 실행되고 os 동기화가 Rclone에 비해 상당히 잘 수행된 것으로 나타났습니다.
다음 단계
마이그레이션 요구 사항과 관련된 자습서로 이동합니다. OCI 클라우드 스토리지 서비스로 데이터를 이동하려면 다음을 수행합니다.
-
Rclone 사용 시 자습서 2: Rclone을 사용하여 OCI 클라우드 스토리지 서비스로 데이터 이동을 참고하세요.
-
파일 시스템 데이터 마이그레이션을 위해 Fpsync 및 Rsync를 사용하여 자습서 4: 파일 시스템 데이터 마이그레이션을 위해 Fpsync 및 Rsync를 사용하여 데이터를 OCI 클라우드 스토리지 서비스로 이동을 참조하십시오.
관련 링크
확인
- 작성자 - Melinda Centeno(OCI Object Storage 수석 제품 관리자)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Move Data into OCI Cloud Storage Services using OCI Object Storage Sync and the s5cmd Tool
G25639-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.