使用日志排查 Azure Data Box Disk 中的上传问题

本文介绍使用 Azure Data Box Disk 将数据上传 Azure 数据中心时遇到的问题。

关于上传日志

将 Data Box Disk 中的数据上传到 Azure 数据中心时,将为每个存储帐户生成复制/错误日志和详细日志。 这些日志将上传到用于上传数据的同一个存储帐户。

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

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

找到日志

要从数据上传中查找日志,请执行以下步骤。

  1. Azure 门户中打开订单。

  2. 当每个磁盘的数据上传完成后,“概述”窗格将显示磁盘状态和磁盘诊断日志的路径。

    • 对于新订单,磁盘详细信息如以下屏幕中所示。 复制日志会自动保存。 如果在下订单时选择保存详细日志,你还将看到详细日志的路径。

      Screenshot of the Overview pane for a Data Box Disk order with Copy Completed With Warnings status. A Copy Log Path and Verbose Log Path are highlighted.

      日志将上传到存储帐户中的容器(用于 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
    • 对于之前的订单,显示内容可能如以下屏幕中所示。

      如果在将数据上传到 Azure 时出现任何错误,“复制日志”会显示诊断日志所在的文件夹的路径。

      Screenshot of the Overview pane for an earlier Data Box Disk order with completed copies. The Copy Log Paths are highlighted.

      将日志上传到存储帐户中的 waies 容器。 URL 采用以下格式:

      日志类型 URL 格式
      错误日志 (error log) <storage-account-name>/databoxlogs-<order-name>/waies/ri-<order-name>-guid_<drive-ID>_<timestamp>_error.xml
      详细日志 <storage-account-name>/databoxlogs-<order-name>/waies/ri-<order-name>-guid_<drive-ID>_<timestamp>_verbose.xml

    注意

    databoxcopylog 容器中的日志的格式与 waies 容器中的日志的格式不同。 如需帮助解释日志,请使用相关驱动器日志版本的说明。 有关详细信息,请参阅标识日志版本

  3. 若要查看日志,请打开将日志存储在存储帐户中的容器。 下图显示了 waies 容器中的日志。

    Screenshot of error logs and verbose logs in a storage account for an Azure Data Box Disk order. The logs in the W-A-I-E-S containers are highlighted.

  4. 选择每个日志并下载本地副本。

标识日志版本

复制/错误日志和详细日志有两个版本,其格式各不不同。 将在后面部分中单独讨论日志版本。

除了详细日志,你还会看到复制日志 (_copy.xml) 或错误日志 (_error.xml),具体取决于驱动器版本。

要了解复制/错误日志和随附的详细日志的日志版本,请检查复制/错误日志中的驱动器日志版本。

日志文件名称 字段 驱动器日志版本
_copy.xml DriveLogVersion 2021-08-01
_error.xml DriveLog 版本 2018-10-01

下图显示了复制日志摘要部分中的 DriveLogVersion

Illustration of the Summary section of a copy log for a Data Box Disk order. The Drive Log Version is highlighted.

示例上传日志

对于这两个日志版本,复制/错误日志和详细日志的日志格式各不相同。 如果不确定你拥有哪个版本的日志,请参阅识别日志版本

磁盘的每次数据传输都会生成一个复制日志。 如果你在下单时选择了保存详细日志,则同一文件夹中也会包含详细日志。

详细日志

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

字段 说明
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>

复制日志

复制日志为每个无法导入的文件包含一个错误条目,其中包含错误详细信息。 复制日志以导入过程中发生的验证和复制错误的摘要结尾。

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

字段 说明
路径 容器或文件共享中的目标共享。
类别 15 个错误类别之一。 有关详细信息,请参阅日志版本 2021-08-01 的数据上传错误
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>

数据上传错误

在这两个日志版本中,日志中报告的错误略有不同。 如果不确定你拥有哪个版本的日志,请参阅识别日志版本

下面描述了在 2018-10-01 复制日志中发现的错误。

错误类别 说明
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 命名约定。 原始 blob 已从 <原始名称> 重命名为 AzureFile/DataBox-<GUID>。
DiskRenamed 重命名托管磁盘文件,因为原始文件名不符合 Azure 命名约定。 原始托管磁盘文件已从 <原始名称> 重命名为 ManagedDisk/DataBox-<GUID>。
ExportCloudHttp 不支持的 blob 类型。