如果您在 TWSC COS 儲存體使用上有遇到以下情況,請您參考下方步驟透過 Rclone 轉移資料至另一 儲存體 (同專案或跨專案皆可):
1. 儲存體儲存的檔案資料量龐大 (約三千萬個檔案),希望減少原儲存體中的檔案數量,也需保留所有檔案。
2. 需將儲存體檔案複製一份至另一儲存體使用。
前置作業
1. 於 TWSC 建立 Linux VCS 主機進行 Rclone 操作
2. 取得來源及目標 COS 的 endpoint、Access Key、 Secret key、來源及目標儲存體名稱


操作步驟
Step 1. 安裝 Rclone
1. 登入 Linux VCS 主機
2. 輸入指令進行 Rclone 安裝
curl https://rclone.org/install.sh | sudo bash
3. 確認安裝成功
rclone --version
Step 2. 設定 COS 連線資訊
1. 輸入指令進行連線設定
rclone config
2. 選擇新增 remote,輸入n
Current remotes: Name Type ==== ==== E1 s3 G1 s3 e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n
3. COS 顯示名稱:請自訂,可分辨連線目標即可
name> sourceCOS
4. 連線類型:輸入s3,選擇 s3 連線類型
Option Storage.
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value.
1 / 1Fichier
\ "fichier"
2 / Alias for an existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, SeaweedFS, and Tencent COS
\ "s3"
5 / Backblaze B2
.
.
.
45 / seafile
\ "seafile"
Storage> s3
5. S3 服務提供者:因 TWCC COS 並無在目前列表上,故選擇 Other。
Option provider.
Choose your S3 provider.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value.
.
.
.
14 / Any other S3 compatible provider
\ "Other"
provider> Other
6. 連線認證方式:輸入 false,選擇 Enter AWS credentials in the next step
Option env_auth.
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
Only applies if access_key_id and secret_access_key is blank.
Enter a boolean value (true or false). Press Enter for the default ("false").
Choose a number from below, or type in your own value.
1 / Enter AWS credentials in the next step.
\ "false"
2 / Get AWS credentials from the environment (env vars or IAM).
\ "true"
env_auth> false
7. access key:輸入目標 COS 的 access key
Option access_key_id.
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
access_key_id> TWCC_COS_access_key_id
8. secret_access_key:輸入目標 COS 的 secret_key
Option secret_access_key.
AWS Secret Access Key (password).
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
secret_access_key>TWCC_COS_secret_access_key
9. region:按 Enter 使用預設值
Option region.
Region to connect to.
Leave blank if you are using an S3 clone and you don't have a region.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value.
/ Use this if unsure.
1 | Will use v4 signatures and an empty region.
\ ""
/ Use this only if v4 signatures don't work.
2 | E.g. pre Jewel/v10 CEPH.
\ "other-v2-signature"
region>
10. endpoint,輸入 cos.twcc.ai 連線節點
Option endpoint.
Endpoint for S3 API.
Required when using an S3 clone.
Enter a string value. Press Enter for the default ("").
endpoint>cos.twcc.ai
11. location_constraint,按 Enter 使用預設值
Option location_constraint.
Location constraint - must be set to match the Region.
Leave blank if not sure. Used when creating buckets only.
Enter a string value. Press Enter for the default ("").
location_constraint>
12. acl,按 Enter 使用預設值
Option acl.
Canned ACL used when creating buckets and storing or copying objects.
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Note that this ACL is applied when server-side copying objects as S3
doesn't copy the ACL from the source but rather writes a fresh one.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value.
/ Owner gets FULL_CONTROL.
1 | No one else has access rights (default).
\ "private"
/ Owner gets FULL_CONTROL.
2 | The AllUsers group gets READ access.
\ "public-read"
/ Owner gets FULL_CONTROL.
3 | The AllUsers group gets READ and WRITE access.
| Granting this on a bucket is generally not recommended.
\ "public-read-write"
/ Owner gets FULL_CONTROL.
4 | The AuthenticatedUsers group gets READ access.
\ "authenticated-read"
/ Object owner gets FULL_CONTROL.
5 | Bucket owner gets READ access.
| If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
\ "bucket-owner-read"
/ Both the object owner and the bucket owner get FULL_CONTROL over the object.
6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
\ "bucket-owner-full-control"
acl>private
13. 是否要編輯細節,按 Enter 使用預設值
Edit advanced config? y) Yes n) No (default) y/n>
14. 確認輸入內容,確認無誤後輸入 y 進行存檔
-------------------- [sourceCOS] type = s3 provider = Other access_key_id = <access_key_id> secret_access_key = <secret_access_key> endpoint = cos.twcc.ai -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
15. 回到起始畫面,重複此步驟,建立目標 COS 連線 targetCOS,再輸入 q 離開此畫面。
Current remotes: Name Type ==== ==== E1 s3 G1 s3 sourceCOS s3 targetCOS s3 e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q>q
Step 3. 進行資料轉移
1. 確認連線設定,已建立 sourceCOS 及 targetCOS
ubuntu@awsclitest02-2451501-iaas:~$ rclone config Current remotes: Name Type ==== ==== E1 s3 G1 s3 sourceCOS s3 targetCOS s3 e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
2. 完成設定後,即可執行將資料從來源儲存體轉移至目標儲存體。
完成後,後續即可刪除來源儲存體不需要的資料。
rclone sync sourceCOS:<source_bucket_name> targetCOS:<target_bucket_name>