使用日志对通过 Azure 导入/导出服务完成的导入和导出进行故障排除

当 Azure 导入/导出服务为导入或导出作业处理驱动器时,该服务会将复制日志和详细日志写入你使用的存储帐户。 每个驱动器会保存两个日志。

  • 复制日志报告磁盘和 Azure 存储帐户之间所有失败的复制操作的事件。 复制日志以按错误类别分类的错误摘要结尾。

  • 详细日志列出了在每个 blob 和文件上成功的所有复制操作。

找到日志

当你使用导入/导出服务在 Azure Data Box 中创建导入或导出作业时,将查看导入/导出作业以及其他 Data Box 资源。

使用以下步骤找出导入/导出作业的数据副本的状态:

  1. 登录 Azure 门户

  2. 搜索“Azure Data Box”。

    屏幕截图显示如何在 Azure 门户中搜索 Data Box 作业。突出显示了搜索框和选中的 Azure Data Box 服务。

  3. 若要筛选到 Azure 导入/导出作业,请在搜索框中输入“导入/导出”。

    屏幕截图显示如何在 Azure 门户中筛选 Data Box 资源以显示导入/导出作业。突出显示了搜索框。

    页面上随即显示导入/导出作业列表。

    Azure 门户中 Data Box 资源筛选为导入导出作业的屏幕截图。突出显示了作业名称、传输类型、状态和模式。

  4. 通过选择作业名称查看作业详细信息。

    系统已针对每个驱动器现实所选作业的当前订单状态数据复制详细信息

    • 如果你有权访问存储帐户,则可以选择“复制日志路径”或“详细日志路径”来查看日志。

    • 选择一个驱动器 ID 以打开一个包含完整副本信息的面板,包括清单文件和哈希。

    Azure 门户中导入导出作业的概述的屏幕截图。突出显示了订单状态、数据复制状态和驱动器的日志 URL。

复制日志会自动保存。 如果在下订单时选择保存详细日志,你还将看到详细日志的路径。

日志将上传到存储帐户中的容器(用于 blob 导入和导出)或共享(用于导入到 Azure 文件存储)。 容器名为 databoxcopylog。 URL 采用以下格式:

日志类型 URL 格式
复制日志 <storage-account-name>/databoxcopylog/<order-name>_<device-serial-number>_CopyLog_<job-ID>.xml
详细日志 <storage-account-name>/databoxcopylog/<order-name>_<device-serial-number>_VerboseLog_<job-ID>.xml

对于导出作业,还会将清单文件保存到磁盘。

磁盘的每次数据传输都会生成一个复制日志。 如果在创建订单时选择保存详细日志,则同一文件夹中还有一个详细日志。

注意

对于之前的订单,你可能会在存储帐户的 waies 容器中找到错误日志 (_error.xml) 以及详细日志。 错误日志摘要中显示的 DriveLog Version 将为 2018-10-01。 日志格式与本文中描述的不同。

查看导入日志

在导入期间,导入/导出服务会为每个磁盘生成详细日志和复制日志。

详细日志

在下单期间,你可以选择启用详细日志文件。 这是从驱动器成功导入的所有文件的简单列表。 详细日志提供每个文件的以下信息。 详细日志不提供摘要信息。

字段 说明
CloudFormat BlockBlob、PageBlob 或 AzureFile。
路径 存储帐户中文件的路径。
大小 文件或 blob 大小。
crc64 循环冗余校验 64 (CRC64) 校验和,用于在数据传输期间验证数据完整性。

示例详细日志:导入

以下示例详细日志包含块 blob、页 blob 和 Azure 文件存储导入的示例文件条目。

<File CloudFormat="BlockBlob" Path="$root\file26fd6b4bd-25f7-4019-8d0d-baa7355745df.vhd" Size="1024" crc64="14179624636173788226">
</File><File CloudFormat="BlockBlob" Path="$root\file49d220295-9cfd-469e-b69e-5c7c885133df.vhd" Size="1024" crc64="14179624636173788226">
</File>
----------CUT--------------------
<File CloudFormat="AzureFile" Path="e579954d-1f94-40cf-955f-afd39e9ca217\file1876f73ad-6213-43bc-9467-67fe0c794e99.block" Size="1024" crc64="1410470866535975213">
</File><File CloudFormat="AzureFile" Path="05407abe-81c8-4b44-b846-3a2c8c198316\file28d7868be-e6a7-4441-8d09-2b127f7d049e.vhd" Size="1024" crc64="1410470866535975213">
</File><File CloudFormat="AzureFile" Path="eb7666a7-c026-4375-9c08-3dea37a57713\file4448aeaf5-53dc-4bff-b798-4776e367ab5e.vhd" Size="1024" crc64="1410470866535975213">
</File>
----------CUT--------------------
<File CloudFormat="PageBlob" Path="tesdir8b1d0acd-2d37-46dd-96cf-edeb0f772e6b\file1.txt" Size="83886080" crc64="1680234237456714851">
</File><File CloudFormat="PageBlob" Path="tesdirf631630d-8098-4c84-be7b-40f6bbdb73fb\file_size0.txt" Size="0" crc64="0">
</File><File CloudFormat="PageBlob" Path="tesdirf631630d-8098-4c84-be7b-40f6bbdb73fb\Dir1/file_size0.txt" Size="0" crc64="0">
</File>

