Dell ECS 数据移动到 MinIO
Dell ECS 集群允许您将数据迁移到任何 S3 兼容存储。Dell ECS 将此功能称为“数据移动”,也称为复制到云。这是 ECS 3.8.0.1 中引入的一项功能,允许您将对象从戴尔 ECS 复制到 MinIO,这在客户和潜在客户中非常受欢迎,他们正在对其存储堆栈进行现代化改造以支持其 AI 数据基础架构要求。数据移动建立在 ECS Sync 开源工具之上,该工具提供了并行复制数据的功能。

在本概述中,我们将向您展示如何将数据从戴尔 ECS 迁移到 MinIO,具体关注以下内容:
- 配置源存储桶和目标存储桶
- 设置数据移动策略
- 监视和记录向 MinIO 的迁移
配置源存储桶和目标存储桶
在开始创建迁移数据的策略之前,让我们确保为数据移动配置了源存储桶和目标存储桶。
配置Dell ECS源存储桶
在内部,数据移动策略扫描源存储桶,以使用元数据 (MD) 搜索枚举要移动的所有对象。要使数据移动实际移动数据,您需要确保在 Dell ECS 源存储桶上启用了 MD 搜索,并将 LastModified 作为索引字段包含在内。

接下来,让我们配置目标存储桶 MinIO。
配置 MinIO 目标存储桶
为了将数据传输到 MinIO,我们需要事先在 MInIO 中创建以下资源:
- 访问密钥和密钥
- 存储桶名称
- IAM 策略
创建存储桶时,请务必启用存储桶版本控制,除非 MinIO 中的目标存储桶专用于数据移动策略。请务必在创建它们后记下上述详细信息,因为稍后需要它们的值。
IAM 策略应允许以下 API:
- s3:列表桶
- s3:获取对象
- s3:PutObject
- s3:删除对象
按照以下交互式指南了解如何在 MinIO 控制台中创建 IAM 策略、访问密钥和存储桶。

配置 Source 和 Target 存储桶后,让我们设置数据移动策略。
数据移动策略
数据移动策略是 Dell ECS 中的定义,可以通过 UI 或 API 进行设置,用于定义应将 Dell ECS 源存储桶中的哪些对象复制到 MinIO 目标存储桶。数据移动策略扫描作业会自动触发,但可以随时暂停或恢复。这与 MinIO 的批处理复制过程非常相似。默认情况下,数据移动策略按 LastModified 时间的顺序将数据迁移到 MinIO。
我们将向你展示两种不同的数据移动方案,让你了解这是如何工作的,但当涉及到你想要如何进行迁移时,天空是无限的。
向 MinIO 移动数据
在此配置中,我们将添加必要的 MinIO 位和 bob,以便 Dell ECS 与之通信。启用 MD Search 后,第一步是启用数据移动性, ON 如下所示。

将 Data Mobility 设置为 ON 后,我们可以继续配置策略。
- 端点:将其设置为 MinIO 端点 http://<minio_ip>:<minio_port>
- 访问和密钥:这是在 MinIO 控制台中创建的,并保存在上一步中。
- 存储桶名称:MinIO 目标存储桶名称
- 日志记录存储桶:这是戴尔 ECS 中的存储桶,用于记录迁移过程中的任何错误。
还有其他设置,我没有完成所有设置,只是最重要的设置。请注意,如果从Dell ECS源存储桶中删除数据,则迁移完成后不会从MinIO目标存储桶中删除数据。
使用 Dremio 向 MinIO 进行数据移动
现在,让我们看一下使用Dremio的应用程序进行迁移的样子。

