버킷 간 데이터 이동
rclone을 사용하여 병렬 멀티파트 업로드로 오브젝트를 동기화함으로써, 동일하거나 다른 리전에 있는 IBM Cloud® Object Storage 버킷 간에 데이터를 이동할 수 있습니다.
어느 시점이 되면 데이터를 다른 IBM Cloud® Object Storage 리전으로 이동하거나 백업해야 할 필요가 생깁니다. 오브젝트 스토리지 리전 간에 데이터를 이동하거나 복제하는 한 가지 방법은 오픈 소스 명령줄 rclone 유틸리티와 같은 동기화(sync) 또는 복제(clone)
도구를 사용하는 것입니다. 이 유틸리티는 Cloud Object Storage를 비롯한 두 위치 간의 파일 트리를 동기화합니다. Object Storage 에 데이터를 rclone 기록할 때, COS/S3 API를 사용하여 대용량 객체를 분할하고, 구성 매개변수로 설정된 크기와 임계값에 따라 각 부분을 병렬로 업로드합니다.
이 가이드에서는 동일한 리전 내의 한 IBM Cloud Object Storage 버킷에서 다른 Object Storage 버킷으로, 또는 다른 Object Storage 리전에 있는 두 번째 Object Storage 버킷으로 데이터를 복사하는 방법에 대한 지침을 제공합니다. 각 버킷에서 복사할 모든 데이터에 대해 이 단계를 반복해야 합니다. 데이터 마이그레이션이 완료된 후에는 를 사용하여 전송의 무결성을 확인할 수 있으며 rclone check,
이 명령을 실행하면 파일 크기나 체크섬이 일치하지 않는 모든 객체의 목록이 표시됩니다. 또한 사용 가능한 소스에서 선택된 대상으로 정기적으로 rclone sync를 실행하여 버킷을 동기화된 상태로 유지할 수 있습니다.
대상 IBM Cloud Object Storage 버킷 작성
IBM Cloud Object Storage의 기존 인스턴스를 사용하거나 새 인스턴스를 작성하는 옵션이 있습니다. 기존 인스턴스를 재사용하려면 #2단계로 건너뛰십시오.
- 카탈로그에서 IBM Cloud Object Storage 의 인스턴스를 생성합니다.
- 전송된 데이터를 저장하는 데 필요한 버킷을 작성하십시오. 시작하기 안내서를 읽고 엔드포인트 및 스토리지 클래스와 같은 주요 개념을 숙지하십시오.
- 이
rclone유틸리티는 버킷 구성이나 오브젝트 메타데이터를 복사하지 않습니다. 따라서 만료, 아카이브, 키 보호 등과 같은 Object Storage 기능을 사용하고 계신 경우, 데이터를 마이그레이션하기 전에 해당 기능을 적절히 구성해야 합니다. Object Storage 에서 지원되는 기능을 확인하려면 기능 매트릭스를 참조하십시오.
기능 구성과 액세스 정책 문서는 아래 나열된 IBM Cloud 포털 페이지에서 볼 수 있습니다.
마이그레이션 도구를 실행할 컴퓨팅 리소스 설정
- Linux™/macOS™ /BSD™ 기반 머신을 선택하거나, 데이터와 가장 가까운 위치에 있는 IBM Cloud 인프라 베어 메탈 또는 가상 서버를 선택하십시오. 대상 버킷과 동일한 리전에 있는 데이터 센터를 선택하는 것이 일반적으로 가장 좋은 방법입니다(예를 들어, 에서 로
mel01데이터를 이동하는 경우au-syd, 에서 VM 또는 베어 메탈을 사용하십시오au-syd). 권장 서버 구성은 32GB RAM, 2 - 4개 코어 프로세서, 1000Mbps의 사설 네트워크 속도입니다. - IBM Cloud 인프라 베어 메탈 또는 가상 서버에서 마이그레이션을 수행하는 경우 네트워크 아웃바운드 요금이 부과되지 않도록 Object Storage 전용 엔드포인트를 사용하십시오.
- 그렇지 않은 경우, 공개 또는 직접 Object Storage 엔드포인트를 사용하십시오.
- 패키지 관리자나 미리 컴파일된 바이너리를 사용하여
rclone설치하십시오.
curl https://rclone.org/install.sh | sudo bash
Object Storage 소스 데이터에 rclone 맞게 구성
rclone에서 마이그레이션 소스 및 대상의 '프로파일'을 작성하십시오.
필요한 경우, Object Storage 인증 정보를 확보하십시오
- IBM Cloud 콘솔에서 Object Storage 인스턴스를 선택하십시오.
- 탐색 분할창에서 서비스 인증 정보를 클릭하십시오.
- 새 인증 정보를 클릭하여 인증 정보를 생성하십시오.
- 고급 옵션을 선택하십시오.
- HMAC 인증 정보를 켜기로 전환하십시오.
- 추가 를 클릭하십시오.
- 작성한 인증 정보를 확인하고 JSON 컨텐츠를 복사하십시오.
Object Storage 엔드포인트 가져오기
- 탐색 분할창에서 버킷을 클릭하십시오.
- 마이그레이션 대상 버킷을 클릭하십시오.
- 탐색 분할창에서 구성을 클릭하십시오.
- 엔드포인트 섹션으로 스크롤하여 마이그레이션 도구를 실행 중인 위치에 따라 엔드포인트를 선택하십시오.
- 다음 내용을 복사하여 에 붙여넣어 Object Storage 목적지를 생성하십시오
rclone.conf.
[COS_SOURCE]
type = s3
provider = IBMCOS
env_auth = false
access_key_id =
secret_access_key =
endpoint =
[COS_DESTINATION]을 대상을 구성하기 위해 작성해야 하는 프로파일의 이름으로 사용하십시오. 위의 단계를 반복하십시오.
인증 정보와 원하는 엔드포인트를 사용하여 다음 필드를 완료하십시오.
access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <bucket endpoint>
Object Storage 대상 데이터에 rclone 대한 구성
대상 버킷에 대해 위의 단계를 반복하십시오.
소스 및 대상이 올바르게 구성되었는지 확인
- 소스와 연관된 버킷을 나열하여
rclone이 구성되었는지 확인하십시오.
rclone lsd COS_SOURCE:
- 대상과 연관된 버킷을 나열하여
rclone이 구성되었는지 확인하십시오.
rclone lsd COS_DESTINATION:
소스와 대상에 동일한 Object Storage 인스턴스를 사용하는 경우, 버킷 목록이 일치합니다.
rclone 실행
rclone의 드라이런(데이터가 복사되지 않은 상태)으로 구성을 테스트하여 소스 버킷(예:source-test)의 개체를 대상 버킷(예:destination-test)으로 복사하는 것을 테스트합니다(여기서source-test과destination-test는 각각 소스 및 대상 버킷 이름입니다).
rclone --dry-run copy COS_SOURCE:source-test COS_DESTINATION:destination-test
- 마이그레이션하려는 데이터가 명령 출력에 표시되는지 확인하십시오. 문제가 없으면
--dry-run플래그를 제거하고 선택적으로-v및/또는-P플래그를 추가하여 데이터를 복사하고 진행상태를 추적하십시오. 선택적--checksum플래그를 사용하면 두 위치에서 MD5 해시와 오브젝트 크기가 동일한 파일이 업데이트되지 않습니다.
rclone -v -P copy --checksum COS_SOURCE:source-test COS_DESTINATION:destination-test
가장 빠른 전송 시간을 얻으려면 rclone을 실행하는 시스템의 CPU, 메모리 및 네트워크를 최대로 사용하십시오.
rclone을 튜닝할 때 고려할 기타 매개변수가 있습니다. 이러한 값들의 다양한 조합은 버킷 내 오브젝트의 CPU, 메모리 및 전송 시간에 영향을 미칩니다.
| 플래그 | 유형 | 설명 |
|---|---|---|
--checkers |
int |
병렬로 실행할 검사기의 수입니다(기본값 8). 이는 실행 중인 체크섬 비교 스레드의 수입니다. 이는 64 이상으로 늘리는 것이 좋습니다. |
--transfers |
int |
이는 병렬로 전송할 오브젝트의 수입니다(기본값 4). 작은 파일을 다수 전송할 때는 이 값을 64 또는 128 이상으로 늘리는 것이 좋습니다. |
--multi-thread-streams |
int |
여러 파트로 된 대형 파일(> 250M)을 병렬로 다운로드하십시오. 이렇게 하면 대용량 파일의 다운로드 시간이 단축됩니다(기본값 4). |
--s3-upload-concurrency |
int |
병렬로 업로드할 대형 파일(> 200M)의 파트 수입니다. 이렇게 하면 대용량 파일의 업로드 시간이 단축됩니다(기본값 4). |
{: caption="rclone 옵션" caption-side="top"} |
rclone copy를 사용한 데이터 마이그레이션은 소스 데이터를 복사만 하고 삭제하지는 않습니다.
마이그레이션/복사/백업해야 하는 다른 모든 소스 버킷에 대해 복사 프로세스를 반복해야 합니다.