使用minioClient迁移minio

MinIO是一个分布式对象存储服务器,专为大规模私有云基础架构设计,也适用于云原生环境和大规模数据存储需求。最重要的是它是开源的, 因此应用极为广泛, 今天来研究一下如何迁移minio桶中的数据

要将 MinIO 中某个桶(Bucket)中的数据全部导出,可以使用 mc(MinIO Client)工具来实现。mc 是 MinIO 提供的一个命令行工具,专门用来与 MinIO 或其他兼容 S3 的存储服务交互。通过 mc,你可以方便地将 MinIO 桶中的所有数据导出。

安装 MinIO 客户端(mc)

minioClien下载地址: https://min.io/open-source/download?platform=linux

使用minioClient迁移minio_第1张图片 

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mc alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD

配置 MinIO 客户端(mc)

在运行命令之前,必须先配置 mc,以连接到 MinIO 服务器。运行以下命令并提供 MinIO 的访问密钥和密钥:

mc alias set myminio https://your-minio-server:9000 ACCESS_KEY SECRET_KEY
  • myminio 是配置的别名,可以随意命名。
  • https://your-minio-server:9000 是 MinIO 服务器的 URL。
  • ACCESS_KEYSECRET_KEY 是你在 MinIO 中设置的访问密钥和密钥。

导出桶的所有数据

使用 mc 工具的 mirror 命令来导出(下载)桶中的数据。

这个命令会将整个桶的数据复制到本地目录中。

mc mirror myminio/my-bucket /path/to/local/directory
  • myminio/my-bucket 是 MinIO 上的桶名称。
  • /path/to/local/directory 是你想将数据保存到的本地目录路径。

这个命令会将 my-bucket 桶中的所有文件(包括子目录)复制到本地目录。

下载完成后,你可以进入本地目录查看导出的文件。如果桶内有大量数据,导出过程可能需要一些时间。

将数据合并到新的新的桶

假设你已经使用 mc 配置了两个 MinIO 服务器别名。例如:

  • myminio 用于源桶(从中导出数据)。
  • myminio2 用于目标桶(上传数据)。

确保 MinIO 客户端(mc)已配置 

mc alias set myminio2 https://your-minio-server2:9000 ACCESS_KEY2 SECRET_KEY2

将数据上传到目标桶 

使用 mc mirrormc cp 命令将从源桶下载的文件上传到目标桶。

  • 使用 mc mirror 命令进行同步:

    如果你已经将数据从源桶下载到本地,可以使用 mc mirror 将本地目录的内容上传到目标桶:

mc mirror /path/to/local/directory myminio2/my-new-bucket
  • /path/to/local/directory 是存储导出数据的本地目录。
  • myminio2/my-new-bucket 是目标 MinIO 服务器的桶名称。

这个命令会将本地目录中的所有文件和子目录上传到目标桶。

使用 mc cp 命令上传特定文件 

如果你只想上传某些文件,可以使用 mc cp 命令。例如,要上传一个文件: 

mc cp /path/to/local/file.txt myminio2/my-new-bucket
  • /path/to/local/file.txt 是本地文件路径。
  • myminio2/my-new-bucket 是目标桶的名称。

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,minio)