批量复制添加双向 S3-MinIO 和拉取功能

我们最近(截至 RELEASE.2023-05-04T21-44-30Z)扩展了批量复制的功能,使其能够在 MinIO 和 AWS S3 之间实现双向复制,并允许从接收方或发送方 MinIO 部署(拉取复制)配置和启动复制。这是 MinIO 批处理框架的最新补充,它允许您使用 YAML 作业定义文件创建、管理、监控和执行作业。批处理作业直接在 MinIO 服务器上运行,以利用可用的服务器端计算资源。
这篇博文重点介绍了新添加的功能。有关实现细节和配置示例 YAML,请参阅 宣布 MinIO 批处理框架 - 功能 #1:批量复制。
AWS S3-MinIO 双向批量复制
您是否曾经希望有一种简单的方法可以将数据从 S3 复制到 MinIO,反之亦然?现在,S3-MinIO 批量复制可以满足您的愿望。
任何与 S3 兼容的源或目标都可以用作复制源或目标,只要另一个端点是 MinIO 部署即可。复制高效且快速,因为它只是对对象的最新版本及其元数据的简单单向复制,唯一的例外是无法在目标端保留对象的版本 ID 和修改时间。这是一种将数据从与 S3 兼容的源(包括 AWS S3)转移到 MinIO 的好方法。或者,您可以使用 S3-MinIO 批量复制来制作时间点副本。
拉取批量复制
以前,必须从源 MinIO 部署配置和启动批量复制。现在,可以从源 MinIO 部署或目标 MinIO 部署配置和启动批量复制。
我们这样做是为了为运行多个 MinIO 版本的客户提供批量复制。在企业堆栈中,总会有一些原因导致某些东西没有升级到最新版本。一些客户选择运行旧版本的 MinIO,但他们仍然希望使用批量复制在部署、位置或云之间移动数据。此新增功能使他们能够根据自己的意愿保留旧版本(五年发布支持 包含在企业许可证中),并充分利用新的批量复制功能。
背景
回顾一下,在 2022 年底,我们在 MinIO 中引入了批处理框架及其第一个功能,批量复制。批量复制已迅速成为我们客户广泛采用的功能,它用于构建数据管道以及在 MinIO 部署之间复制或移动数据。
批处理函数直接在 MinIO 服务器上运行,消除了任何潜在的瓶颈或可能由从工作站运行这些操作引起的故障点。用户不需要特殊权限来运行批处理,因为它们在服务器端运行。在运行时,批处理会读取 YAML 配置文件,在复制的情况下,配置文件包含源存储桶、过滤器/标志和目标目标(存储桶和凭据)。
创建和编辑文件 replication.yaml
允许您设置源存储桶、对象过滤器/标志和目标存储桶(带凭据)。MinIO 服务器可以同时运行多个批量复制作业,您可以使用 mc batch list
列出它们,并使用 mc batch status
检查它们的狀態。
批量复制会复制 YAML 配置文件中指定了过滤器的现有对象(如果没有配置文件,则作业会照常运行,没有过滤器)。批量复制是一种轻松地用对象填充新位置的新存储桶的方法。任何数量的对象都可以在单个作业中使用最少的代码进行复制,并在复制完成后发送通知。
MinIO 提供了其他复制方法,包括 主动-主动复制,以在后台复制配置复制规则后创建的对象。MinIO 有数百个客户依赖于双向主动-主动复制来保持部署同步。主动-主动复制是连续的,没有定义的开始和结束时间。它在 MinIO 的后台运行,以持续更新第二个 MinIO 部署中写入第一个部署的对象。这种类型的复制最适合 HA、地理负载平衡和 BC/DR。
使用批量复制释放您的数据
MinIO 批量复制使您能够构建数据管道,将数据推送到您需要的位置并验证作业已成功完成,现在您可以使用任何版本的 MinIO 或任何与 S3 兼容的存储作为复制端点。一种用法是将数据摄取到一个位置,然后将其移动到另一个位置进行分析或 AI/ML。例如,可以将物联网数据摄取到边缘的 MinIO 中,复制到数据中心中构建在 MinIO 上的中心数据湖中,然后复制到与 S3 兼容的云提供商中以运行特定工具,例如 AWS S3 上的 Spark 和 Iceberg。
批量复制提供了一种强大高效的机制,用于在多云环境中构建数据驱动型应用程序。最近添加的拉取功能将批量复制扩展到以前的 MinIO 版本,而与 S3 兼容的对象存储的复制功能则开辟了数据管道可能性的大门。