再来谈一谈Azure storage的数据迁移问题,当我们需要把数据迁移到storage的时候,我们其实有很多种方式可以选择,每种方式适用的场景是不一样的,总结起来的话可以分为以下这些


        网络传输


    • 图形化界面

    • AzCopy

    • PowerShell

    • CLI

    • SDK 

    • Azure Data Factory


        物理传输


    • Azure Import/Export

    • Azure Databox


    我们可以选择的方式不少,但是具体哪种合适,还是要case by case来看

    首先,网络传输一个最大的弊端就是速度较慢,稳定性差,如果我们有大规模的数据需要传输到云上的话(比如10T+),建议最好不要使用网络传输,速度不可控,对带宽依赖性非常强,并且还有传输中断的风险,对于这种大规模数据,更推荐使用Azure import/Export这种物理方式进行传输,直接把数据拷贝到硬盘里,加密之后直接寄送到数据中心,速度绝对是要快得多的


    其次,如果数据量比较少的话,那么网络传输比物理传输优势会更明显,在这么多种网络传输的方案里,更推荐使用azcopy,azcopy出来的时间已经很久了,目前经过一个大版本的更新后,现在最新版是azcopy v10,v10的使用比以前要更简单,还能支持使用Azure AD进行身份验证



    Global有一张图其实可以很好地指引我们如何选择数据传输的方式

    Azure Storage系列之数据迁移_第1张图片



    当然,除此之外其实还有一些第三方产品也可以使用,比如cloudberry,不过这种产品很多都是付费的,有兴趣的可以试下


    接下来,我们会重点介绍下AzCopy的使用,AzCopy v10和以前相比一个很大的不同是它不需要安装,它只是一个可执行文件,所以只需要拷贝到服务器上就可以运行

    AzCopy v10的下载地址如下:

    https://aka.ms/downloadazcopy-v10-windows


    使用这个地址每次下载到的都会是最新版本的azcopy

    如果说我们想下载固定版本的azcopy的话,可以首先获取azcopy的固定url,每次下载时使用此url进行下载即可

    在Windows 10上可以直接用curl获取相关的信息

    (curl https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction silentlycontinue).RawContent

    Azure Storage系列之数据迁移_第2张图片


    下载完成后,即可看到azcopy的真容

    Azure Storage系列之数据迁移_第3张图片


    在进行数据的拷贝之前,我们先了解下azcopy进行身份验证的方式。总体来说,azcopy支持两种身份验证方式,Azure AD和SAS,这和以前版本的azcopy是完全不一样的,以前的azcopy是直接用storage的key来做身份验证的,但是azcopy v10里更推荐的是使用SAS和Azure AD

    

存储类型 支持的授权方法
Blob存储 Azure AD & SAS
Blob存储(分层命名空间) Azure AD & SAS
文件存储 SAS


    我们可以用AzCopy完成很多数据拷贝的任务,涵盖多种场景,功能非常强大,接下来我们就准备拿实际的案例来说明下到底什么时候最应该用azcopy以及azcopy到底怎么用

    1.本地文件/文件夹->storage

    2.storage->本地文件/文件夹

    3.storage->storage

    4.S3->storage