海量数据迁移方案

概述

随着云的普及,越来越多的客户需要把数据迁移到云上,针对小量的数据,通过云公司提供的迁移工具走互联网就可以做到,但针对海量的数据,互联网上传输是不现实的,这就需要我们提供一种新的迁移方案来缩短数据迁移时间。

结合过去磁带库的容灾备份方案,针对海量数据迁移到云上的需求,云公司也采用了离线设备+传统运输的解决方案,能大大缩短数据迁移的时间周期,降低成本。

方案步骤

  1. 准备离线设备
  2. 源端数据拷贝到离线设备
  3. 离线设备通过传统方式运输到云公司机房
  4. 云公司机房从离线设备上导入数据 / 离线设备直接组建存储集群提供服务

友商

提供服务的友商有: AWS,Azure,阿里云

产品功能

  1. 定制离线设备
  2. 开发客户端
  3. NFS/CIFS数据导入
  4. 文件导出到OSS,支持配置文件存放bucket的对应关系
  5. 数据加密,压缩
  6. 数据秘钥管理

友商实现

AWS

Snowball 是一种 PB 级数据传输解决方案,它使用安全设备在 AWS 云之间传输大量数据。使用 Snowball 可解决大规模数据传输的难题(包括高昂网络成本、较长传输时间和安全问题)。使用 Snowball 传输数据简单、快速、安全,并且成本可低至高速 Internet 费用的五分之一。

借助 Snowball,您无需编写任何代码或购买任何硬件即可传输您的数据。只需在 AWS 管理控制台中创建一个任务,然后 Snowball 设备将自动交付于您。当它到达后,将该设备挂载到您的本地网络、下载并运行 Snowball 客户端来建立连接,然后使用该客户端选择要传输到该设备的文件目录。客户端随后将对文件进行加密,并将其高速传输至该设备。当传输完成后即可返还该设备,E-Ink 运送标签将自动更新,您可以通过 Amazon Simple Notification Service (SNS)、短信或直接在控制台中跟踪任务状态。

snowball steps

硬件设备

便携式大容量设备,这些设备使用防篡改附件、加密和端到端跟踪,旨在确保数据的安全和全程监管链。
每台 Snowball 设备可传输数 TB 的数据,根据您需要传输的数据量,您可以使用多台 Snowball 以并行方式或一个接一个地传输大型数据集。

snowball device

客户端

Snowball 客户端是您安装在本地主计算机上的软件,用于高效识别、压缩、加密您指定目录中的数据并将其传输到 Snowball。

产品特色

  1. 高速
  2. 高度可扩展
  3. 防状态和安全性
  4. 简单且可兼容
  5. 成本低廉
  6. 轻松检索数据

Azure

Azure 导入/导出服务将大型数据快速、安全地迁移到云中。

使用 Azure 导入/导出服务,可以将硬盘驱动器寄送到 Azure 数据中心,从而安全地将大量数据传输到 Azure Blob 存储(==高度可缩放的非结构化数据对象存储==)。 你还可以使用此服务将数据从 Azure Blob 存储传输到硬盘驱动器,然后再寄送到你的本地站点。 如果需要在本地站点和 Azure 之间传输数 TB 的数据,而由于带宽限制或网络成本过高,通过网络上传或下载数据不可行,在这种情况下,则可以使用此服务。
服务要求对硬盘驱动器进行 BitLocker 加密以确保数据的安全性。 服务支持所有公共 Azure 区域中的经典和 Azure Resource Manager 存储帐户(标准层和冷层)。 必须将硬盘驱动器寄送到本文后面指定的某个受支持的位置。

产品特色

  1. 高效迁移大量数据集

    与网络传输相比,将物理磁盘传入/传出 Azure 可节省时间和金钱。将大量初始工作负荷数据导入 Azure,或者将数据快速发送到客户网站进行简单的内容分发。创建本地数据备份以存储到云中,然后按需将数据恢复到本地位置。

  2. 保持数据私有

    使用“导入/导出”服务时,数据在整个过程中都很安全。磁盘使用 Microsoft BitLocker 驱动器加密进行加密,并在 Azure 门户或 Azure REST API 上通过 SSL 管理加密密钥。在数据中心内,我们使用快速、专用的网络上传链接将用户的数据从驱动器迁移到云。

  3. 确保数据完整性

    使用“导入/导出”服务放心迁移数据。内置校验和以及 MD5 哈希可确保数据完整性。通过 Azure 门户上的日志和审核痕迹跟踪并监视数据迁移状态。

硬件设备

支持将 2.5 英寸 SSD 或者 2.5/3.5 英寸 SATA II 或 III 内部 HDD 用于导入/导出服务。

单个导入/导出作业最多可以有 10 个 HDD/SSD,并且每个 HDD/SSD 可以为任意大小。大量驱动器可以分布在多个作业上,并且可创建的作业数没有限制。

导入作业

