业务迁移到BOS最佳实践

场景概述

针对客户业务从其它对象存储平台或HTTP服务站点迁移到百度对象存储(BOS)的场景,为保证整个迁移过程尽可能让业务无感,百度智能云提供了一整套完善的在线切换方案。在数据一致性及无缝切换的前提下,尽量减少网络传输带来的额外开销。

业务数据分为存量数据和增量数据两部分。这两种数据建议采用不同的方式来传输,才能保证最小化客户的切换时间。下面就对两种数据的迁移方式做详细说明。

存量数据

存量数据的数据量一般较大,迁移需要较长的时间,但特点是数据基本固定,再修改的概率不大。我们支持以下三种方式来解决迁移的问题:

  • 第三方数据拉取:如果存量数据是放在第三方云存储(如阿里云OSS,腾讯云COS、七牛云)上,可以使用第三方数据拉取的方案进行存量数据迁移。
  • 本地数据在线传输:解决本地数据上云问题,适用于客户本地网络条件较好(带宽充裕)的情况。
  • 本地数据离线传输:解决本地数据上云问题,适用于网络条件较差(带宽小、网络不稳定)的场景。

第三方数据拉取

存量数据量如果直接从其他云平台拉取,必然会产生流出的带宽费用。鉴于走CDN的带宽成本一般比直接从对象存储源站拉取低,因此通常建议数据源最好走CDN来拉取。 以2017/5/23日各官网数据计算在线拉取10T带宽数据成本,详细数据如下:

源端平台 直接源站 (元) CDN拉取 (元) [命中率90%计算]
阿里云OSS 5120 3236
腾讯云COS 6014 3388
七牛 - 2970

百度智能云支持从HTTP接口批量获取的方式来迁移。第三方数据拉取工具是分布式的,因此可以很方便的提高迁移效率,而且自带校验机制,免去了客户需要反复比对的工作。如果您对该方案感兴趣,请通过工单联系我们。

本地数据在线传输

本地数据在线传输和离线传输都是用来解决本地数据上云问题的。前一个方案适用于客户本地网络条件较好(带宽充裕)的情况,后一个方案适用于网络条件较差(带宽小、网络不稳定)的场景。

简单的判定原则是:如果您使用网络传输数据耗时超过一周,则使用离线传输方案。下表中,按照不同的可用网络传输带宽,我们计算了传输100TB数据所需的时间,并针对不同带宽给出了推荐方案。例如,如果您的可用网络出口带宽是100Mbps,那么如果数据量大于5TB,我们推荐您使用离线传输方案。

可用网络带宽 传输100TB数据时间(80%网络使用率) 推荐使用数据导入服务的数据容量
10Mps 1203天 >500GB
100Mbps 120天 >5TB
1000Mbps 12天 >50TB

本地数据在线传输主要通过BOS CLI实现。BOS CLI(Command Line Interface)工具是BOS提供的命令行工具,基于BOS Python SDK实现,方便用户对BOS资源进行各种操作和管理。BOS CLI支持sync功能,可以很方便地通过Internet把本地数据同步到云端。如果数据之前同步过,下次执行SYNC命令就只会同步新增或者变更的文件。

您可以在已安装了BOS CLI的机器上执行$ bce bos sync <local_path_to_dir> bos:/<bucket_name>/[prefix] [--delete] [--quiet] [--dryrun]命令,其中local_path_to_dir为本地上传文件的目录。

示例

将本地sample文件夹中的所有文件上传到bos:/bce-test/的Bucket下的test目录中。

操作示例: bce bos sync ./sample/ bos:/bce-test/test

返回示例:

Upload: sample/BOS_Batch_Delete.png to bos:/bce-test/test/BOS_Batch_Delete.png
Upload: sample/sample.log to bos:/bce-test/test/sample.log

执行完成后sample文件夹下的所有文件会被上传到bos:/bce-test/test/下,可以通过Console控制台或者命令行bce bos ls bos:/bce-test/test/查看上传结果。

本地数据离线传输

如果客户侧的网络环境不好(带宽小、网络不稳定),且带宽成本非常昂贵时,在有限的带宽下进行传输,速度也不是特别理想,则推荐本地数据离线传输方案。

离线传输即数据导入服务是一种TB级数据传输解决方案,它使用存储设备在百度智能云和客户之间传输大量数据。数据导入服务解决了大规模数据传输的难题,包括高昂网络成本、较长传输时间和安全等问题,且具有简单、快速、安全、成本低的优点。

使用离线传输前,请先通过工单或者客户经理联系我们。目前离线传输仅支持客户自己提供硬盘。您把数据拷贝到硬盘上后,请把硬盘寄送到下面地址:

地址 北京市通州区光电一体化基地兴光二街甲2号
电话 010-80823088/18611817954
联系人 CQ02机房

硬盘寄回的地址,可以联系客户经理告知我们的接口人。硬盘寄送请选择保价,邮费请自负,寄回去时也会选择到付。北京同城1天,异地一般2天内可达。硬盘寄回之前,按照百度安全要求会统一清空硬盘,请关注。

增量数据

针对增量数据,BOS支持通过镜像回源的方式实现切换。即当源站切换到BOS后,在BOS上访问不到的文件,会自动去源站拉取并保存到BOS中,不需要用户做操作。

镜像回源的设置请参见下图:

image.png

您也可以通过BOS CLI进行增量数据同步:

在已安装了BOS CLI的机器上执行$ bce bos sync <local_path_to_dir> bos:/<bucket_name>/[prefix] [--delete] [--quiet] [--dryrun]命令,其中local_path_to_dir为本地上传文件的目录。