

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

# データ検証に関する問題のトラブルシューティング
<a name="troubleshooting-task-verification"></a>

デフォルトでは、 は転送の終了時にデータの AWS DataSync [整合性を検証](how-datasync-transfer-works.md#how-verifying-works)します。DataSync がデータの検証を完了する前に変更または削除されるファイルなど、一般的な検証エラーや警告を診断するには、次の情報を使用します。

検証に関する問題では、表示されるタスク実行エラーに加えて、[CloudWatch ログ](configure-logging.md) (または[タスクレポート](task-reports.md)) を確認することが有益です。DataSync の拡張モードタスクでは JSON 構造化ログが提供されるのに対し、基本モードタスクでは非構造化ログが提供されます。

## ファイルの内容に不一致がある
<a name="troubleshooting-mismatch-file-contents"></a>

タスク実行が終了したときに、次のエラーが表示されます。

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

CloudWatch ログを確認すると、送信元と送信先のロケーションで内容が異なるために検証に失敗したログが見つかるはずです。これは、転送中にファイルが変更された場合に発生する可能性があります。

例えば、次のログは、`file1.txt` に異なる `mtime`、`srcHash`、および `dstHash` 値があることを示しています。

**基本モードのログの例**  

```
[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` は[準備](how-datasync-transfer-works.md#how-datasync-prepares)前にファイルに最後に書き込みが行われた時刻を表します。転送を検証する場合、DataSync は送信元と送信先のロケーションの `mtime` の値を比較します。このような検証の失敗は、ファイルの `mtime` が両方のロケーションで同じでない場合に発生します。`srcHash` と `dstHash` の違いは、ファイルの内容が両方のロケーションで一致しないことを示しています。

**実行するアクション**  
以下の操作を実行します。

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

1. このエラーが再発しないようにするには、メンテナンス期間中、送信元と送信先でアクティビティがないときに実行するように[タスクをスケジュール](task-scheduling.md)します。

## ファイルの SMB メタデータに不一致がある
<a name="troubleshooting-mismatch-smb-attributes"></a>

タスク実行が終了したときに、次のエラーが表示されます。

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

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

例えば、次のログは、`file1.txt` がロケーション間で異なる `extAttrsHash` 値を持つことを示しています。これは、ファイルの内容は一致するものの、送信先で拡張属性が設定されていないことを表します。

**基本モードのログの例**  

```
[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
```

**実行するアクション**  
このエラーは通常、アクセスコントロールリスト (ACL) を送信先にコピーするためのアクセス許可が不十分な場合に発生します。この問題を解決するには、送信先タイプに基づいて以下の設定ガイドを確認してください。
+ FSx for Windows File Server ファイルシステムで[必要なアクセス許可](create-fsx-location.md#create-fsx-windows-location-permissions)
+ SMB を使用する FSx for ONTAP ファイルシステムで[必要なアクセス許可](create-ontap-location.md#create-ontap-location-smb)

## 転送するファイルがソースロケーションにない
<a name="source-files-deleted-preparation"></a>

タスク実行が終了したときに、次のエラーが表示されます。

```
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 が[準備](how-datasync-transfer-works.md#how-datasync-prepares)を完了した後、ファイルを転送する前にファイル (`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
```

**実行するアクション**  
このような状況を回避するには、ソースロケーションにアクティビティがないときに実行するように[タスクをスケジュールします](task-scheduling.md)。

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

場合によっては、このエラーに関連付けられたログが見つからないことがあります。その場合は、[AWS サポート センター](https://console.aws.amazon.com/support/home#/)にお問い合わせください。

## DataSync が送信先のデータを検証できない
<a name="troubleshooting-cant-verify-destination"></a>

タスク実行が終了したときに、次のエラーが表示されます。

```
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
```

**実行するアクション**  
これらのログは、転送後、検証前に送信先のデータが削除されたことを示します (ログは、同じ時間枠内にデータが送信元ロケーションにアップロードされた場合と同じようになります)。

このような状況を回避するには、送信先ロケーションにアクティビティがないときに実行するように[タスクをスケジュールします](task-scheduling.md)。

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

## DataSync がオブジェクトのメタデータを読み取れない
<a name="troubleshooting-cant-read-object-metadata"></a>

タスク実行が終了したときに、次のエラーが表示されます。

```
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` リクエストが失敗したために DataSync が `file1.png` を読み取れないことを示すログが見つかるはずです。DataSync は、タスクの準備中および検証中に S3 ロケーションで [`HeadObject` リクエストを行います](create-s3-location.md#create-s3-location-s3-requests-made)。

**基本モードのログの例**  

```
[WARN] Failed to read metadata for file /file1.png: S3 Head Object Failed
```

**実行するアクション**  
この問題を修正するには、DataSync に S3 バケットを操作するための適切なレベルのアクセス許可があるかどうかを確認します。
+ DataSync が Amazon S3 ロケーションにアクセスするために使用する IAM ロールで、`s3:GetObject` アクセス許可が付与されていることを確認します。詳細については、「[必要なアクセス許可](create-s3-location.md#create-s3-location-required-permissions)」を参照してください。
+ S3 バケットがサーバー側の暗号化を使用している場合は、DataSync がそのバケット内のオブジェクトにアクセスできることを確認してください。詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。

## オブジェクトのシステム定義メタデータに不一致がある
<a name="troubleshooting-verification-object-system-metadata"></a>

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

```
Verification failed due to a difference in metadata
```

オブジェクトの Amazon S3 [システム定義メタデータ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#SysMetadata)の不一致を示すログが見つかるはずです。この例では、送信元のオブジェクトには `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` メタデータプロパティを追加します。

## データの検証期間について
<a name="verifying-status-too-long"></a>

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

**実行するアクション**  
検証時間に影響を与える可能性のある要因を考慮すると、何もする必要はありません。ただし、タスクの実行が[検証中](run-task.md#understand-task-execution-statuses)ステータスでスタックしているように見える場合は、[AWS サポート センター](https://console.aws.amazon.com/support/home#/)にお問い合わせください。