使用 mc 将数据迁移到/从 AWS Snowball

Using mc to Migrate Data to/from AWS Snowball

随着数据量的增长,迁移数据的挑战也随之增加。事实上,将 PB 级数据从 AWS 迁移出去的带宽成本将超过将其保留在那里的数年成本。尽管如此,客户仍然需要经常迁移大量数据(从数百 TB 到 PB)。

亚马逊意识到了这一点,并以其高度重视客户的方式,在 Amazon Snowball 中提出了一个巧妙的解决方案。Snowball 价格合理,可以迁移海量数据。他们常见问题解答页面中的这张便捷表格提供了一些背景信息。在这些速度下,联邦快递和 UPS 是更好的选择。

但是,有一个问题值得注意,那就是亚马逊用于导出数据的 CLI 非常有限。将数据从 Snowball 迁移出去需要一个容量相当的暂存区域,然后才能将其移动到另一个对象存储系统。暂存区域必须是 NAS 或文件系统。

为了方便大规模地将数据从 AWS 的 Snowball 直接迁移到另一个与 S3 兼容的对象存储,我们使用了我们受欢迎的 MinIO Client (MC) 工具。

Snowball 支持 S3,但我们注意到它只以有限的方式这样做。

通过增强mc以识别 Snowball 作为与 S3 兼容的对象存储服务器,用户可以获得所有mc命令来管理 Snowball 上的数据。通过添加我们的网关(如 Azure、HDFS、NAS、GCS、阿里云),用户甚至可以将数据从 Snowball 迁移到/从非兼容的 S3 对象存储迁移到/从 Snowball 迁移。

随意镜像、迁移和移动。

此增强功能在最新版本中可用,应该可以让数据/DevOps/基础设施专业人员非常轻松地进出 AWS 迁移海量数据。

下载最新的 MC

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
./mc --help

虽然它肯定会加快那些希望将部分或全部数据迁移回本地的人员的工作,但如果客户需要,它也会使将数据上传到 AWS S3 变得更容易。

以下是配置mc以用于 AWS Snowball 的说明。正如我们提到的,Amazon Snowball 实现了受限的 S3 API

最新版本的mc将自动检测 Snowball 并相应地执行操作。

在开始之前,用户必须获取 AWS Snowball 凭据,如此处所述

有两种方法可以移动数据:安全和不安全。虽然我们推荐安全方法,但我们在这里详细介绍了两种方法。

安全(推荐)

在您配置mc以使用 HTTPS 终结点之前,请确保按照此文档获取当前的 Snowball Edge 证书。

获取证书后,它应该类似于以下内容

~ mkdir -p ${HOME}/.mc/certs/CAs
~ snowballEdge get-certificate --certificate-arn arn:aws:snowball-device:::certificate/78EXAMPLE516EXAMPLEf538EXAMPLEa7 > ${HOME}/.mc/certs/CAs/snowball.pem

保存证书。下一步是使用获取的凭据创建别名,如下所示

~ mc config host add mysnowball https://<YOUR-SNOWBALL-IP>:8443 YOUR-SNOWBALL-ACCESS-KEY YOUR-SNOWBALL-SECRET-KEY

不安全

Snowball 还公开了不安全的终结点,无需证书。

~ mc config host add mysnowball https://<YOUR-SNOWBALL-IP>:8443 YOUR-SNOWBALL-ACCESS-KEY YOUR-SNOWBALL-SECRET-KEY

​完成此操作后,我们现在将注意力转向 MinIO 终结点。

开始镜像

假设您已将 MinIO 服务器配置为“myminio”,请开始镜像以将 Amazon Snowball 上的所有存储桶和所有对象复制到 MinIO。

~ mc mirror mysnowball/ myminio/

瞧!

现在,从mc的角度来看,您的 Snowball 是一个一流的对象存储服务器。

如果您有任何具体问题,请发送邮件至hello@min.io加入 Slack 上的对话。我们随时为您提供帮助。