从日立内容平台到 MinIO 的自动化迁移

Automated Migration from Hitachi Content Platform to MinIO

我们编写了 HCP-to-MinIO 工具来帮助我们的客户将数据从 HCP 对象存储迁移到 MinIO。该工具可以从其 GitHub 仓库 免费下载。

我们开发此工具是为了简化许多客户在从其 HCP 对象存储环境迁移时遇到的问题。原因多种多样。最常见的原因是迁移到软件定义的、云原生和 Kubernetes 原生的平台。这些是客户使用的现代应用程序堆栈的要求。第二个最常见的原因是提高混合对象大小(非常小和非常大)的性能扩展性。我们的客户告诉我们的情况反映了市场中的更大趋势——随着企业拥抱软件定义的 S3 兼容对象存储以获得更大的灵活性和云中立性,专用存储设备正在被大规模淘汰。

HCP-to-MinIO 迁移

在迁移过程中,我们建议不要写入 HCP,而只写入 MinIO。客户通常立即开始将 MinIO 视为主要对象存储。在将对象迁移到 MinIO 期间,getobject 调用首先会发往 MinIO,如果对象在 MinIO 中不存在,则会从 HCP 对象存储中读取该对象。一旦所有对象都复制到 MinIO,就可以从代码中删除此回退选项。在复制对象时,该工具会保持对象的修改时间戳,与它在 HCP 中的时间戳一致。

该工具首先用于列出存储在 HCP 对象存储中的对象。然后,使用该列表从 HCP 对象存储下载对象并复制到 MinIO。该工具有两个命令 (listmigrate) 来完成此操作。

list 命令生成存储在 HCP 中的对象列表,并将其写入本地驱动器上的文件。然后将列表文件拆分为多个较小的列表文件,然后从多台客户端机器执行 HCP-to-MinIO 工具。这样,就可以使用多个节点从 HCP 下载对象并将数据迁移到 MinIO,允许客户饱和网络并在最短的时间内迁移尽可能多的数据。

迁移完成后,应用程序将使用与 S3 兼容的 API 与 MinIO 交互。现在,数据可用于云原生分析和 AI/ML 框架。

下面给出 listmigrate 命令的使用方法。将 HCP-to-MinIO 工具下载到您的工作站,然后运行 list,然后运行 migrate

list:列出 HCP 命名空间中的对象并下载到磁盘

NAME:
  hcp-to-minio list - List objects in HCP namespace and download to disk

USAGE:
  hcp-to-minio list --auth-token --namespace-url --host-header --dir

FLAGS:
  --auth-token value, -a value     authorization token for HCP
  --namespace-url value, -n value  namespace URL path, e.g https://namespace-name.tenant-name.hcp-domain-name/rest
  --host-header value              host header for HCP
  --data-dir value, -d value       path to work directory for tool
  --insecure, -i                   disable TLS certificate verification
  --log, -l                        enable logging
  --debug                          enable debugging
  --help, -h                       show help
  

EXAMPLES:
1. List objects in HCP namespace https://hcp-vip.example.com and download list to /tmp/data
     $ hcp-to-minio list --a "HCP bXl1c2Vy:3f3c6784e97531774380db177774ac8d" --host-header "HOST:s3testbucket.tenant.hcp.example.com" \
                  --namespace-url "https://hcp-vip.example.com" --dir "/tmp/data"

migrate - 将对象从 HCP 对象存储迁移到 MinIO

NAME:
  hcp-to-minio migrate - Migrate objects from HCP object store to MinIO

USAGE:
  hcp-to-minio migrate --auth-token --namespace-url --host-header --data-dir

FLAGS:
  --auth-token value, -a value     authorization token for HCP
  --namespace-url value, -n value  namespace URL path, e.g https://namespace-name.tenant-name.hcp-domain-name/rest
  --host-header value              host header for HCP
  --data-dir value, -d value       path to work directory for tool
  --bucket                         bucket name on HCP
  --input-file                     file that contains the list of objects to be migrated from HCP to MinIO
  --insecure, -i                   disable TLS certificate verification
  --log, -l                        enable logging
  --debug                          enable debugging
  --help, -h                       show help

您可以在开始迁移之前设置以下配置

$ export MINIO_ACCESS_KEY=<Your-MinIO-Access-Key> 
$ export MINIO_SECRET_KEY=<Your-MinIO-Secret-Key> 
$ export MINIO_ENDPOINT=https://<Your-MinIO-IP-Address>:9000
$ export MINIO_BUCKET=newbucket 
# optional, if unspecified HCP bucket name is used

创建用于存放列表的临时目录

$ mkdir /tmp/data 
# temporary dir where output of listing is stored.

开始迁移

$ hcp-to-minio migrate --namespace-url https://finance.europe.hcp.example.com
--auth-token "HCP bXl1c2Vy:3f3c6784e97531774380db177774ac8d"
--host-header "s3testbucket.sandbox.hcp.example.com"
--data-dir /mnt/data
--bucket s3testbucket
--input-file /tmp/data/to-migrate.txt

立即迁移到 MinIO

升级您的基础设施和应用程序堆栈可能具有挑战性。我们创建了 HCP-to-MinIO 迁移工具,使您和您的组织更容易采用推动云发展的前沿技术——S3 API 和 Kubernetes。现在是时候摆脱本地存储设备,体验地球上最快、可扩展性最高的存储对象。

下载 MinIOHCP-to-MinIO 工具 并立即开始使用。与往常一样,如果您需要帮助规划或有其他问题,请通过 hello@min.io 与我们联系。