复制日志

复制日志包含每个导入或导出失败的文件的错误条目,以及错误详细信息。 复制日志以数据传输期间发生的验证和复制错误的摘要结尾。

每个错误条目都包含以下信息。

字段 说明
路径 容器或文件共享中的目标共享。
类别 标识错误类别。 有关详细信息,请参阅数据传输错误
ErrorCode 错误的数值代码。
ErrorMessage 描述错误。

日志末尾的摘要(查找 CopyLog Summary)提供了以下信息:

  • 驱动器日志版本(在本例中为 2021-08-01
  • 驱动器 ID
  • 数据复制状态
  • 按错误类别分类的验证错误摘要
  • 按错误类别分类的复制错误摘要

示例复制日志:导入

以下示例是导入到 Azure 文件存储和 Azure Blob 存储的复制日志。

此副本失败,没有验证错误,但有三个复制错误。 一个文件共享被重命名(ShareRenamed 错误),两个容器被重命名(ContainerRenamed 错误)。 错误条目提供了原始文件名和新文件名。

<ErroredEntity Path="New Folder">
  <Category>ShareRenamed</Category>
  <ErrorCode>1</ErrorCode>
  <ErrorMessage>The original container/share/Blob has been renamed to: DataBox-f55763d4-8ef7-458f-b029-f36b51ada34f :from: New Folder :because either name has invalid character(s) or length is not supported</ErrorMessage>
  <Type>Container</Type>
</ErroredEntity>
<ErroredEntity Path="CV">
  <Category>ContainerRenamed</Category>
  <ErrorCode>1</ErrorCode>
  <ErrorMessage>The original container/share/Blob has been renamed to: DataBox-6bcae46f-04c8-4385-8442-3a28b962c930 :from: CV :because either name has invalid character(s) or length is not supported</ErrorMessage>
  <Type>Container</Type>
</ErroredEntity><ErroredEntity Path="New_ShareFolder">
  <Category>ContainerRenamed</Category>
  <ErrorCode>1</ErrorCode>
  <ErrorMessage>The original container/share/Blob has been renamed to: DataBox-96d8e2ee-ffd4-4529-9ec0-f666674b70d9 :from: New_ShareFolder :because either name has invalid character(s) or length is not supported</ErrorMessage>
  <Type>Container</Type>
</ErroredEntity>
<CopyLog Summary="Summary">
  <DriveLogVersion>2021-08-01</DriveLogVersion>
  <DriveId>72a1914a-7fb2-4e34-a135-5c7176c3ee41</DriveId>
  <Status>Failed</Status>
  <TotalFiles_Blobs>60</TotalFiles_Blobs>
  <FilesErrored>0</FilesErrored>
  <Summary>
    <ValidationErrors>
      <None Count="3" />
    </ValidationErrors>
    <CopyErrors>
      <ShareRenamed Count="1" Description="Renamed the share as the original share name does not follow Azure conventions." />
      <ContainerRenamed Count="2" Description="Renamed the container as the original container name does not follow Azure conventions." />
    </CopyErrors>
  </Summary>
</CopyLog>

查看导出日志

在导出期间,导入/导出服务会为从 Azure 存储到磁盘的每个数据传输生成详细日志和复制日志。 还有一个清单文件,它保存到磁盘中。

详细日志

导出的详细日志是从 Azure 存储帐户成功导出到驱动器的所有文件的简单列表。 详细日志提供每个文件的以下信息。 详细日志不提供摘要信息。

字段 说明
CloudFormat BlockBlob、PageBlob 或 AzureFile。
ETag 资源的实体标签(ETag),用于数据传输过程中的并发检查。
路径 存储帐户中文件的路径。
大小 文件或 blob 大小。
crc64 循环冗余校验 64 (CRC64) 校验和,在将数据导出到磁盘时计算。

示例详细日志:导出

在以下示例详细日志中,导出作业成功地从 Azure Blob 存储传输了三个 blob。

<File CloudFormat="BlockBlob" ETag="0x8D804D87F976907" Path="export-blobs/movie/sc%3Aifi/block.blob" Size="4096" crc64="16033727819182370206">
</File><File CloudFormat="BlockBlob" ETag="0x8D804D889880CC6" Path="export-blobs/movie/sc#Aifi/block.blob" Size="4096" crc64="16033727819182370206">
</File><File CloudFormat="BlockBlob" ETag="0x8D804D8F1BC81C0" Path="export-blobs/@GMT-2001.03.30-14.44.00/block.blob" Size="4096" crc64="16033727819182370206">
</File>

复制日志

导出的复制日志包含未能从 Azure 存储成功传输到磁盘的每个文件的错误条目,以及错误详细信息。 复制日志以数据传输期间发生的验证和复制错误的摘要结尾。

导出的复制日志报告诸如由于驱动器损坏或存储帐户密钥在数据传输期间更改而导致数据传输失败等问题。 有关问题列表,请参阅数据传输错误

示例复制日志:导出

以下示例是导出时遇到三个文件系统错误 (UploadErrorWin32) 的复制日志,这些错误导致三个文件的导出失败。 错误 267 表示目录名称无效。 错误 123 表示文件名、目录名称或卷标签语法不正确。

<ErroredEntity CloudFormat="BlockBlob" Path="export-ut-invaliddirblobpath/movie/sc:Aifi/block.blob">
  <Category>UploadErrorWin32</Category>
  <ETag>0x8D804D8840B92C9</ETag>
  <ErrorCode>267</ErrorCode>
  <ErrorMessage>File Create failed</ErrorMessage>
  <Type>File</Type>
</ErroredEntity><ErroredEntity CloudFormat="BlockBlob" Path="export-ut-invaliddirblobpath/movie/sc-Aifi/block.blob">
  <Category>UploadErrorWin32</Category>
  <ETag>0x8D804D8AD026B2A</ETag>
  <ErrorCode>123</ErrorCode>
  <ErrorMessage>File Create failed</ErrorMessage>
  <Type>File</Type>
</ErroredEntity><ErroredEntity CloudFormat="BlockBlob" Path="export-ut-invaliddirblobpath/movie/sc*Aifi/block.blob">
  <Category>UploadErrorWin32</Category>
  <ETag>0x8D804D8A858F705</ETag>
  <ErrorCode>123</ErrorCode>
  <ErrorMessage>File Create failed</ErrorMessage>
  <Type>File</Type>
</ErroredEntity><CopyLog Summary="Summary">
  <DriveLogVersion>2021-08-01</DriveLogVersion>
  <DriveId>cb57dbe8-0b67-45e0-ad40-a08fb5305c60</DriveId>
  <Status>Failed</Status>
  <TotalFiles_Blobs>9</TotalFiles_Blobs>
  <FilesErrored>6</FilesErrored>
  <Summary>
    <ValidationErrors>
      <None Count="3" />
    </ValidationErrors>
    <CopyErrors>
      <UploadErrorWin32 Count="3" Description="File Create failed because of UploadErrorWin32 exception" />
    </CopyErrors>
  </Summary>
</CopyLog>

数据传输错误

你会在导入作业和/或导出作业的复制日志中发现以下错误。

错误类别 错误消息 导入 导出
UploadErrorWin32 文件系统错误。
UploadErrorCloudHttp 不支持的 blob 类型。 有关此类别中的错误的详细信息,请参阅上传错误的摘要
UploadErrorDataValidationError 数据引入期间计算出的 CRC 与上传期间计算出的 CRC 不匹配。
UploadErrorManagedConversionError 要导入的 Blob 的大小无效。 blob 大小为 <blob-size> 字节。 支持的大小介于 20971520 字节和 8192 GiB 之间。 有关详细信息,请参阅上传错误的摘要
UploadErrorUnknownType 未知错误。
ContainerRenamed 重命名了容器,因为原始容器名称不遵循 Azure 命名约定。 原始容器已从 <原始容器名称> 重命名为 DataBox-<GUID>。
ShareRenamed 重命名了共享,因为原始共享名称不遵循 Azure 命名约定。 原始容器已从 <原始文件夹名称> 重命名为 DataBox-<GUID>。
BlobRenamed 重命名了 blob,因为原始 blob 名称不遵循 Azure 命名约定。 原始 blob 已从 <原始名称> 重命名为 BlockBlob/DataBox-<GUID>。
FileRenamed 重命名了共享,因为原始共享名称不遵循 Azure 命名约定。 原始文件已从 <原始名称> 重命名为 AzureFile/DataBox-<GUID>。
DiskRenamed 重命名了托管磁盘文件,因为原始文件名不遵循 Azure 托管磁盘命名约定。 原始托管磁盘文件已从 <原始名称> 重命名为 ManagedDisk/DataBox-<GUID>。
FileNameTrailsWithSlash blob 名称或文件名以反斜杠结尾。 以反斜杠或正斜杠结尾的 blob 名称或文件名无法导出到磁盘。
ExportCloudHttp 不支持的 blob 类型。

后续步骤