再来谈一谈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有一张图其实可以很好地指引我们如何选择数据传输的方式
当然,除此之外其实还有一些第三方产品也可以使用,比如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
下载完成后,即可看到azcopy的真容
在进行数据的拷贝之前,我们先了解下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