1. 关于Minio Client

MinIO Client是一个命令行工具,用于与Minio或云存储服务进行交互。它支持文件系统和Amazon S3兼容的云存储服务(AWS Signature v2和v4)。

MinIO Client mc 命令行工具提供了lscatcpmirrordiff等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

分别设置 minio2019minio2023 的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的更多相关文章

  1. cenos下安装MySQL最新版(5.7.18)记录。附卸载老版本过程

    首先说明:老版本数据库没有数据,所以无数据备份过程.如果你在升级数据库过程里,需要备份数据,请另外自行处理. 1.下载最新版MySQL.解压待用 wget https://dev.mysql.com/ ...

  2. 一种解决新版本API完全兼容老版本API的方法

    原文:http://android.eoe.cn/topic/android_sdk 这节课程我们讨论如何创建一个实现类,即能对应新版本的API,又能够保持对老版本API的支持. * 寻找一个替代的解 ...

  3. 使用老版本的java api提交hadoop作业

    还是使用之前的单词计数的例子 自定义Mapper类 import java.io.IOException; import org.apache.hadoop.io.LongWritable; impo ...

  4. CoreData 从入门到精通(六)模型版本和数据迁移

    前面几篇文章中讲的所有内容,都是在同一个模型版本上进行操作的.但在真实开发中,基本上不会一直停留在一个版本上,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模 ...

  5. 如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)

    一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...

  6. 较老版本的AFNetworking使用心得

    较老版本的 AFNetworking 下载链接 ( http://pan.baidu.com/s/14Cxga ) 将压缩包中的文件夹拖入xcode工程项目中并引入如下的框架 简单的 JOSN 解析例 ...

  7. 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...

  8. 微软Hololens学院教程-Hologram 220-空间声音(Spatial sound )【本文是老版本,与最新的微软教程有出入】

    这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦! 原文链接https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...

  9. 微软Hololens学院教程-Hologram 230-空间场景建模(Spatial mapping )【微软教程已经更新,本文是老版本】

    这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...

  10. 微软Hololens学院教程- Holograms 100: Getting Started with Unity【微软教程已经更新,本文是老版本】

    这是老版本的教程,为了不耽误大家的时间,请直接看原文,本文仅供参考哦!原文链接:https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/ho ...

随机推荐

  1. 基于django(爱抚宠物) 小程序设计和实现(源码+LW+部署讲解)

    感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用 ...

  2. Figma数值输入框支持拖拽调整功能实现

    最近再研究Figma的一些功能设计, 对其中的数值输入框可以直接鼠标拖拽的这个设计印象非常深刻. 这里用了其他网友的一张动态截图演示一下效果. 实际这个拖拽的功能不止看到的这么简单, 在深度研究使用之 ...

  3. SQL分析“聚集索引、非聚集索引”区别

    概述 聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序. 聚集索引确定表中数据的物理顺序.聚集索引类似于电话簿,后者按姓氏排列数据.由于聚集索引规定数据在表中的物理存储顺序,因此一 ...

  4. Windows/Linux 安装NVM及npm配置

    nvm安装及npm配置 nvm nvm下载 Windows: Releases · coreybutler/nvm-windows (github.com) Windows直接下载相应版本的nvm-s ...

  5. 一文全解:LVM(逻辑卷管理器)

    前两篇文章已经讲了关于磁盘分区和磁盘阵列的相关内容: 一文全懂:Linux磁盘分区 一文全懂:独立冗余磁盘阵列(RAID) 但是磁盘分区完后再想扩容或者缩容就比较麻烦了,甚至很多时候不能扩容或者缩容, ...

  6. 提高 C# 的生产力:C# 13 更新完全指南

    前言 预计在 2024 年 11 月,C# 13 将与 .NET 9 一起正式发布.今年的 C# 更新主要集中在 ref struct 上进行了许多改进,并添加了许多有助于进一步提高生产力的便利功能. ...

  7. BeanUtils.copyProperties无法复制list对象,替换为lambda表达式

    List<Setmeal> setmeals = setmealMapper.selectList(queryWrapper); List<SetmealVO>vo=new A ...

  8. 云原生 .NET Aspire 8.1 新增对 构建容器、编排 Python的支持

    .NET Aspire 用于云原生应用开发,提供用于构建.测试和部署分布式应用的框架,这些应用通常利用微服务.容器.无服务器体系结构等云构造.2024年7月23日宣布的新 8.1 版本是该平台自 5 ...

  9. excel一次性粘贴2万行数据

    测试导入文件功能中,会出现需要验证导入大批量数据文件的情况,怎么样让文件快速从1行数据变成2万行数据呢,以下讲解方法: 1.如下原文件只有2行数据,第一行是标题第二行是数据 2. 选中需要复制的第二行 ...

  10. 【Java】在线文件预览服务 KkFileView

    原来有第三方在线预览服务接口: 需要收费使用: https://view.xdocin.com/ 但是经费不足,突然撤掉服务接口,只能把KkFileView架出来使用了 KkFileView官网地址: ...