Đồng bộ dữ liệu giữa các bucket bằng rclone
rclone sao chép và đồng bộ dữ liệu giữa hai bucket S3, kể cả khi hai bucket nằm ở các site hoặc nhà cung cấp khác nhau. Dùng rclone khi chuyển sang FPT Object Storage từ nhà cung cấp khác, hoặc khi vận hành song song hai môi trường S3.
Để chuyển dữ liệu từ nhà cung cấp khác vào FPT Object Storage mà không cần cài công cụ, dùng migrate job trên Portal. Xem Di chuyển dữ liệu bucket. Với s3sync, xem Kết nối bằng S3 client.
Ví dụ sau sao chép dữ liệu của bucket-site01 ở site 1 sang bucket-site02 ở site 2, trên Linux.
Yêu cầu trước khi bắt đầu
- Access Key, Secret Key và endpoint của từng site.
- Một bucket trống ở site 2 để nhận dữ liệu.
Cấu hình rclone
-
Cài đặt rclone:
sudo apt-get install rclone -
Tạo file
~/.config/rclone/rclone.confchứa thông tin của cả hai site. Đặtproviderphù hợp với từng môi trường S3, ví dụAWScho Amazon S3.[site01]
type = s3
provider = Other
env_auth = false
access_key_id = YOUR_SITE01_ACCESS_KEY
secret_access_key = YOUR_SITE01_SECRET_KEY
endpoint = https://s3-hcm04.fptcloud.com/
acl = private
[site02]
type = s3
provider = Other
env_auth = false
access_key_id = YOUR_SITE02_ACCESS_KEY
secret_access_key = YOUR_SITE02_SECRET_KEY
endpoint = https://s3-hfx03.fptcloud.com/
acl = private -
Kiểm tra rclone thấy được bucket và dữ liệu ở cả hai site:
rclone lsd site01:
rclone lsd site02:
rclone ls site01:bucket-site01
Sao chép dữ liệu
-
Chạy thử (dry run) để kiểm tra lỗi mà không sao chép dữ liệu:
rclone sync -Pv site01:bucket-site01 site02:bucket-site02 --dry-run -
Nếu chạy thử không có lỗi, chạy lệnh sao chép:
rclone sync -Pv site01:bucket-site01 site02:bucket-site02 -
Kiểm tra lại bucket và dữ liệu ở cả hai site bằng
rclone lsdvàrclone ls.
rclone sync làm cho đích giống hệt nguồn, nên sẽ xóa các file ở site 2 không có ở site 1. Để sao chép mà không xóa, dùng rclone copy.