教程:通过 SMB 从 Azure Data Box 复制数据

本教程介绍如何使用本地 Web UI 连接到 Data Box 并从中将数据复制到本地服务器。 Data Box 设备包含从 Azure 存储帐户导出的数据。

在本教程中,你将了解如何执行以下操作:

  • 先决条件
  • 连接到 Data Box
  • 从 Data Box 复制数据

先决条件

在开始之前,请确保:

  1. 你已订购 Azure Data Box。
  2. 已收到 Data Box,并且门户中的订单状态为“已送达”。
  3. 你有一台主机,需要将数据从 Data Box 复制到其中。 该主机必须
    • 运行支持的操作系统
    • 连接到高速网络。 强烈建议你至少建立一个 10-GbE 连接。 如果 10-GbE 连接不可用,可以使用 1-GbE 数据链路,但复制速度会受影响。

连接到 Data Box

根据选择的存储帐户,Data Box 将会:

  • 为每个关联的 GPv1 和 GPv2 存储帐户最多创建三个共享。
  • 用于高级存储的一个共享。
  • 用于 Blob 存储帐户的一个共享。

在块 blob 和页 blob 共享下,一级实体为容器,二级实体为 blob。 在 Azure 文件共享下,一级实体为共享,二级实体为文件。

下表显示了 Data Box 上共享的 UNC 路径以及上传数据的 Azure 存储路径 URL。 最终的 Azure 存储路径 URL 可以从 UNC 共享路径派生。

