データ検証に関する問題のトラブルシューティング - AWS DataSync

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データ検証に関する問題のトラブルシューティング

デフォルトでは、 は転送の終了時にデータの AWS DataSync 整合性を検証します。以下の情報は、DataSync がデータの検証を完了する前に変更または削除されるファイルなど、一般的な検証エラーや警告を診断するのに役立ちます。

検証の問題では、表示されるタスク実行エラーに加えて、CloudWatch ログ (またはタスクレポート) を確認するのにも役立ちます。DataSync は拡張モードタスクの JSON 構造化ログを提供し、基本モードタスクには非構造化ログがあります。

ファイルの内容に不一致がある

タスクの実行が完了すると、次のエラーが表示されます。

Transfer and verification completed. Verification detected mismatches. Files with mismatches are listed in Cloud Watch Logs

CloudWatch ログでは、送信元と送信先の場所が異なるコンテンツの検証に失敗したことに気付く場合があります。これは、転送中にファイルが変更された場合に発生する可能性があります。

たとえば、次のログは、 に異なる mtimesrcHash、および dstHashfile1.txtがあることを示しています。

基本モードログの例
[NOTICE] Verification failed <> /directory1/directory2/file1.txt [NOTICE] /directory1/directory2/file1.txt srcMeta: type=R mode=0755 uid=65534 gid=65534 size=534528 atime=1633100003/684349800 mtime=1602647222/222919600 extAttrsHash=0 [NOTICE] srcHash: 0c506c26bd1e43bd3ac346734f1a9c16c4ad100d1b43c2903772ca894fd24e44 [NOTICE] /directory1/directory2/file1.txt dstMeta: type=R mode=0755 uid=65534 gid=65534 size=511001 atime=1633100003/684349800 mtime=1633106855/859227500 extAttrsHash=0 [NOTICE] dstHash: dbd798929f11a7c0201e97f7a61191a83b4e010a449dfc79fbb8233801067c46

DataSync では、 は、準備前にファイルが最後に書き込まれた時刻mtimeを表します。転送を検証する場合、DataSync は送信元と送信先の場所mtimeの値を比較します。このような検証の失敗は、mtimeファイルの が両方の場所で同じでない場合に発生します。srcHash と の違いは、ファイルの内容が両方の場所で一致しないdstHashことを示しています。

実行するアクション

以下の操作を実行します。

  1. エポックタイムコンバーターを使用して、送信元または送信先のファイルまたはオブジェクトが最近変更されたかどうかを判断します。これにより、どのバージョンが最新であるかを特定できます。

  2. このエラーを再度回避するには、ソースと宛先にアクティビティがない場合に、メンテナンスウィンドウ中にタスクを実行するようにスケジュールします。

ファイルの SMB メタデータが一致しません

タスクの実行が完了すると、次のエラーが表示されます。

Transfer and verification completed. Verification detected mismatches. Files with mismatches are listed in Cloud Watch Logs

サーバーメッセージブロック (SMB) プロトコルをサポートするストレージシステム間で転送する場合、ファイルの拡張 SMB 属性が送信元と送信先の間で一致しないと、このエラーが表示されることがあります。

たとえば、次のログは、 の場所間で異なるextAttrsHashfile1.txtを持つ を示しています。これは、ファイルの内容は同じですが、拡張属性が宛先に設定されていないことを示しています。

基本モードログの例
[NOTICE] Verification failed <> /directory1/directory2/file1.txt [NOTICE] /directory1/directory2/file1.txt srcMeta: type=R mode=0755 uid=65534 gid=65534 size=1469752 atime=1631354985/174924200 mtime=1536995541/986211400 extAttrsHash=2272191894 [NOTICE] srcHash: 38571d42b646ac8f4034b7518636b37dd0899c6fc03cdaa8369be6e81a1a2bb5 [NOTICE] /directory1/directory2/file1.txt dstMeta: type=R mode=0755 uid=65534 gid=65534 size=1469752 atime=1631354985/174924200 mtime=1536995541/986211400 extAttrsHash=3051150340 [NOTICE] dstHash: 38571d42b646ac8f4034b7518636b37dd0899c6fc03cdaa8369be6e81a1a2bb5

拡張属性に関連するエラーメッセージが表示される場合もあります。

[ERROR] Deferred error: WriteFileExtAttr2 failed to setextattrlist(filename="/directory1/directory2/file1.txt"): Input/output error
実行するアクション

このエラーは通常、アクセスコントロールリスト (ACLs) を送信先にコピーするアクセス許可が不十分な場合に発生します。この問題を解決するには、送信先タイプに基づいて以下の設定ガイドを確認してください。

転送するファイルがソースロケーションになくなりました

タスクの実行が完了すると、次のエラーが表示されます。

Transfer and verification completed. Selected files transferred except for files skipped due to errors. If no skipped files are listed in Cloud Watch Logs, please contact AWS Support for further assistance.

ログには、ファイルがソースの場所にないことを示すエラーが表示される場合があります。これは、準備後、DataSync がファイル ( file1.dllや などfile2.dll) を転送する前にファイルが削除された場合に発生する可能性があります。

基本モードログの例
[ERROR] Failed to open source file /file1.dll: No such file or directory [ERROR] Failed to open source file /file2.dll: No such file or directory
実行するアクション

このような状況を回避するには、ソースロケーションにアクティビティがない場合にタスクを実行するようにスケジュールします

たとえば、ユーザーとアプリケーションがその場所でアクティブに作業していない場合、メンテナンスウィンドウ中にタスクを実行できます。

