故障診斷:檔案閘道問題 - AWS Storage Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

故障診斷:檔案閘道問題

您可以設定檔案閘道,將日誌項目寫入 Amazon CloudWatch 日誌群組。如果您這麼做,您會收到有關閘道運作狀態和閘道遇到之任何錯誤的通知。您可以在 CloudWatch Logs 中找到這些錯誤和運作狀態通知的相關資訊。

在下列各節,您可以找到相關資訊,協助您了解每個錯誤的原因、運作狀態通知,以及修正問題的方法。

錯誤:1344 (0x00000540)

在將檔案遷移至 Amazon S3 時,ERROR 1344 (0x00000540)如果您嘗試將超過 10 個存取控制項目 (ACEs) 的檔案複製到 Amazon S3,您可能會遇到 。存取控制項目會列在存取控制清單 (ACL) 中。

Amazon S3 File Gateway 只能保留每個指定檔案或資料夾 10 個 ACE 項目。

解決錯誤 1344:將 NTFS 安全性複製到目的地目錄。

針對包含超過 10 個項目的檔案或資料夾,減少 Windows 許可中的項目數量。常見的方法是建立包含項目完整清單的群組,然後使用該單一群組取代項目清單。一旦項目數量少於 10,您可以重試將檔案或資料夾複製到閘道。

錯誤:GatewayClockOutOfSync

當閘道在本機系統時間和 AWS Storage Gateway伺服器報告的時間之間偵測到 5 分鐘或更長時間的差異時,您可能會收到GatewayClockOutOfSync錯誤。時鐘同步問題可能會對閘道與 之間的連線產生負面影響 AWS。如果閘道時鐘不同步,NFS 和 SMB 連線可能會發生 I/O 錯誤,而 SMB 使用者可能會發生身分驗證錯誤。

解決 GatewayClockOutOfSync 錯誤

錯誤:InaccessibleStorageClass

當物件移出 Amazon S3 Standard 儲存類別時,您可能會收到InaccessibleStorageClass錯誤。

檔案閘道通常會在嘗試將物件上傳至 或從 Amazon S3 儲存貯體讀取物件時遇到此錯誤。一般而言,此錯誤表示物件已移至 Amazon S3 Glacier,且位於 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別中。

您的 S3 檔案閘道可以產生快取報告,列出閘道快取中目前因此錯誤而無法上傳至 Amazon S3 的所有檔案。此報告中的資訊可協助您使用 支援 來解決閘道、Amazon S3 或 IAM 組態的問題。如需詳細資訊,請參閱建立快取報告

解決 InaccessibleStorageClass 錯誤

  • 將物件從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別還原至 S3 中的原始儲存類別。

    如果您將物件還原至 S3 儲存貯體以修正上傳錯誤,則檔案最終會上傳。如果您還原物件以修正讀取錯誤,檔案閘道的 SMB 或 NFS 用戶端即可讀取檔案。

錯誤:InvalidObjectState

當指定檔案閘道以外的寫入器修改指定 Amazon S3 儲存貯體中的指定檔案時,您可能會收到InvalidObjectState錯誤。因此,檔案閘道的檔案狀態與 Amazon S3 中的檔案狀態不相符。任何後續將檔案上傳至 Amazon S3 或從 Amazon S3 擷取檔案都會失敗。

您的 S3 檔案閘道可以產生快取報告,列出閘道快取中目前因此錯誤而無法上傳至 Amazon S3 的所有檔案。此報告中的資訊可協助您使用 支援 來解決閘道、Amazon S3 或 IAM 組態的問題。如需詳細資訊,請參閱建立快取報告

解決 InvalidObjectState 錯誤

