使用 rclone 将文件迁移至新的 Minio 中
使用 rclone 将文件迁移至新的 Minio 中
场景:
- 将文件从一台服务器迁移到另一台服务中
- Minio升级时,跨版本较大,导致无法使用
安装 rclone
下载:
[root@master home]# wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
安装:
[root@master home]# unzip rclone-current-linux-amd64.zip
[root@master home]# chmod 0755 ./rclone-v1.62.2-linux-amd64/rclone
[root@master home]# cp -r ./rclone-v1.62.2-linux-amd64/rclone /usr/bin/
配置文件
-
生成配置文件
[root@master home]# rclone config 2023/04/07 14:11:24 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n # n 创建Enter name for new remote. name> minio-new # 不是配置文件名字,配置文件中定义的[name] Storage> s3 # 存储类型s3 provider> Minio # 类型Minio env_auth> false # 从运行时获取AWS凭据,填写false access_key_id> minio_admin secret_access_key> minio_admin!@# region> # 要连接到的区域,如果您使用的是S3克隆,并且您没有区域,请留空 endpoint> http://192.168.206.10:39000 # Endpoint for S3 API. location_constraint> # 选项位置约束,位置约束-必须设置为与区域匹配,如果不确定,请留空。仅在创建存储桶时使用。 acl> # 创建存储桶和存储或复制对象时使用的屏蔽ACL,如果acl是一个空字符串,则不添加X-Amz-acl:标头,并且将使用默认(私有) server_side_encryption> # 在S3中存储此对象时使用的服务器端加密算法。按Enter键保留为空 sse_kms_key_id> # 如果使用KMS ID,您必须提供密钥的ARN。按Enter键保留为空。# 高级配置(结束) Edit advanced config? y) Yes n) No (default) y/n> n # n 默认结束Configuration complete. Options: - type: s3 - provider: Minio - access_key_id: minio_admin - secret_access_key: minio_admin!@# - region: cn-east-1 - endpoint: http://192.168.206.10:39000 Keep this "minio" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y # 写入一个新的文件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
-
修改配置文件
/root/.config/rclone/rclone.conf
[root@master home]# vim /root/.config/rclone/rclone.conf [oldminio] type = s3 provider = Minio access_key_id = noGLFJyIVrBcF4so secret_access_key = mfBlv70p8oXUwxodcJeMSK7DgPltsC2W endpoint = http://127.0.0.1:8082 [newminio] type = s3 provider = Minio access_key_id = noGLFJyIVrBcF4so secret_access_key = mfBlv70p8oXUwxodcJeMSK7DgPltsC2W endpoint = http://127.0.0.1:8088
执行迁移
[root@master home]# rclone sync oldminio:buckets1 newminio:buckets1
[root@master home]# rclone sync oldminio:buckets2 newminio:buckets2