Blob 和文件 路径和 URL
Azure 块 Blob
  • UNC 共享路径:\\<DeviceIPAddress>\<StorageAccountName_BlockBlob>\<ContainerName>\files\a.txt
  • Azure 存储 URL:https://<StorageAccountName>.blob.core.chinacloudapi.cn/<ContainerName>/files/a.txt
  • Azure 页 Blob
  • UNC 共享路径:\\<DeviceIPAddres>\<StorageAccountName_PageBlob>\<ContainerName>\files\a.txt
  • Azure 存储 URL:https://<StorageAccountName>.blob.core.chinacloudapi.cn/<ContainerName>/files/a.txt
  • Azure 文件
  • UNC 共享路径:\\<DeviceIPAddres>\<StorageAccountName_AzFile>\<ShareName>\files\a.txt
  • Azure 存储 URL:https://<StorageAccountName>.file.core.chinacloudapi.cn/<ShareName>/files/a.txt
  • 如果使用 Windows Server 主机,请按照以下步骤连接到 Data Box。

    1. 第一步是进行身份验证并启动会话。 转到“连接和复制”。 选择“获取凭据”,获取与存储帐户关联的共享的访问凭据。

      获取共享凭据

    2. 在“访问共享和复制数据”对话框中,复制对应于该共享的“用户名”和“密码”。 选择“确定”。

      获取共享凭据、访问共享并复制数据

    3. 若要从主机访问与存储帐户关联的共享(在以下示例中为“exportbvtdataset2”),请打开命令窗口。 在命令提示符处,键入:

      net use \\<IP address of the device>\<share name> /u:<IP address of the device>\<user name for the share>

      根据数据格式,共享路径如下:

      • Azure 块 blob - \\169.254.143.85\exportbvtdataset2_BlockBlob
      • Azure 页 blob - \\169.254.143.85\exportbvtdataset2_PageBlob
      • Azure 文件 - \\169.254.143.85\exportbvtdataset2_AzFile
    4. 出现提示时,请输入共享的密码。 以下示例演示如何通过前面的命令连接到共享。

      C:\Users\Databoxuser>net use \\169.254.143.85\exportbvtdataset2_BlockBlob /u:169.254.143.85\exportbvtdataset2
      Enter the password for 'exportbvtdataset2' to connect to '169.254.143.85':
      The command completed successfully.
      
    5. 按 Windows+R。在“运行”窗口中指定 \\<device IP address>。 选择“确定”以打开文件资源管理器。

      通过文件资源管理器连接到共享,输入设备 IP

      此时应能看到文件夹形式的共享。

      通过文件资源管理器连接到共享,查看共享

    如果使用 Linux 客户端,请使用以下命令装载 SMB 共享。 下面的“vers”参数是 Linux 主机支持的 SMB 版本。 在下面的命令中插入相应版本。 有关 Data Box 支持的 SMB 版本,请参阅 Linux 客户端支持的文件系统

    sudo mount -t nfs -o vers=2.1 169.254.143.85:/exportbvtdataset2_BlockBlob /home/databoxubuntuhost/databox
    

    从 Data Box 复制数据

    连接到 Data Box 共享后,下一步是复制数据。

    复制数据前的准备工作:

    1. 下载复制日志。 在“连接和复制”页中,选择“复制日志” 。 出现提示时,将日志保存在系统上。

      如果复制日志太大,则需要使用 Azure 存储资源管理器AzCopy 来下载复制日志,防止出现任何故障。

      • 如果使用 Azure 存储资源管理器下载复制日志,可以在 Azure 存储资源管理器中映射 Azure 存储帐户,然后下载原始文件。
      • 如果使用 AzCopy 下载复制日志,可以使用 AzCopy copy 命令将日志文件从存储帐户复制到本地系统。

      下载复制日志 1

      重复上述步骤,下载详细日志。

    2. 查看详细日志。 详细日志包含从 Azure 存储帐户成功导出的所有文件的列表。 该日志还包含文件大小和校验和计算。

      <File CloudFormat="BlockBlob" Path="validblobdata/test1.2.3.4" Size="1024" crc64="7573843669953104266">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/helloEndWithDot..txt" Size="11" crc64="7320094093915972193">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/test..txt" Size="12" crc64="17906086011702236012">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/test1" Size="1024" crc64="7573843669953104266">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/test1.2.3" Size="1024" crc64="7573843669953104266">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/.......txt" Size="11" crc64="7320094093915972193">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/copylogb08fa3095564421bb550d775fff143ed====..txt" Size="53638" crc64="1147139997367113454">
      </File><File CloudFormat="BlockBlob" Path="validblobdata/testmaxChars-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-123456790-12345679" Size="1024" crc64="7573843669953104266">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file0" Size="0" crc64="0">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file1" Size="0" crc64="0">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file4096_000001" Size="4096" crc64="16969371397892565512">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file4096_000000" Size="4096" crc64="16969371397892565512">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/64KB-Seed10.dat" Size="65536" crc64="10746682179555216785">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/LiveSiteReport_Oct.xlsx" Size="7028" crc64="6103506546789189963">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/NE_Oct_GeoReport.xlsx" Size="103197" crc64="13305485882546035852">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/64KB-Seed1.dat" Size="65536" crc64="3140622834011462581">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/1mbfiles-0-0" Size="1048576" crc64="16086591317856295272">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file524288_000001" Size="524288" crc64="8908547729214703832">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/4mbfiles-0-0" Size="4194304" crc64="1339017920798612765">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/file524288_000000" Size="524288" crc64="8908547729214703832">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/8mbfiles-0-1" Size="8388608" crc64="3963298606737216548">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/1mbfiles-0-1" Size="1048576" crc64="11061759121415905887">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/XLS-10MB.xls" Size="1199104" crc64="2218419493992437463">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/8mbfiles-0-0" Size="8388608" crc64="1072783424245035917">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/4mbfiles-0-1" Size="4194304" crc64="9991307204216370812">
      </File><File CloudFormat="BlockBlob" Path="export-ut-container/VL_Piracy_Negtive10_TPNameAndGCS.xlsx" Size="12398699" crc64="13526033021067702820">
      </File>
      
    3. 检查复制日志是否有任何错误。 此日志指示由于错误无法复制的文件。

      下面是以下情况的复制日志的示例输出:在数据复制过程中没有出现任何错误且所有文件已从 Azure 复制到了 Data Box。

      <CopyLog Summary="Summary">
        <Status>Succeeded</Status>
        <TotalFiles_Blobs>5521</TotalFiles_Blobs>
        <FilesErrored>0</FilesErrored>
      </CopyLog>
      

      下面是在复制日志包含错误且某些文件未能从 Azure 复制时的示例输出。

      <ErroredEntity CloudFormat="AppendBlob" Path="export-ut-appendblob/wastorage.v140.3.0.2.nupkg">
        <Category>UploadErrorCloudHttp</Category>
        <ErrorCode>400</ErrorCode>
        <ErrorMessage>UnsupportBlobType</ErrorMessage>
        <Type>File</Type>
      </ErroredEntity><ErroredEntity CloudFormat="AppendBlob" Path="export-ut-appendblob/xunit.console.Primary_2020-05-07_03-54-42-PM_27444.hcsml">
        <Category>UploadErrorCloudHttp</Category>
        <ErrorCode>400</ErrorCode>
        <ErrorMessage>UnsupportBlobType</ErrorMessage>
        <Type>File</Type>
      </ErroredEntity><ErroredEntity CloudFormat="AppendBlob" Path="export-ut-appendblob/xunit.console.Primary_2020-05-07_03-54-42-PM_27444 (1).hcsml">
        <Category>UploadErrorCloudHttp</Category>
        <ErrorCode>400</ErrorCode>
        <ErrorMessage>UnsupportBlobType</ErrorMessage>
        <Type>File</Type>
      </ErroredEntity><CopyLog Summary="Summary">
        <Status>Failed</Status>
        <TotalFiles_Blobs>4</TotalFiles_Blobs>
        <FilesErrored>3</FilesErrored>
      </CopyLog>    
      

      你可以使用以下选项导出这些文件:

      • 你可以传输无法通过网络复制的文件。
      • 如果数据大小大于可用设备容量,则会发生部分复制,且未复制的所有文件都将在此日志中列出。 你可以将此日志用作输入 XML 来创建新的 Data Box 订单,然后复制这些文件。

    连接到 SMB 共享后,开始数据复制。 可以使用与 SMB 兼容的任何文件复制工具(例如 Robocopy)复制数据。 可以使用 Robocopy 启动多个复制作业。

    有关 Robocopy 命令的详细信息,请转到 Robocopy 和几个示例

    复制完成后,转到“仪表板”,检查设备上的已用空间和可用空间。

    现在,你可以继续将 Data Box 交付到 Microsoft。

    后续步骤

    本教程介绍了有关 Azure Data Box 的主题,例如:

    • 先决条件
    • 连接到 Data Box
    • 从 Data Box 复制数据

    请继续学习下一篇教程,了解如何将 Data Box 寄回 Microsoft。