데이터 확인 문제 해결 - AWS DataSync

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 확인 문제 해결

기본적으로 AWS DataSync는 전송 종료 시 데이터 무결성을 확인합니다. 다음 정보를 사용하면 DataSync가 데이터 확인을 완료하기 전에 수정 또는 삭제되는 파일 등의 일반적인 확인 오류 및 경고를 진단하는 데 도움이 됩니다.

확인 문제가 발생하면 표시되는 작업 실행 오류 외에도 CloudWatch Logs(또는 작업 보고서)를 함께 검토하는 것이 종종 도움이 됩니다. DataSync는 확장 모드 작업에는 JSON 정형 로그를 제공하고, 기본 모드 작업에는 비정형 로그를 제공합니다.

파일 콘텐츠 간에 불일치가 있습니다.

작업 실행이 완료되면 다음 오류가 표시됩니다.

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

CloudWatch Logs에서 소스 위치와 대상 위치 간에 콘텐츠가 달라 확인에 실패할 수 있습니다. 전송 중에 파일이 수정되는 경우 이 문제가 발생할 수 있습니다.

예를 들어 다음 로그는 mtime, srcHash, dstHash 값이 서로 다른 file1.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이 두 위치에서 동일하지 않은 경우 이와 같은 확인 실패가 발생합니다. srcHashdstHash가 다르다는 것은 두 위치에서 파일의 내용이 일치하지 않음을 나타냅니다.

취할 조치

해결 방법:

  1. 에포크 시간 변환기를 사용하여 소스 파일, 대상 파일, 객체 중 더 최근에 수정된 항목을 확인합니다. 이는 최신 버전을 식별하는 데 도움이 될 수 있습니다.

  2. 이 오류가 다시 발생하지 않도록 소스 및 대상에 활동이 없는 유지 관리 기간 동안 작업을 실행하도록 예약합니다.

파일의 SMB 메타데이터 간에 불일치가 있습니다.

작업 실행이 완료되면 다음 오류가 표시됩니다.

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

SMB(Server Message Block) 프로토콜을 지원하는 스토리지 시스템 간 전송 시, 파일의 확장 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 파일 시스템의 필수 권한

  • SMB를 사용하는 FSx for ONTAP 파일 시스템의 필수 권한

전송할 파일이 현재 소스 위치에 없음

작업 실행이 완료되면 다음 오류가 표시됩니다.

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.dllfile2.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 Support 센터에 문의하세요.

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 요청으로 인해 DataSync가 file1.png를 읽지 못했음을 확인할 수 있습니다. DataSync는 작업 준비 및 확인 중에 S3 위치에 대해 HeadObject 요청을 수행 합니다.

기본 모드 로그 예시
[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 Support 센터에 문의하세요.