使用Minio Clinet将老版本Minio的数据迁移到新版本的Minio
1. 关于Minio Client:
MinIO Client是一个命令行工具,用于与Minio或云存储服务进行交互。它支持文件系统和Amazon S3兼容的云存储服务(AWS Signature v2和v4)。
MinIO Client mc 命令行工具提供了
ls、cat、cp、mirror和diff等UNIX命令的现代替代方案,支持文件系统和Amazon s3兼容的云存储服务。mc 命令行工具是为与AWS S3 API兼容而构建的,并在MinIO和AWS S3上测试了预期的功能和行为。
MinIO不为其他S3兼容服务提供保证,因为它们的S3 API实现是未知的,因此不受支持。虽然mc命令可以按照文档的方式工作,但任何此类用法都要由您自己承担风险。
2. 迁移示例
2.1 部署两个版本的Minio实例
- 旧版本2019:minio/minio:RELEASE.2019-12-19T22:52:26Z
- 新版本2023:minio/minio:RELEASE.2023-03-24T21-41-23Z
version: '3'
services:
# 旧版本2019
minio2019:
image: minio/minio:RELEASE.2019-12-19T22:52:26Z
ports:
- 19000:9000
- 19001:9001
environment:
MINIO_ACCESS_KEY: admin
MINIO_SECRET_KEY: admin123
volumes:
- /usr/local/minio2019/data:/data
- /usr/local/minio2019/config:/root/.minio/
command: server /data
privileged: true
restart: always
# 新版本2023
minio2023:
image: minio/minio:RELEASE.2023-03-24T21-41-23Z
ports:
- 29000:9000
- 29001:9001
environment:
MINIO_ACCESS_KEY: admin
MINIO_SECRET_KEY: admin123
volumes:
- /usr/local/minio2023/data:/data
- /usr/local/minio2023/config:/root/.minio/
command: server --console-address ':9001' /data
privileged: true
restart: always
2.2 在2019版本Minio上创建一个名称为"test2019"的bucket,并上传一些测试文件,通过查看挂载目录可以看到:
[root@master minio2019]# tree /usr/local/minio2019/
/usr/local/minio2019/
├── config
│ └── certs
│ └── CAs
├── data
│ └── test2019
│ ├── image-01.png
│ ├── image-02.png
│ ├── image-03.png
│ └── image-04.png
2.3 部署一个 mc 容器,做数据迁移
启动一个mc容器,并进入容器中
docker run -it --entrypoint=/bin/sh minio/mc
分别设置 minio2019 和 minio2023 的alias
# mc alias set 别名 minio后端链接端口 管理员账号 管理员密码
# 设置minio2019的alias
mc alias set minio2019 http://ip:19000 admin admin123
# 设置minio2023的alias
mc alias set minio2023 http://ip:29000 admin admin123
2.4 迁移数据
mc迁移数据通常有下面三种场景:
#1. 全量迁移,重名文件不覆盖,如bucket不存在,会自动创建
mc mirror minio2021 minio2023
#2. 只迁移某个bucket,以test为例,迁移的目标bucket需要提前创建
mc mirror minio2021/test minio2023/test #test要提前在minio2023中创建
#3. 加上--overwrite参数,覆盖重名文件
mc mirror --overwrite minio2021 minio2023
mc mirror --overwrite minio2021/test minio2023/te
这里使用第一种方式,全量迁移,重名文件不覆盖,如bucket不存在,会自动创建
[root@master minio2019]# mc mirror minio2019 minio2023
2.5 查看迁移结果
[root@master minio2019]# tree /usr/local/minio2023
/usr/local/minio2023
├── config
│ └── certs
│ └── CAs
├── data
│ └── test2019
│ ├── image-01.png
│ ├── image-02.png
│ ├── image-03.png
│ └── image-04.png
使用Minio Clinet将老版本Minio的数据迁移到新版本的Minio的更多相关文章
- cenos下安装MySQL最新版(5.7.18)记录。附卸载老版本过程
首先说明:老版本数据库没有数据,所以无数据备份过程.如果你在升级数据库过程里,需要备份数据,请另外自行处理. 1.下载最新版MySQL.解压待用 wget https://dev.mysql.com/ ...
- 一种解决新版本API完全兼容老版本API的方法
原文:http://android.eoe.cn/topic/android_sdk 这节课程我们讨论如何创建一个实现类,即能对应新版本的API,又能够保持对老版本API的支持. * 寻找一个替代的解 ...
- 使用老版本的java api提交hadoop作业
还是使用之前的单词计数的例子 自定义Mapper类 import java.io.IOException; import org.apache.hadoop.io.LongWritable; impo ...
- CoreData 从入门到精通(六)模型版本和数据迁移
前面几篇文章中讲的所有内容,都是在同一个模型版本上进行操作的.但在真实开发中,基本上不会一直停留在一个版本上,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模 ...
- 如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)
一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...
- 较老版本的AFNetworking使用心得
较老版本的 AFNetworking 下载链接 ( http://pan.baidu.com/s/14Cxga ) 将压缩包中的文件夹拖入xcode工程项目中并引入如下的框架 简单的 JOSN 解析例 ...
- 快速入门系列--WebAPI--04在老版本MVC4下的调整
WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...
- 微软Hololens学院教程-Hologram 220-空间声音(Spatial sound )【本文是老版本,与最新的微软教程有出入】
这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦! 原文链接https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...
- 微软Hololens学院教程-Hologram 230-空间场景建模(Spatial mapping )【微软教程已经更新,本文是老版本】
这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...
- 微软Hololens学院教程- Holograms 100: Getting Started with Unity【微软教程已经更新,本文是老版本】
这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...
随机推荐
- [oeasy]教您玩转python - 0006 - 自由软件运动和开源运动
顺序执行 回忆上次内容 上次写了10000行代码 10000行代码 都是写在明面上的 人家一下载py 文件 就能看个明明白白 修改或者运行程序都很方便 这程序全都这么公开出来 大家随意修改 ...
- Django Template层之自定义tag
Django Template层之自定义tag by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实践 步骤1 应用根目录下,新建templatetags包目录(注意 ...
- MySQL原始密码登录出现错误
1.首先查看自己的MySQL安装目录下有没有data文件夹,和bin目录是同级的.要是有就删除,然后执行下列操作.没有就直接执行操作: 2. 以管理员身份运行 cmd.遇到个同学,可能我强调的不够明显 ...
- 安卓网络通信之 HttpURLConnection 文件上传
文件上传分为二步,第一步选择文件 代码思路是: chooseFile()方法用于创建一个Intent对象,并设置Intent的Action为ACTION_GET_CONTENT,这表示获取内容,即选 ...
- JAVA并发编程理论基础
注:本文章是对极客时间<java并发编程实战>学习归纳总结,更多知识点可到原文 java并发编程实战 进行学习.如果侵权,联系删除: 一.并发编程的BUG的源头 1.1 缓存导致的可见性问 ...
- OneFlow框架0.9.1dev版本,成功安装并运行
安装cuda和cudnn: (此步骤可以忽略,pip安装框架时会自动安装依赖的cuda和cudnn环境) conda install cudatoolkit==11.8.0 python3 -m pi ...
- aarch64架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本
准备事项: 1. pytorch源码下载: 源码的官方地址: https://github.com/pytorch/pytorch 但是这里我们不能简单的使用git clone命令下载,因为pytor ...
- 【转载】 关于Numpy数据类型对象(dtype)使用详解
原文地址: https://www.cnblogs.com/dreamboy2000/p/15350478.html ========================================= ...
- 日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造
大家好我是张金明,在蔚来汽车担任大数据平台研发工程师.这次和大家分享的是 Apache DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用和改造,接下来我将从背景.应用现状和技术 ...
- 牛客周赛 Round 7
牛客周赛 Round 7 A-游游的you矩阵_牛客周赛 Round 7 (nowcoder.com) 把四种字符凑一起看看有没有\(y,o,u\)就行 #include <bits/stdc+ ...