如果修改檔案的操作是 S3UploadS3GetObject,請執行下列動作:

  1. 將檔案的最新副本儲存至 SMB 或 NFS 用戶端的本機檔案系統 (您需要在步驟 4 中使用此檔案副本)。如果 Amazon S3 中的 檔案版本是最新版本,請下載該版本。您可以使用 AWS Management Console 或 來執行此操作 AWS CLI。

  2. 使用 AWS Management Console 或 在 Amazon S3 中刪除 檔案 AWS CLI。

  3. 使用 SMB 或 NFS 用戶端從檔案閘道刪除檔案。

  4. 使用 SMB 或 NFS 用戶端,將您在步驟 1 中儲存的最新版本檔案複製到 Amazon S3。透過您的檔案閘道執行此操作。

錯誤:ObjectMissing

當指定檔案閘道以外的寫入器從 S3 儲存貯體刪除指定的檔案時,您可能會收到ObjectMissing錯誤。任何後續上傳至 Amazon S3 或從 Amazon S3 擷取物件都會失敗。

您的 S3 檔案閘道可以產生快取報告,列出閘道快取中目前因此錯誤而無法上傳至 Amazon S3 的所有檔案。此報告中的資訊可協助您使用 支援 來解決閘道、Amazon S3 或 IAM 組態的問題。如需詳細資訊,請參閱建立快取報告

解決 ObjectMissing 錯誤

如果修改檔案的操作是 S3UploadS3GetObject,請執行下列動作:

  1. 將檔案的最新副本儲存至 SMB 或 NFS 用戶端的本機檔案系統 (您需要在步驟 3 中使用此檔案副本)。

  2. 使用 SMB 或 NFS 用戶端從檔案閘道刪除檔案。

  3. 使用 SMB 或 NFS 用戶端複製您在步驟 1 中儲存的最新版本檔案。透過您的檔案閘道執行此操作。

錯誤:RoleTrustRelationshipInvalid

當檔案共享的 IAM 角色具有設定錯誤的 IAM 信任關係 (亦即,IAM 角色不信任名為 的 Storage Gateway 主體) 時,您會收到此錯誤storagegateway.amazonaws.com。因此,檔案閘道將無法取得登入資料,在支援檔案共用的 S3 儲存貯體上執行任何操作。

解決 RoleTrustRelationshipInvalid 錯誤

錯誤:S3AccessDenied

您可能會收到檔案共享的 Amazon S3 儲存貯體存取 AWS Identity and Access Management (IAM) 角色的S3AccessDenied錯誤。在此情況下,錯誤roleArn中由 指定的 S3 儲存貯體存取 IAM 角色不允許涉及的操作。不允許 操作,因為 Amazon S3 字首所指定目錄中物件的許可。

您的 S3 檔案閘道可以產生快取報告,列出閘道快取中目前因此錯誤而無法上傳至 Amazon S3 的所有檔案。此報告中的資訊可協助您使用 支援 來解決閘道、Amazon S3 或 IAM 組態的問題。如需詳細資訊,請參閱建立快取報告

解決 S3AccessDenied 錯誤

  • 修改檔案閘道運作狀態日誌roleArn中連接至 的 Amazon S3 存取政策,以允許 Amazon S3 操作的許可。請確認存取政策可允許導致該錯誤的操作許可。此外,請允許 prefix 之日誌中所指定的目錄許可。如需 Amazon S3 許可的相關資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的在政策中指定許可

    這些操作可能會導致 S3AccessDenied 錯誤發生:

    • S3HeadObject

    • S3GetObject

    • S3ListObjects

    • S3DeleteObject

    • S3PutObject

錯誤:DroppedNotifications

當閘道根磁碟上的可用儲存空間小於 1 GB,或在 1 分鐘內產生超過 100 個運作狀態通知時,您可能會看到DroppedNotifications錯誤,而不是其他預期的 CloudWatch 日誌項目類型。在這些情況下,閘道會停止產生詳細的 CloudWatch 日誌通知做為預防措施。

解決 DroppedNotifications 錯誤

  1. 在 Storage Gateway Root Disk Usage 主控台中檢查閘道監控索引標籤上的指標,以判斷可用的根磁碟空間是否不足。

  2. 如果可用空間小於 1 GB,請增加閘道根儲存磁碟的大小。如需說明,請參閱虛擬機器 Hypervisor 的文件。

    若要增加 Amazon EC2 閘道的根磁碟大小,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的請求修改 EBS 磁碟區

    注意

    無法增加 AWS Storage Gateway 硬體設備的根磁碟大小。

  3. 重新啟動您的閘道。

