疑難排解檔案閘道問題 - AWSStorage Gateway

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

疑難排解檔案閘道問題

當您執行 VMware vSphere 高可用性 (HA) 時,您可以使用 Amazon CloudWatch 日誌組設定檔案閘道。如果您這麼做,您會收到檔案閘道運作狀態及檔案閘道遇到的錯誤的相關通知。您可以在 CloudWatch Logs 中找到這些錯誤和運作狀態通知的相關資訊。

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

錯誤:InaccessibleStorageClass

你可以得到一個InaccessibleStorageClass當物件已移出 Amazon S3 標準儲存類別時發生錯誤。

在此,您的檔案閘道嘗試將指定物件上傳到 S3 儲存貯體或從 S3 儲存貯體讀取物件時,通常會發生錯誤。出現此錯誤時,物件通常已移至 Amazon S3 Glacier,並位於 S3 Glacier 或 S3 Glacier Deep Archive 儲存類別。

解決 InaccessibleStorageClass 錯誤

  • 將物件從 S3 Glacier 或 S3 Glacier Deep Archive 儲存類別移回 S3。

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

錯誤:S3 訪問被拒絕

你可以得到一個S3AccessDenied檔案共享的 Amazon S3 儲存貯體存取時出錯AWS Identity and Access Management(IAM) 角色。在此情況下,S3 儲存貯體存取 IAM 角色由roleArn在錯誤中不允許涉及的操作。由於 Amazon S3 前綴指定之目錄中的物件許可,不允許此操作。

若要解決 S3AccessDenessDening 錯誤

  • 修改附加到的 Amazon S3 訪問策略roleArn以允許 Amazon S3 操作的許可。請確認存取政策可允許導致該錯誤的操作許可。此外,請允許 prefix 之日誌中所指定的目錄許可。如需 Amazon S3 許可的詳細資訊,請參在政策中指定許可Amazon Simple Simple Storage Service 用户指南

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

    • S3HeadObject

    • S3GetObject

    • S3ListObjects

    • S3DeleteObject

    • S3PutObject

錯誤:InvalidObjectState

你可以得到一個InvalidObjectState當指定的檔案閘道以外的寫入器修改指定的 S3 儲存貯體中的指定檔案時,會發生錯誤。因此,檔案閘道的檔案狀態不符合其在 Amazon S3 中的狀態。後續上傳檔案至 Amazon S3 或從 Amazon S3 檢索檔案會失敗。

解決無效狀態錯誤的步驟

如果修改檔案的操作為S3Upload或者S3GetObject,執行下列動作:

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

  2. Amazon S3 用AWS Management Console或者AWS CLI。

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

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

錯誤:ObjectMissing

你可以得到一個ObjectMissing當指定的檔案閘道以外的寫入者從 S3 儲存貯體刪除指定的檔案時,會發生錯誤。後續任何物件上傳至 Amazon S3 或從 Amazon S3 檢索該物件都會失敗。

解決 ObjectMissing 錯誤

如果修改檔案的操作為S3Upload或者S3GetObject,執行下列動作:

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

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

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

:Notification 重新開機

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

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

:Notification HardReboot

當閘道 VM 意外重新啟動時,您可能會收到 HardReboot 通知。這種重新啟動可能是因為電源中斷、硬體故障或其他事件。若是 VMware 閘道,由 vSphere High Availability Application Monitoring 執行的重設可能會觸發此事件。

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

:Notification HealthCheckFailure

若是 VMware vSphere HA 上的閘道,當運作狀態檢查失敗且請求 VM 重新啟動時,您可能會收到 HealthCheckFailure 通知。此事件也會在監控可用性的測試期間發生,並顯示於 AvailabilityMonitorTest 通知中。在此情況下,則預期會收到HealthCheckFailure 通知。

注意

此通知僅適用於 VMware 閘道。

如果此事件在沒有 AvailabilityMonitorTest 通知的情況下重複發生,請檢查您的 VM 基礎設施是否有問題 (儲存空間、記憶體等)。如果您需要其他協助,請聯絡AWS Support。

:Notification AvailabilityMonitorTest

你會得到一個AvailabilityMonitorTest當您運行測試可用性和應用程序監控系統上運行在 VMware vSphere HA 平台上的網關上。

錯誤:RoleTrustRelationshipInvalid

當檔案共享的 IAM 角色有配置錯誤的 IAM 信任關係時(也就是 IAM 角色不信任名為storagegateway.amazonaws.com。因此,檔案閘道無法取得登入資料來在備份檔案共享的 S3 儲存貯體上執行任何操作。

解決 RoleTrustRelationshipInvalid 錯誤

  • 使用 IAM 主控台或 IAM API 包含storagegateway.amazonaws.com作為您檔案共享 iAMRole 所信任的委託人。如需 IAM 角色的詳細資訊,請參教程:跨AWS使用 IAM 角色的賬户

使用 CloudWatch 指標進行故障

您可在下列資訊中找到應對使用 Amazon CloudWatch 指標與 Storage Gateway 相結合的問題所需採取的動作。

瀏覽目錄時,網關反應緩慢

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

  • 如果IndexFetch量度大於 0,當您運行ls命令或瀏覽目錄時,您的檔案閘道已在沒有受影響目錄內容的信息的情況下啟動,並且必須存取 Amazon S3。後續列出該目錄內容的動作應會更快完成。

  • 如果IndexEviction指標大於 0,表示檔案閘道已達到其在當下可以管理的數量限制。在此情況下,檔案閘道必須從最近存取的目錄釋放一些儲存空間,才能列出新目錄。如果經常發生此問題,並對性能有影響,請聯繫AWS Support。

    與之開發AWS Support相關 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 或以上,則檔案閘道寫入資料到磁碟的速度會比上傳資料到 Amazon S3 的速度更快。請考慮從檔案閘道增加上傳頻寬、增加一或多個快取磁碟,或降低用户端寫入速度。

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

  • 如果S3PutObjectRequestTimeS3UploadPartRequestTime, 或S3GetObjectRequestTime很高,則可能存在網絡瓶頸。嘗試分析您的網絡以驗證網關是否具有預期帶寬。

您的網關執行的 Amazon S3 操作比預期要多

如果您的文件網關執行的 Amazon S3 操作比預期要多,請檢查FilesRenamed指標。在 Amazon S3 中執行重命名操作的成本很高。優化工作流以最大限度地減少重命名操作的次數。

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

如果您注意到閘道上的檔案未反映在 Amazon S3 儲存貯體中,請檢查FilesFailingUpload指標。如果指標報告某些文件上傳失敗,請檢查您的運行狀況通知。當文件上傳失敗時,網關會生成一個運行狀況通知,其中包含有關該問題的更多詳細信息。

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

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

  • 如果CachePercentDirty指標是 90% 或以上,由於快取磁碟上無足夠的可用空間,您的檔案閘道則無法接受對磁碟的新寫入。若要查看檔案閘道上傳至 Amazon FSX 或 Amazon S3 的速度,請參CloudBytesUploaded指標。將該指標與WriteBytes指標,該指標會顯示客户端向檔案閘道寫入檔案的速度。如果您的檔案閘道寫入速度比上傳到 Amazon FSX 或 Amazon S3 的速度更快,請增加更多快取磁碟,以至少涵蓋備份任務的大小。或者,增加上傳頻寬。

  • 如果備份作業失敗,但CachePercentDirty指標小於 80%,則檔案閘道可能遇到用户端會話超時。若是 SMB,您可使用 PowerShell 命令 Set-SmbClientConfiguration -SessionTimeout 300 來增加此逾時設定。執行此命令會將逾時設為 300 秒。

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