728x90
반응형
ceph object-storage를 A서버에서 B서버로 이동하는 방법을 찾다가 mc를 이용
요약
- 상황
- 원인
- 조치
- 참고
설명
상황
mc cp --recursive (source) (target) 하니까 에러가남
A서버 ceph의 데이터를 B서버 Ceph로 옮겨야함.
mc 커맨드가 linux에 설치되어 있어서 알아봄,
mc cp vs mc mirror - mc cp allows for fine-tuned options for single files (but can bulk copy using --recursive) - mc mirror is focussed on bulk copying and can create buckets 출처 : https://stackoverflow.com/questions/59558166/whats-different-between-mc-cp-recursive-and-mc-mirror-overwrite |
mc mirror는 bucket도 만들어진다고 하니, 위험할 것 같아 cp로 테스트
그런데, copy 하려니까 에러가 남
$ mc cp ceph-prod/hgkim/test.parquet ceph-dev/hgkim/test.parquet mc: <ERROR> Failed to copy `http://10.***.74.***:30***/hgkim/test.parquet `. Put "http://10.***.54.***:30***/hgkim/test.parquet": readfrom tcp 1**.17.1**.**:43***->1**.17.1**.**:300**: The request signature we calculated does not match the signature you provided. Check your key and signing method. |
참고로 mc alias ls 는 아래와 같음
ceph-prod URL : http://10.***.74.***:30*** AccessKey : access-key SecretKey : secret-key API : s3v2 Path : auto ceph-dev URL : http://10.***.54.***:30*** AccessKey : access-key SecretKey : secret-key API : s3v2 Path : auto |
원인
api를 s3v4에서 s3v2로 변경하면 됨
인터넷을 검색해보니 s3v2로 변경하면된다고 함
aws의 경우에는 key값의 특수문자 때문에 이런 오류가 생긴다고도 함
조치
- API : s3v4 -> API : s3v2 변경하니 완료
아래처럼 변경하고
$ vi .mc/config.json { "version": "10", "aliases": { "ceph-prod": { "url": "http://10.***.74.***:30***", "accessKey": "access-key", "secretKey": "secret-key", "api": "s3v4", #s3v2 "path": "auto" }, "ceph-dev": { "url": "http://10.***.54.***:30***", "accessKey": "access-key", "secretKey": "secret-key", "api": "s3v4", #s3v2 "path": "auto" } } |
다시 실행하니 작동함
$ mc cp ceph-prod/hgkim/test.parquet ceph-dev/hgkim/test.parquet ...4.***:30***/hgkim/test.parquet: 172.27 KiB / 172.27 KiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 813.12 KiB/s 0sb |
+ 운영에 적용한다면, readonly 계정을 만들어서 mc host에 등록해주면 안전할 것 같음
https://mightytedkim.tistory.com/105?category=964186
참고
Unable to specify s3v2 when using MC_HOST_ env
728x90
반응형
'Storage > Ceph' 카테고리의 다른 글
ceph) osd 초기화시키_TYPE="ceph_bluestore" 초기화 (0) | 2022.11.30 |
---|---|
Ceph) k8s_rook-ceph_osd 제거하기 (0) | 2022.08.23 |
Ceph) readonly 계정 만들기_radosgw,subuser,s3 policy (0) | 2022.04.25 |
Ceph) ceph-dashboard object-storage ui 보이게 설정 (0) | 2022.04.21 |
Ceph)rgw instance 늘리기_ephemeral storage (0) | 2022.04.04 |