从日立内容平台到 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。该工具有两个命令 (list
和 migrate
) 来完成此操作。
list
命令生成存储在 HCP 中的对象列表,并将其写入本地驱动器上的文件。然后将列表文件拆分为多个较小的列表文件,然后从多台客户端机器执行 HCP-to-MinIO 工具。这样,就可以使用多个节点从 HCP 下载对象并将数据迁移到 MinIO,允许客户饱和网络并在最短的时间内迁移尽可能多的数据。
迁移完成后,应用程序将使用与 S3 兼容的 API 与 MinIO 交互。现在,数据可用于云原生分析和 AI/ML 框架。
下面给出 list
和 migrate
命令的使用方法。将 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。现在是时候摆脱本地存储设备,体验地球上最快、可扩展性最高的存储对象。
下载 MinIO 和 HCP-to-MinIO 工具 并立即开始使用。与往常一样,如果您需要帮助规划或有其他问题,请通过 hello@min.io 与我们联系。