概述
公司一个项目由云上迁移至线下,对应该的存储minio也需要进行同步迁移,下面分享一下其过程。
一、场景概述
1.1 机器信息
- 117.78.18.xx(云上minio地址):
需要迁移的桶: (1)test-xx-edm-pre (2)test-xx-edm-preview
- 192.168.1.170(线下minio地址)
1.2 使用工具
- rclone:开源的对象存储在线迁移工具,用于文件和目录的同步,支持阿里云的oss、minio 、亚马逊S3 等。
1.3 注意事项
1、两台机器的时区及时间要保持一致,最后进行迁移之前,两台机器的时间进行校准。方法如下:
- centos 7设置时区:
timedatectl set-timezone Asia/Shanghai
- 时间同步:
ntpdate ntp.aliyun.com
二、部署过程
2.1 rclone安装
curl https://rclone.org/install.sh | sudo bash
2.2 生成配置文件
rclone config
按照提示一步步,输入相应配置,即可。生成的文件位于:/root/.config/rclone目录下。
主要参数说明:
- [xxxx] :定义minio名称
- type:存储类型,一般我们选择S3,S3兼容存储提供商(AWS、Alibaba、Ceph、Digital Ocean、Dreamhost、IBM COS、Minio等)
- provider:提供商。
- access_key_id:认证id
- secret_access_key:认证秘钥
- region:选择区域,可以随便填写,注意格式即可。
- endpoint:对象存储访问地址
注:熟练的话,一般可以直接手动创建此文件,放在指定目录就可以了。我工作中一般手动编辑创建此文件。
2.3 开始迁移
1、开始迁移
rclone sync minio-pre:test-xx-edm-pre minio-prelocal:test-xx-edm-pre
如果数据量很大,可以开一个screen,保证连接不中断,下面就可以喝咖啡慢慢等待了。
2、迁移后结果展示
三、小结
1、同步之前确保时间一致。否者在执行同步时,会因时间差异过大,而报错。
2、同步完成的速度取决于带宽大小。强烈建议开启screen,避免同步过程中。连接中断。
3、rclone支持增量同步,万一同步过程中有断开,也不需要担心从头来过。