通知:HardReboot

當閘道 VM 意外重新啟動時,您可能會收到 HardReboot 通知。這種重新啟動可能是因為電源中斷、硬體故障或其他事件。對於 VMware 閘道,vSphere 高可用性應用程式監控重設可能會導致此事件。

當閘道在這種環境中執行時,請檢查 HealthCheckFailure 通知是否存在,並參閱 VM 的 VMware 事件記錄。

通知:重新啟動

當閘道 VM 重新啟動時,您可能會收到重新啟動通知。您可以使用 VM Hypervisor Management 主控台或 Storage Gateway 主控台來重新啟動閘道 VM。您也可以在閘道維護週期期間使用閘道軟體來重新啟動。

如果重新啟動的時間在閘道所設定之維護開始時間的 10 分鐘以內,此重新啟動可能是正常的情況,而不是任何問題的徵兆。如果重新啟動很常在維護時段外發生,請檢查閘道是否已手動重新啟動。

故障診斷:安全性掃描會顯示開放的 NFS 連接埠

某些 NFS 連接埠預設為啟用,即使在僅與 SMB 檔案共用搭配使用的閘道上也是如此。如果您使用第三方安全軟體,例如 Qualys 來掃描部署檔案閘道的網路,掃描結果可能會將這些開放的 NFS 連接埠報告為潛在的安全漏洞。如果您只將閘道與 SMB 檔案共用搭配使用,而且基於安全考量而想要停用未使用的 NFS 連接埠,請使用下列程序:

若要停用檔案閘道上的 NFS 連接埠:
  1. 使用 中概述的程序存取閘道本機主控台命令提示https://docs.aws.amazon.com/filegateway/latest/files3/MaintenanceGatewayConsole-fgw.html

  2. 輸入下列命令以停用 NFS 流量:

    iptables -I INPUT -p udp -m udp --dport 111 -j DROP iptables -I INPUT -p udp -m udp --dport 2049 -j DROP iptables -I INPUT -p udp -m udp --dport 20048 -j DROP iptables -I INPUT -p tcp -m tcp --dport 111 -j DROP iptables -I INPUT -p tcp -m tcp --dport 2049 -j DROP iptables -I INPUT -p tcp -m tcp --dport 20048 -j DROP
  3. 輸入下列命令以確認封鎖的 NFS 連接埠出現在 IP 資料表中:

    iptables -n -L -v --line-numbers

故障診斷:使用 CloudWatch 指標

您可以在下面找到使用 Amazon CloudWatch 指標搭配 Storage Gateway 處理問題之動作的相關資訊。

瀏覽目錄時,您的閘道反應緩慢

如果您的檔案閘道在執行ls命令或瀏覽目錄時反應緩慢,請檢查 IndexFetchIndexEviction CloudWatch 指標:

  • 如果您執行 ls命令或瀏覽目錄時IndexFetch,指標大於 0,您的 File Gateway 會啟動,但不提供有關受影響目錄內容的資訊,且必須存取 Amazon S3。後續列出該目錄內容的動作應會更快完成。

  • 如果IndexEviction指標大於 0,表示您的檔案閘道已達到當時可在其快取中管理的限制。在這種情況下,您的檔案閘道必須從最近存取最少的目錄釋放一些儲存空間,以列出新的目錄。如果經常發生這種情況且效能受到影響,請聯絡 支援。

    與相關 S3 儲存貯體 支援 的內容和建議討論,以根據您的使用案例改善效能。

您的閘道未回應