在此迁移过程中会执行几个步骤
1 . 面向客户的应用程序写入 Dell ECS 存储分段。
2 . ECS 复制到使用数据移动策略配置的 MinIO 中的暂存存储桶。
3 . 数据将复制到暂存存储桶。
4 . MinIO 暂存桶将使用事件通知向 RabbitMQ 发送消息,Dremio 将订阅该消息。
5 . Dremio 读取消息并将数据从 MinIO 暂存桶摄取到 MinIO 中的 Dremio 存储桶。
6 . 引入数据后,您可以使用生命周期策略清理 MinIO 暂存存储桶。
这些只是两个示例,但您可以使用此方法从使用 Dell ECS 的任何应用程序迁移到 MinIO。
数据移动监控和记录
在数据迁移过程中,在将数据移动到 MinIO 时,请务必密切关注整个迁移过程。Dell ECS GUI 提供具有高级监控功能的概览仪表板,可显示复制的对象总数、复制的总字节数、水印滞后、错误总数、复制的对象、字节数等。

您可以进一步向下钻取以显示源/目标特定信息,例如迁移过程中选定时间段内的对象计数和存储桶大小。

在本博客开头的初始图中,我们展示了 ECS 端的日志存储桶,这是记录数据移动中所有操作的地方。这对于调试迁移过程中的任何问题非常有帮助,尤其是在由于硬件和物理限制而需要很长时间时。
下面是日志外观的示例
2024-08-31T11:40:51Z DM.COPY demo sourcebucket ASIAD708D0875B4F32F8 test.pdf 2022-08-31T09:30:52Z 1,951,137 5895c19c9e742a88d1bec75d40288e0f http://targetendpoint targetbucket AKIA7A04FF4B251997E0 288 SUCCESS
为什么要迁移到 MinIO?
MinIO 是一个单一的 Go 二进制文件,可以在许多不同类型的云和本地环境中启动。它非常轻量级,但也具有复制和加密等功能,并提供与各种应用程序的集成。我们将其基准测试为 325 GiB/s (349 GB/s) 的 GENT,165 GiB/s (177 GB/s) 的 PUT,仅使用 32 个现成的 NVMe SSD 节点,用于构建数据湖/湖仓一体房以及分析和 AI/ML 工作负载。
不仅如此,开箱即用的 MinIO 还包括:
- 加密:MinIO 支持静态加密和传输加密。这可确保从调用的那一刻起,直到将对象放入存储桶中,交易的各个方面都对数据进行加密。
- Bitrot 保护:物理磁盘上的数据可能损坏的原因有多种。这可能是由于电压尖峰、固件错误、错误导向的读写等原因造成的。MinIO 确保动态捕获和修复这些内容,以确保数据完整性。
- 纠缠编码:MinIO 使用此数据冗余和可用性功能来动态重建对象,而无需任何额外的硬件或软件,而不是使用 RAID 确保数据冗余,这会增加额外的性能开销。
- 安全访问 ACL 和 PBAC:支持内置 IDP 的 IAM S3 式策略,有关更多信息,请参阅 MinIO 最佳实践 - 安全和访问控制。
- 分层:对于不经常访问的数据,您可以将数据虹吸到另一个运行 MinIO 的冷存储中,这样您就可以在最佳硬件上优化最新数据,而不会占用未使用的数据占用空间。
- 对象锁定和保留:MinIO 支持对象锁定(保留),它强制写入一次,并为基于持续时间和无限期的法定保留准备许多操作。这允许关键数据保留合规性,并满足 SEC17a-4(f)、FINRA 4511(C) 和 CFTC 1.31(c)-(d) 要求。
更不用说,没有良好的支持,好的软件什么都不是。MinIO 使用我们的 SUBNET 门户提供最好的支持之一。我们有从事 MinIO 核心代码库工作的工程师直接在 Slack 风格的交互式和协作媒体中回答问题。当您与工程师交谈时,而不是无休止地将您的问题升级到下一个级别的工程师,与您交谈的人能够解决您遇到的任何问题。我们甚至有客户在使用竞争对手的存储平台后,因为缺乏适当的支持而回到我们身边。无论您是否在阳光下设计具有所有功能的存储,如果您不及时为客户提供支持,那么它就没有用。对我们来说,支持我们的客户并使他们成功是我们的首要任务#1。