docker单机版Minio迁移方案
起因
一开始并没有想到会在轻量应用服务器上部署好几个服务,因为这个轻量服务器是用来做测试用的,但是由于缺少运维的原因,正式使用的也是这台服务器上的minio,结果因为其他的服务导致服务器老是卡死,所以需要在新的服务器上重新起一个单机的minio
前置条件
-
linux环境
-
docker环境
-
两台机器的端口如
9000
minio服务端口都互相开放 或者两台机器都启用了域名访问,可以是使用nginx反代或其他网关产品
第一次尝试
直接使用 rsync
命令将 data
目录迁移至新服务器,报错format fail
应该是版本+配置的问题,放弃
第二次尝试
启动一个minio/mc
minio客户端的docker容器,可以在任何一个地方,需要能访问新老minio服务
-
# docker pull minio/mc 可以先运行这句,不运行docker # 如下代码为创建一个 minio/mc 容器并进入其控制台 docker run -it --entrypoint=/bin/sh minio/mc
-
mc alias set minio_old http://ip_old:port_old admin admin@old # minio_old -> 起别名 minio的服务地址(也可以是 https://www.minio.com) 管理员账号 管理员密码 mc alias set minio_new http://ip_new:port_new admin admin@new # 如果是两台云服务器,一般ip都为公网ip,如果两台云服务器都在如腾讯云这样的,并且可以内网互通,可以把ip改成内网ip,port设置成内网ip开放的 # 当然,最好是使用两个域名 -> 比如 https://old.minio.com https://new.minio.com 自己cname一下配置就可以了 https 比较安全
-
# 迁移命令 # 1. 全部迁移,重名文件不覆盖,如果对应的桶不存在,会自动创建 mc mirror minio_old minio_new # 2. 只迁移某个桶,假设桶名为test,需要先在minio_new上创建桶test mc mirror minio_old/test minio_new/test # 3. 加上--overwrite参数,覆盖重名文件 mc mirror --overwrite minio_old/test minio_new/test
-
等待数据迁移成功
参考链接:https://blog.51cto.com/u_10950710/6206451
标签:单机版,Minio,mc,ip,old,new,docker,minio From: https://www.cnblogs.com/pigeon-fancier/p/17775899.html