場合によっては、このエラーに関連付けられたログが表示されないことがあります。その場合は、 AWS サポート センターにお問い合わせください。

DataSync が送信先データを検証できない

タスクの実行が完了すると、次のエラーが表示されます。

Transfer and verification completed. Verification detected mismatches. Files with mismatches are listed in Cloud Watch Logs

ログで、DataSync が送信先の場所にある特定のフォルダやファイルを検証できないことに気付くかもしれません。これらのエラーは次のようになります。

基本モードログの例
[ERROR] Failed to read metadata for destination file /directory1/directory2/file1.txt: No such file or directory

ファイルの場合、次のような検証エラーが発生することがあります。

基本モードログの例
[NOTICE] Verification failed <> /directory1/directory2/file1.txt [NOTICE] /directory1/directory2/file1.txt srcMeta: type=R mode=0755 uid=65534 gid=65534 size=61533 atime=1633099987/747713800 mtime=1536995631/894267700 extAttrsHash=232104771 [NOTICE] srcHash: 1426fe40f669a7d36cca1b5329983df31a9aeff8eb9fe3ac885f26de2f8fff6b [NOTICE] /directory1/directory2/file1.txt dstMeta: type=R mode=0755 uid=65534 gid=65534 size=0 atime=0/0 mtime=0/0 extAttrsHash=0 [NOTICE] dstHash: 0000000000000000000000000000000000000000000000000000000000000000
実行するアクション

これらのログは、送信先データが転送後、検証前に削除されたことを示します。(ログは、同じ時間枠内にデータがソースの場所にアップロードされると似ています)。

このような状況を回避するには、送信先ロケーションにアクティビティがない場合にタスクを実行するようにスケジュールします

たとえば、ユーザーとアプリケーションがその場所でアクティブに作業していない場合、メンテナンスウィンドウ中にタスクを実行できます。

DataSync はオブジェクトメタデータを読み取れません

タスクの実行が完了すると、次のエラーが表示されます。

Transfer and verification completed. Selected files transferred except for files skipped due to errors. If no skipped files are listed in Cloud Watch Logs, please contact AWS Support for further assistance.

ログで、Amazon S3 HeadObjectリクエストが失敗したfile1.pngために DataSync が読み取れないことに気付くかもしれません。DataSync は、タスクの準備と検証中に S3 ロケーションでHeadObjectリクエストを行います。 S3

基本モードログの例
[WARN] Failed to read metadata for file /file1.png: S3 Head Object Failed
実行するアクション

この問題を修正するには、DataSync に S3 バケットを操作するための適切なレベルのアクセス許可があるかどうかを確認します。

  • DataSync が Amazon S3 ロケーションへのアクセスに使用する IAM ロールで、 アクセスs3:GetObject許可が付与されていることを確認します。詳細については、「必要なアクセス許可」を参照してください。

  • S3 バケットがサーバー側の暗号化を使用している場合は、DataSync がそのバケット内のオブジェクトにアクセスできることを確認してください。詳細については、「サーバー側の暗号化を使用して S3 バケットにアクセスする」を参照してください。

オブジェクトのシステム定義メタデータに不一致がある

S3 バケット間の拡張モードタスクの実行が終了すると、次のエラーが表示されます。

Verification failed due to a difference in metadata

ログで、オブジェクトの Amazon S3 システム定義メタデータの不一致に気付く場合があります。この例では、ソースオブジェクトにはContent-Typeメタデータがありませんが、宛先オブジェクトにはメタデータがあります。これは、DataSync がオブジェクトを転送したときに、送信先 S3 バケットがオブジェクトに"ContentType": "application/octet-stream"メタデータを自動的に適用したためです。

拡張モードログの例
{ "Action": "VERIFY", "Source": { "LocationId": "loc-0b3017fc4ba4a2d8d", "RelativePath": "encoding/content-null", "Metadata": { "Type": "Object", "ContentSize": 24, "LastModified": "2024-12-23T15:48:15Z", "S3": { "SystemMetadata": { "ETag": "\"68b9c323bb846841ee491481f576ed4a\"" }, "UserMetadata": {}, "Tags": {} } } }, "Destination": { "LocationId": "loc-abcdef01234567890", "RelativePath": "encoding/content-null", "Metadata": { "Type": "Object", "ContentSize": 24, "LastModified": "2024-12-23T16:00:03Z", "S3": { "SystemMetadata": { "ContentType": "application/octet-stream", "ETag": "\"68b9c323bb846841ee491481f576ed4a\"" }, "UserMetadata": { "file-mtime": "1734968895000" }, "Tags": {} } } }, "TransferType": "CONTENT_AND_METADATA", "ErrorCode": "MetadataDiffers", "ErrorDetail": "Verification failed due to a difference in metadata" }
実行するアクション

このエラーを回避するには、Content-Typeメタデータプロパティを含めるようにソースロケーションオブジェクトを更新します。

データ検証期間について

DataSync の検証には、ファイルコンテンツの SHA256 チェックサムと、場所間のファイルメタデータの正確な比較が含まれます。検証にかかる時間は、関連するファイルまたはオブジェクトの数、ストレージシステム内のデータのサイズ、これらのシステムのパフォーマンスなど、いくつかの要因によって異なります。

実行するアクション

検証時間に影響を与える可能性のある要因を考慮すると、何もする必要はありません。ただし、タスクの実行が検証ステータスで停止しているように見える場合は、 AWS サポート センターにお問い合わせください。