概括而言,导入作业包括以下步骤:

  • 确定要导入的数据,以及所需驱动器数目。
  • 确定 Blob 存储中用于存储数据的目标 Blob 位置。
  • 使用 WAImportExport 工具将数据复制到一个或多个硬盘驱动器,并使用 BitLocker 进行加密。
  • 使用 Azure 门户或导入/导出 REST API 在目标存储帐户中创建导入作业。 如果使用 Azure 门户,请上传驱动器日记文件。
  • 请提供回寄地址以及快递商帐户号码,以便我们将驱动器寄回给你。
  • 将硬盘驱动器寄送到在创建作业时获得的寄送地址。
  • 在导入作业详细信息中更新快递跟踪号码,然后提交导入作业。
  • Azure 数据中心在收到驱动器后会对其进行处理。
  • 该中心会使用你的快递商帐户将驱动器寄送到你在导入作业中提供的回寄地址。

data import

导出作业

概括而言,导出作业包括以下步骤:

  • 确定要导出的数据,以及所需驱动器数目。
  • 确定你的数据在 Blob 存储中的源 Blob 或容器路径。
  • 使用 Azure 门户或导入/导出 REST API 在源存储帐户中创建导出作业。
  • 指定你的数据在导出作业中的源 Blob 或容器路径。
  • 请提供回寄地址以及快递商帐户号码,以便我们将驱动器寄回给你。
  • 将硬盘驱动器寄送到在创建作业时获得的寄送地址。
  • 在导出作业详细信息中更新快递跟踪号码,然后提交导出作业。
  • Azure 数据中心在收到驱动器后会对其进行处理。
  • 驱动器使用 BitLocker 加密;密钥通过 Azure 门户提供。
  • 该中心会使用你的快递商帐户将驱动器寄送到你在导入作业中提供的回寄地址。

data export

导入/导出工具

使用此 WAImportExport 工具可以方便地将数据复制到驱动器、使用 BitLocker 加密驱动器上的数据,以及生成驱动器日志文件。

WAImportExport 工具仅兼容 64 位 Windows 操作系统。

阿里云

闪电立方 Lightning Cube,支持TB到PB级别数据上云解决方案。通过定制的离线迁移设备,解决本地数据中心大规模数据传输上云的迁移周期长,网络专线费用昂贵,数据复制效率低,迁移过程数据安全等问题。快速、安全、高效、降低90%的数据迁移成本。

2017年6月10号,阿里云发布了产品“闪电立方”。它像是一个可移动的“数据中心”,通过一个安全的存储硬件,可将100TB数据安全地一次性转移,最快24小时即可完成PB级数据迁移。“闪电立方”外形黑色立方,可防尘防水,抗震抗压。容量上可容纳100TB数据,并能实现最高30:1的压缩比,配合高效的去重功能可节省更多的存储空间。内置了20Gbps的光纤网络连接。在数据安全性方面,“闪电立方”采用AES 256端到端加密算法,密钥由用户保管,运送过程中全程断网,同时配备24小时定位监控。

aliyun lighting cube

产品特色

  1. 高速高效

    相比传统的Internet和高速专线速度提升20倍,成本降低60%

    • 数据压缩
      支持最高30倍压缩比

    • 数据去重
      自动对数据进行去重处理,迁移过程中自动恢复

    • 小文件优化
      小文件自动合并,提升读写效率

  2. 安全可靠

    • 加密能力
      提供设备端到端的加密机制,用户自己管理密码并通过密码授权解密,保障运输过程中数据的安全
    • 权限
      用户主动通过RAM授权的方式,允许数据同步到云端用户的存储空间
    • 数据擦除
      数据迁移完毕后,通过阿里云官方数据擦除机制,确保数据不会被第三方获取
  3. 低成本

    单次大容量的离线迁移能力,大幅降低物流成本和网络成本

  4. 可扩展

    单台设备可支持100TB或480TB的迁移能力,可横向扩展,利用多套设备同时迁移PB+级别数据

硬件设备

为数据迁移而生的专业设备,标准机架和电源,可多套同时部署提升迁移效率。
支持的数据源包括:本地文件系统,NAS,HDFS,FastDFS等。

aliyun lighting cube device

客户端

没找到文档介绍“闪电立方”的客户端,从它支持的数据源包括:本地FS,NAS,HDFS,FastDFS等,可以推断出肯定有这样的一个客户端软件。

总结

在海量数据上云面前,离线物理设备迁移是一种很好的解决方案,几大公有云提供商都提供了专门的迁移设备和迁移服务,比较好的会设计专门的硬件设备,简单点的就使用标准的 2.5/3.5 英寸磁盘,但都会考虑数据安全性,这也是客户比较关注的问题。

总结下产品所需的功能如下:

  1. 硬件设备
  2. 客户端软件
  3. 数据加密
  4. 秘钥管理
  5. 数据压缩
  6. 数据校验

自研需求

该产品现在没有开源的解决方案,除了AWS以外,Azure和阿里云都是今年刚推出该服务,我们也只能参考他们的实现来自己研发产品。

硬件设备研发

若要设计研发可以跟友商竞争的硬件设备,包括整套专业硬件设备的研发,难点非常大

难度:★★★★★

客户端软件

客户端软件研发也是重点,需要包括的功能有:

  • 支持哪些数据源?
  • 数据源跟云上产品的映射关系?
  • 数据加密,压缩,一致性校验
  • 秘钥管理

难度:★★★★☆

支持原创