本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對 DataSync 位置的問題進行故障診斷
使用下列資訊來協助您對 AWS DataSync 位置的問題進行疑難排解。其中一些問題可能包括:
-
NFS 位置的許可和掛載錯誤
-
檔案擁有權問題
-
存取使用 Kerberos 身分驗證的 SMB 位置時發生問題
-
物件儲存的許可和存取問題,例如 Amazon S3 和 Microsoft Azure Blob 位置
我的任務失敗,並出現 NFS 許可遭拒錯誤
如果您使用 root_squash
或 設定 NFS 檔案伺服器,all_squash
且您的檔案並非所有檔案都具有讀取存取權,則可能會收到「許可遭拒」錯誤訊息。
採取動作
若要修正此問題,請使用 設定您的 NFS 匯出,no_root_squash
或確定您要傳輸的所有檔案的許可允許所有使用者的讀取存取。
若要讓 DataSync 存取目錄,您還必須啟用所有執行檔存取。為了確保目錄可供掛載,請先連接至與代理程式具有相同網路組態的任何電腦,然後執行下列 CLI 命令:
mount -t nfs -o nfsvers=<
your-nfs-server-version
>
<your-nfs-server-name
>:<nfs-export-path-you-specified
>
<new-test-folder-on-your-computer
>
如果問題仍未解決,請聯絡 AWS 支援 中心
我的任務失敗並出現 NFS 掛載錯誤
執行涉及 NFS 檔案伺服器位置的 DataSync 任務時,您可能會看到下列錯誤:
任務無法存取位置 loc-1111222233334444a:x40016: mount.nfs:連線逾時
要採取的動作
請執行下列動作,直到錯誤解決為止。
-
請確定您在 DataSync 位置中指定的 NFS 檔案伺服器和匯出是有效的。如果不是,請刪除您的位置和任務,然後建立使用有效 NFS 檔案伺服器並匯出的新位置和任務。如需詳細資訊,請參閱使用 DataSync 主控台。
-
檢查您的代理程式和 NFS 檔案伺服器之間的防火牆組態。如需詳細資訊,請參閱 內部部署、自我管理、其他雲端和邊緣儲存的網路需求。
-
請確定您的代理程式可以存取 NFS 檔案伺服器並掛載匯出。如需詳細資訊,請參閱提供對 NFS 檔案伺服器的 DataSync 存取權。
-
如果您仍然看到錯誤,請使用 開啟支援管道 支援。如需詳細資訊,請參閱我不知道客服人員的情況。有人可以協助我嗎?。
我的任務因 Amazon EFS 掛載錯誤而失敗
執行涉及 Amazon EFS 位置的 DataSync 任務時,您可能會看到下列錯誤:
任務無法存取位置 loc-1111222233334444a:x40016:無法連線至 IP 為 的 EFS 掛載目標: 10.10.1
如果您使用位置設定的 Amazon EFS 檔案系統的掛載路徑已更新或刪除,就可能會發生這種情況。DataSync 不知道檔案系統中的這些變更。
採取動作
刪除您的位置和任務,並使用新的掛載路徑建立新的 Amazon EFS 位置。
NFS 傳輸不會維護檔案擁有權
傳輸後,您可能會注意到 DataSync 目的地位置中的檔案具有與來源位置中相同檔案不同的使用者 IDs (UIDs) 或群組 IDs (GIDs)。例如,目的地中的檔案可能具有 65534
、 99
或 的 UIDnobody
。
如果傳輸中涉及的檔案系統使用 NFS 第 4 版 ID 映射,這是 DataSync 不支援的功能,就可能會發生這種情況。
採取動作
您有幾個選項可以解決此問題:
-
為使用 NFS 第 3 版而非第 4 版的檔案系統建立新的位置。
-
在檔案系統上停用 NFS 第 4 版 ID 映射。
重試傳輸。任一選項都應解決問題。
我的任務無法存取使用 Kerberos 的 SMB 位置
使用 Kerberos 身分驗證的 SMB 位置的 DataSync 錯誤通常與位置和 Kerberos 組態之間的不相符有關。也可能發生網路問題。
- 無法存取位置
-
下列錯誤表示您的 SMB 位置或 Kerberos 設定可能有組態問題:
Task failed to access location
驗證下列項目:
-
您為位置指定的 SMB 檔案伺服器是網域名稱。對於 Kerberos,您無法指定檔案伺服器的 IP 地址。
-
您為位置指定的 Kerberos 主體與您用來建立 Kerberos 金鑰資料表 (keytab) 檔案的主體相符。主體名稱區分大小寫。
-
自您建立 keytab 檔案以來,Kerberos 主體的映射使用者密碼尚未變更。如果密碼變更 (因為密碼輪換或其他原因),您的任務執行可能會失敗,並顯示下列錯誤:
任務無法存取位置 loc-1111222233334444a:x40015:kinit:取得初始登入資料時預先驗證失敗
-
- 無法聯絡 KDC 領域
-
下列錯誤表示網路問題:
kinit: Cannot contact any KDC for realm 'MYDOMAIN.ORG' while getting initial credentials"
驗證下列項目:
-
您提供 DataSync 的 Kerberos 組態檔案 (
krb5.conf
) 具有 Kerberos 領域的正確資訊。如需範例krb5.conf
檔案,請參閱 Kerberos 身分驗證先決條件。 -
Kerberos Key Distribution Center (KDC) 伺服器連接埠已開啟。KDC 連接埠通常是 TCP 連接埠 88。
-
您網路上的 DNS 組態。
-
我的任務失敗,出現輸入/輸出錯誤
如果您的儲存系統從 DataSync 代理程式發出 I/O 請求失敗,您可以收到輸入/輸出錯誤訊息。常見的原因包括伺服器磁碟故障、防火牆組態的變更,或網路路由器故障。
如果錯誤涉及 NFS 檔案伺服器或 Hadoop 分散式檔案系統 (HDFS) 叢集,請使用下列步驟來解決錯誤。
要採取的動作 (NFS)
首先,檢查您的 NFS 檔案伺服器的日誌和指標,以判斷問題是否在 NFS 伺服器上啟動。如果是,請解決此問題。
接著,確定網路組態並未變更。若要檢查 NFS 檔案伺服器是否已正確設定,且 DataSync 可以存取它,請執行下列動作:
-
在與 代理程式相同的網路子網路上設定另一個 NFS 用戶端。
-
在該用戶端上掛載共用區。
-
確認用戶端可成功讀取和寫入該共用區。
要採取的動作 (HDFS)
執行下列動作,直到您解決錯誤:
-
請確定您的 HDFS 叢集允許 DataSync 代理程式與叢集的 NameNode 和 DataNode 連接埠通訊。
在大多數叢集中,您可以在下列組態檔案中找到叢集使用的連接埠號碼:
-
若要尋找 NameNode 連接埠,請查看
fs.default
或fs.default.name
屬性下的core-site.xml
檔案 (取決於 Hadoop 分佈)。 -
若要尋找 DataNode 連接埠,請查看
dfs.datanode.address
屬性下的hdfs-site.xml
檔案。
-
-
在您的
hdfs-site.xml
檔案中,確認您的dfs.data.transfer.protection
屬性只有一個值。例如:<property> <name>dfs.data.transfer.protection</name> <value>privacy</value> </property>
錯誤:FsS3UnableToConnectToEndpoint
DataSync 無法連線至您的 Amazon S3 位置。這可能表示位置的 S3 儲存貯體無法連線,或位置未正確設定。
請執行下列動作,直到您解決問題:
-
檢查 DataSync 是否可以存取您的 S3 儲存貯體。
-
使用 DataSync 主控台或 DescribeLocationS3 操作,確保您的位置設定正確。
錯誤:FsS3HeadBucketFailed
DataSync 無法存取您要從中傳輸的 S3 儲存貯體。檢查 DataSync 是否具有使用 Amazon S3 HeadBucket 操作存取儲存貯體的許可。如果您需要調整許可,請參閱 提供對 S3 儲存貯體的 DataSync 存取權。
任務失敗並發生錯誤 Unable to list Azure Blobs on the volume root
如果您的 DataSync 傳輸任務失敗並發生錯誤Unable to list Azure Blobs on the volume root
,則共用存取簽章 (SAS) 字符或Azure儲存帳戶的網路可能會出現問題。
要採取的動作
請嘗試下列動作,並再次執行任務,直到您修正問題為止:
-
請確定您的 SAS 權杖具有存取 的正確許可Microsoft Azure Blob Storage。
-
如果您在 中執行 DataSync 代理程式Azure,請設定您的儲存帳戶,以允許從代理程式所在的虛擬網路進行存取。
-
如果您在 Amazon EC2 上執行代理程式,請設定Azure儲存防火牆以允許從代理程式的公有 IP 地址存取。
如需如何設定Azure儲存帳戶網路的資訊,請參閱 Azure Blob Storage 文件
錯誤:FsAzureBlobVolRootListBlobsFailed
DataSync 用來存取 的共用存取簽章 (SAS) 字符Microsoft Azure Blob Storage沒有清單許可。
若要解決此問題,請使用具有清單許可的權杖更新您的位置,然後再次嘗試執行任務。
錯誤:SrcLocHitAccess
DataSync 無法存取您的來源位置。檢查 DataSync 是否具有存取位置的許可,並再次嘗試執行您的任務。
錯誤:SyncTaskErrorLocationNotAdded
DataSync 無法存取您的位置。檢查 DataSync 是否具有存取位置的許可,並再次嘗試執行您的任務。
具有 S3 來源位置的任務失敗,並顯示 HeadObject
或 GetObjectTagging
錯誤
如果您要從 S3 儲存貯體傳輸具有特定版本 IDs物件,您可能會看到與 HeadObject
或 相關的錯誤GetObjectTagging
。例如,以下是與 相關的錯誤GetObjectTagging
:
[WARN] Failed to read metadata for file
/picture1.png
(versionId:111111
): S3 Get Object Tagging Failed [ERROR] S3 Exception: op=GetObjectTaggingphotos/picture1.png
, code=403, type=15, exception=AccessDenied, msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
如果您看到這些錯誤,請驗證 DataSync 用來存取 S3 來源位置的 IAM 角色具有下列許可:
-
s3:GetObjectVersion
-
s3:GetObjectVersionTagging
如果您需要使用這些許可更新角色,請參閱 為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置。