分享

转移资料至Microsoft Azure的步骤详解

desehawk 发表于 2015-3-23 21:17:54 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 2 14234

问题导读



1.Microsoft Azure 档案服务是什么?
2.有几种迁移数据到 Azure 档案服务?

3.从 Azure Blob 搬资料到 Azure 档案服务最快是什么方法?







Microsoft Azure 档案服务是一个以云端平台为基础的档案服务,并且提供 SMB2.1 协议,让使用者能透过云端分享档案。在 Azure 上的应用程序现在可以很轻易地在虚拟机间、使用熟悉的文件系统 API 如:ReadFile 及 WriteFile 来分享档案。除此之外,这些档案也可以透过 REST API 的方式来存取,使其应用情境更多元。如同现有的其它存储器服务如:Blob, Table, Queue Services 等一样,Azure 档案服务一样有可延展性、高可靠度、地理复本备援等云端平台的特性。

1-140H51Q644.jpg

移转资料

当您开始使用 Azure 档案服务,你可能会需要搬移大量的既有数据到 Azure 档案服务中,搬移的方式有很多种,这取决于您的数据放在哪里,这篇文章接下来会介绍几种方式,并且介绍如何获取最大的效能。

1. 透过因特网将既有机房的档案搬上 Azure

您可以使用 Microsoft Azure 提供的 AzCopy 工具来复制档案,AzCopy 优化了复制档案的操作以达到最好的效能(例如:平行上传、多线程、正确处理流量传输等等)。

AzCopy 的命令行操作格式如下:

AzCopy <source path> <destination URL> [optional filespec] /S /DestKey:<YourKey>
参数

source path 是要复制的档案路径

destination URL 指的是要复制的目标目录 URL

filespec 可以是任何档案筛选条件 (预设是 *.*)

YourKey 是你存储器账户的密钥

/S 是一个选项用来复制整个目录、包含子目录的内容

AzCopy 还有很多其它的命令行参数,您可以根据您的需求来选择使用,关于 AzCopy 的详情可以参考这篇部落格文章。

底下是一个范例,是将 e:\data 目录下的内容复制到 Azure 档案服务:

AzCopy c:\data https://myaccount.file.core.windows.net/myshare *.* /S /DestKey:myStorageAccountKey

2. 从 Azure IaaS 虚拟机磁盘到 Azure 档案服务

使用 Azure 虚拟机来做文件服务器的人来说,Azure 档案服务应该是非常有吸引力的,因为如此一来就不必再自己管理文件服务器了。

要将档案移转到 Azure 档案服务,需要:

在虚拟机中连接磁盘驱动器
挂载 Azure 档案服务
使用 robocopy 来复制档案
Robocopy 是 Windows 上免费且强大的复制工具,用来处理大档案的复制。

命令行工具的格式如下:

Robocopy <source path> <dest path> [optional filespec] /MIR /MT:16
参数为:

source path 是要复制的档案路径

dest path 指的是要复制的目标目录路径

filespec 可以是任何档案筛选条件 (预设是 *.*)

MT 是使用的线程数量

当使用 robocopy 时,您可以使用 "/mt" 参数来增加工作效率,它让你可以使用多线程来处理档案的复制,并且控制 IO 处理的队列深度。如果线程数目太少,则可能会无法填满队列,但却可以利用到 Azure 存储器的平行架构;而要是线程数目太多,可能会有服务器端传输切换过于频繁而反而造成传输效能降低的问题。在我们的测试之下,最好的线程数目是在 16 ~ 32 之间可取得最大的效能。

要避免的方法

我们发现虽然可以使用 xcopy 或是档案总管来处理大档案的复制到 Azure 档案服务,而且在 NTFS 的文件系统下表现良好,但是这些工具缺乏足够的平行处理能力,由于 Azure 档案服务提供了高平行化的 I/O 处理,所以使用像 robocopy 这样的工具,并搭配多线程的处理将可以得到更好的传输效能,以节省数据传输的时间。

3. 从 Azure Blob 到 Azure 档案服务

从 Azure Blob 搬资料到 Azure 档案服务最快的方法就是使用 AzCopy,你可以在与 Azure 档案服务相同的数据中心上建一个虚拟机来做复制的操作。

底下是一个从 Azure Blob 传数据到 Azure 档案服务的指令操作:

AzCopy https://myaccount1.blob.core.windows.net/mycontainer z:\mydirectory *.* /SourceKey:myStorageAccountKey
(在这里我们假设 Azure 档案服务连接到 Z 磁盘驱动器)

在这个方法之下,数据会先下载到虚拟机后,再上传到 Azure 档案服务中。

4. 从 Cloud Drive 到 Azure 磁盘

Cloud Drive 在 2010 年时预览释出,它让用户可以使用 Azure 云端服务来挂载一个 page blob 作为 Web 或 Worker role 的磁盘驱动器。在 Azure 档案服务释出后,几乎可以取代所有 Cloud Drive 的应用情境,而且还有更好的功能及效能。同时,Cloud Drive 将在 2015 年停止服务,所以我们建议使用 Cloud Drive 的用户可以移转数据到 Azure 档案服务上。搬移的方法与使用 VHDs 来从 Azure 虚拟机中搬数据类似。

使用 Cloud Drive 挂载一个 blob
在虚拟机中,将 Azure 档案服务挂载为一个磁盘驱动器。(可参考这篇部落格文章)
使用 Robocopy 来复制档案。
我们希望这些方法都能帮助您将数据迁移到 Azure 档案服务上,并且提供您新的应用情境来满足您的商务需求。




已有(2)人评论

跳转到指定楼层
tempmail 发表于 2015-3-24 11:52:26

支持下,支持楼主
回复

使用道具 举报

ainubis 发表于 2015-4-1 00:53:02
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条