버킷 간 데이터 이동
어떤 시점이 되면 데이터를 다른 IBM Cloud® Object Storage 지역으로 이동하거나 백업해야 합니다. 오브젝트 스토리지 리전 간에 데이터를 이동하거나 복제하는 한 가지 방법은 오픈소스 rclone 명령줄 유틸리티와 같은 ‘동기화(sync)’ 또는 ‘복제(clone)’
도구를 사용하는 것입니다. 이 유틸리티는 Cloud Object Storage를 비롯한 두 위치 간의 파일 트리를 동기화합니다. rclone은 COS에 데이터를 기록할 때 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 ’ 기능을 사용하고 계신 경우, 데이터를 마이그레이션하기 전에 해당 기능을 적절히 구성해야 합니다. COS 대상에서 지원되는 기능을 보려면 기능 매트릭스를 참조하십시오.
기능 구성과 액세스 정책 문서는 아래 나열된 IBM Cloud 포털 페이지에서 볼 수 있습니다.
마이그레이션 도구를 실행할 컴퓨팅 리소스 설정
- Linux™/macOS™ /BSD™ 서버 또는 IBM Cloud 인프라 베어 메탈 또는 가상 서버 중에서 귀하의 데이터와 가장 가까운 위치를 선택하십시오. 일반적으로 대상 버킷과 동일한 리전에 위치한 데이터 센터를 선택하는 것이 가장 좋습니다(예를 들어,
mel01에서au-syd로 데이터를 이동하는 경우,au-syd에 있는 VM 또는 베어 메탈을 사용하십시오). 권장 서버 구성은 32GB RAM, 2 - 4개 코어 프로세서, 1000Mbps의 사설 네트워크 속도입니다. - IBM Cloud Infrastructure Bare Metal 또는 Virtual Server에서 마이그레이션을 실행하는 경우에는 네트워크 발신 비용이 발생하지 않도록 개인용 COS 엔드포인트를 사용하십시오.
- 그렇지 않으면 공용 또는 직접 COS 엔드포인트를 사용하십시오.
- 패키지 관리자나 미리 컴파일된 바이너리를 통해
rclone를 설치하십시오.
curl https://rclone.org/install.sh | sudo bash
COS 데이터에 맞게 rclone 구성
rclone에서 마이그레이션 소스 및 대상의 '프로파일'을 작성하십시오.
필요한 경우 COS 인증 정보 확보
- IBM Cloud 콘솔에서 COS 인스턴스를 선택하십시오.
- 탐색 분할창에서 서비스 인증 정보를 클릭하십시오.
- 새 인증 정보를 클릭하여 인증 정보를 생성하십시오.
- 고급 옵션을 선택하십시오.
- HMAC 인증 정보를 켜기로 전환하십시오.
- 추가 를 클릭하십시오.
- 작성한 인증 정보를 확인하고 JSON 컨텐츠를 복사하십시오.
COS 엔드포인트 가져오기
- 탐색 분할창에서 버킷을 클릭하십시오.
- 마이그레이션 대상 버킷을 클릭하십시오.
- 탐색 분할창에서 구성을 클릭하십시오.
- 엔드포인트 섹션으로 스크롤하여 마이그레이션 도구를 실행 중인 위치에 따라 엔드포인트를 선택하십시오.
- 다음 내용을 복사해
rclone.conf에 붙여넣어 COS 대상을 작성하십시오.
[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>
COS 대상 데이터에 맞게 rclone 구성
대상 버킷에 대해 위의 단계를 반복하십시오.
소스 및 대상이 올바르게 구성되었는지 확인
- 소스와 연관된 버킷을 나열하여
rclone이 구성되었는지 확인하십시오.
rclone lsd COS_SOURCE:
- 대상과 연관된 버킷을 나열하여
rclone이 구성되었는지 확인하십시오.
rclone lsd COS_DESTINATION:
소스와 대상에 동일한 COS 인스턴스를 사용하는 경우, 버킷 목록이 일치합니다.
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를 사용한 데이터 마이그레이션은 소스 데이터를 복사만 하고 삭제하지는 않습니다.
마이그레이션/복사/백업해야 하는 다른 모든 소스 버킷에 대해 복사 프로세스를 반복해야 합니다.