如果您的檔案閘道沒有回應,請執行下列動作:

  • 如果有最近的重新開機或軟體更新,則請查看 IOWaitPercent 指標。此指標會顯示在有未完成磁碟 I/O 請求時 CPU 閒置時間的百分比。在某些情況下,百分比可能偏高 (10 或以上),而且可能已在伺服器重新啟動或更新後上升。在這些情況下,您的檔案閘道可能會在重建索引快取至 RAM 時,受到慢速根磁碟的瓶頸。您可以將速度較快的實體磁碟用於根磁碟來解決此問題。

  • 如果MemUsedBytes指標與MemTotalBytes指標等於或幾乎相同,則檔案閘道會用盡可用的 RAM。請確定您的檔案閘道至少具有所需的 RAM 下限。如果已經這麼做,請考慮根據您的工作負載和使用案例,將更多 RAM 新增至檔案閘道。

    如果檔案共享是 SMB,此問題也可能是因為連線到檔案共享的 SMB 用戶端數目所造成。若要查看在任何指定時間連線的用戶端數目,請檢查 SMBV(1/2/3)Sessions 指標。如果連接了許多用戶端,您可能需要將更多 RAM 新增至檔案閘道。

您的閘道傳輸資料到 Amazon S3 的速度緩慢

如果您的檔案閘道將資料傳輸到 Amazon S3 的速度緩慢,請執行下列動作:

  • 如果CachePercentDirty指標為 80 或更高,您的 File Gateway 將資料寫入磁碟的速度會比將資料上傳至 Amazon S3 的速度更快。考慮增加從檔案閘道上傳的頻寬、新增一或多個快取磁碟,或減慢用戶端寫入速度。

  • 如果CachePercentDirty指標很低,請檢查IoWaitPercent指標。如果 IoWaitPercent 大於 10,您的檔案閘道可能會因為本機快取磁碟的速度而遇到瓶頸。建議將本機固態硬碟 (SSD) 磁碟用於快取,最好是 NVM Express (NVMe)。如果無法取得這種磁碟,請嘗試使用來自個別實體磁碟的多個快取磁碟,以提升效能。

  • 如果 S3PutObjectRequestTimeS3UploadPartRequestTimeS3GetObjectRequestTime 很高,則可能存在網路瓶頸。請嘗試分析您的網路,以確認閘道具有預期的頻寬。

您的閘道執行的 Amazon S3 操作超過預期

如果您的檔案閘道執行的 Amazon S3 操作超過預期,請檢查 FilesRenamed 指標。重新命名操作在 Amazon S3 中執行非常昂貴。最佳化您的工作流程,將重新命名操作的數量降至最低。

您在 Amazon S3 儲存貯體中看不到檔案

如果您注意到閘道上的檔案未反映在 Amazon S3 儲存貯體中,請檢查 FilesFailingUpload 指標。如果指標報告某些檔案上傳失敗,請檢查您的運作狀態通知。當檔案上傳失敗時,閘道會產生運作狀態通知,其中包含問題的詳細資訊。

您的閘道備份任務失敗,或寫入閘道時發生錯誤

如果您的檔案閘道備份任務失敗,或寫入檔案閘道時發生錯誤,請執行下列動作:

  • 如果CachePercentDirty指標為 90% 或更高,您的檔案閘道就無法接受對磁碟的新寫入,因為快取磁碟上沒有足夠的可用空間。若要查看您的檔案閘道上傳到 Amazon S3 的速度,請檢視 CloudBytesUploaded 指標。將該指標與 WriteBytes 指標進行比較,該指標顯示用戶端將檔案寫入檔案閘道的速度。如果 SMB 用戶端寫入檔案閘道的速度比上傳至 Amazon S3 的速度快,請新增更多快取磁碟,以至少涵蓋備份任務的大小。或者,增加上傳頻寬。

  • 如果備份任務等大型檔案副本失敗,但CachePercentDirty指標低於 80%,您的檔案閘道可能會命中用戶端工作階段逾時。若是 SMB,您可使用 PowerShell 命令 Set-SmbClientConfiguration -SessionTimeout 300 來增加此逾時設定。執行此命令會將逾時設為 300 秒。

    若是 NFS,請確認用戶端是採用硬性掛載的方式掛載,而非是軟性掛載。