檔案閘道的最佳實務 - AWS Storage Gateway

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

檔案閘道的最佳實務

本節包含下列主題,提供使用閘道、檔案共用、儲存貯體和資料之最佳實務的相關資訊。我們建議您熟悉本節中概述的資訊,並嘗試遵循這些準則,以避免您的 發生問題 AWS Storage Gateway。如需診斷和解決部署可能遇到之常見問題的其他指引,請參閱 針對 Storage Gateway 部署的問題進行故障診斷

最佳實務:復原您的資料

雖然這種情況極少發生,但您的閘道可能遇到無法復原的故障。這種故障可能發生在您的虛擬機器 (VM)、閘道本身、本機儲存體或其他地方。如果發生故障,我們建議您按照下列合適各節中的指示來復原資料。

重要

Storage Gateway 不支援從 Hypervisor 或 Amazon EC2 Amazon Machine Image (AMI) 所建立的快照復原閘道 VM。若您的閘道 VM 發生問題,請啟用新的閘道,並使用下列指示將您的資料復原至該閘道。

從非預期的虛擬機器關機復原

如果您的 VM 因非預期原因關閉 (例如停電),您的閘道就會無法連接。當電力和網路連線還原後,您的閘道就可以連接並開始正常運作。下列是您可在此時採取的步驟,有利於復原您的資料:

  • 如果中斷導致網路連線問題,您可以故障診斷此問題。如需如何測試網路連線的資訊,請參閱測試閘道的網路連線

從故障的快取磁碟復原資料

如果您的快取磁碟發生故障,我們建議根據您的情況,使用下列步驟復原您的資料:

  • 如果發生故障的原因是快取磁碟已從您的主機移除,請關閉閘道、重新新增磁碟並重新啟動閘道。

從無法存取的資料中心復原資料

如果您的閘道或資料中心因為某些原因而無法存取,您可以將資料復原到不同資料中心的另一個閘道,或復原到 Amazon EC2 執行個體託管的閘道。如果您無法存取另一個資料中心,我們建議您在 Amazon EC2 執行個體上建立閘道。您遵循的步驟取決於處理資料的閘道類型。

從無法存取的資料中心中的檔案閘道復原資料

對於檔案閘道,您可以將新的映射至 Amazon S3 bucketFSx,其中包含您要復原的資料。

  1. 在 Amazon EC2 主機上建立新的檔案閘道。如需詳細資訊,請參閱部署 S3 檔案閘道的預設 Amazon EC2 主機

  2. 在您建立的 EC2 閘道上建立新的。如需詳細資訊,請參閱建立檔案 share

  3. 在用戶端掛載檔案 sharefile,並將其映射至 SS3 bucketFSx,其中包含您要復原的資料。如需詳細資訊,請參閱掛載和使用您的檔案 shareMount

最佳實務:管理分段上傳

傳輸大型檔案時,S3 File Gateway 會使用 Amazon S3 分段上傳功能,將檔案分割成較小的部分,並平行傳輸以提高效率。如需分段上傳的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用分段上傳上傳和複製物件

如果分段上傳因任何原因無法成功完成,閘道通常會停止傳輸、從 Amazon S3 刪除任何部分傳輸的檔案片段,然後再次嘗試傳輸。在極少數情況下,例如當硬體或網路故障導致閘道在分段上傳失敗後無法清除時,部分傳輸的檔案片段可能會保留在 Amazon S3 上,在該處可能產生儲存費用。

作為將 Amazon S3 儲存成本從未完成的分段上傳降至最低的最佳實務,我們建議您設定使用 AbortIncompleteMultipartUpload API 動作的 Amazon S3 儲存貯體生命週期規則,在指定的天數後自動停止失敗的傳輸並刪除相關聯的檔案組件。如需說明,請參閱《Amazon Simple Storage Service 使用者指南》中的設定儲存貯體生命週期組態以刪除未完成的分段上傳

最佳實務:在複製到閘道之前,先在本機解壓縮壓縮檔案

如果您嘗試解壓縮壓縮的封存,其中包含存放在閘道上的數千個檔案,您可能會遇到嚴重的效能相關延遲。在任何類型的網路檔案共享上解壓縮包含大量檔案的封存程序本質上涉及大量輸入/輸出操作、中繼資料快取操作、網路額外負荷和延遲。此外,Storage Gateway 無法判斷封存中的每個檔案何時完成解壓縮,並且可以在程序完成之前開始上傳檔案,這進一步影響效能。當封存內的檔案很多,但大小很小時,這些問題就會複雜化。

最佳實務是,建議您先將壓縮的封存從閘道傳輸到本機電腦,然後再將其解壓縮。然後,如有必要,您可以使用 robocopyrsync 等工具,將解壓縮的檔案傳輸回閘道。

從 Windows Server 複製資料時保留檔案屬性

您可以在 Microsoft Windows 上使用基本copy命令將檔案複製到檔案閘道,但此命令預設只會複製檔案資料 - 省略某些檔案屬性,例如安全描述項。如果檔案複製到閘道,而沒有對應的安全限制和選擇性存取控制清單 (DACL) 資訊,則未經授權的使用者可能會存取這些檔案。

作為在 Microsoft Windows Server 上將檔案複製到閘道時保留所有檔案屬性和安全資訊的最佳實務,我們建議您分別使用 robocopyxcopy命令搭配 /copy:DS/o旗標。如需詳細資訊,請參閱 Microsoft Windows Server 命令參考文件中的 Robocopyxcopy

最佳實務:正確調整快取磁碟的大小

為了獲得最佳效能,磁碟快取總大小必須足夠大,以涵蓋作用中工作集的大小。對於大量讀取和混合讀取/寫入工作負載,這可確保您可以在讀取上達到高百分比的快取命中,這是理想的。您可以透過 S3 檔案閘道的 CacheHitPercent 指標來監控此問題。

對於高寫入量的工作負載 (例如備份和封存),S3 File Gateway 會先緩衝磁碟快取上的傳入寫入,再以非同步方式將此資料複製到 Amazon S3。您應該確保有足夠的快取容量來緩衝寫入的資料。CachePercentDirty 指標提供尚未保留的磁碟快取百分比指示 AWS。

低值CachePercentDirty是理想的。持續接近 100% 的值表示 S3 檔案閘道無法跟上傳入寫入流量的速率。您可以增加佈建磁碟快取容量,或將 S3 檔案閘道可用的專用網路頻寬增加到 Amazon S3,或同時增加兩者,藉此避免這種情況。

如需快取磁碟大小的詳細資訊,請參閱官方 Amazon Web Services YouTube 頻道上的 Amazon S3 File Gateway 快取大小調整最佳實務。 YouTube

使用多個檔案共用和 Amazon S3 儲存貯體

當您設定單一 Amazon S3 儲存貯體以允許多個閘道或檔案共用寫入該儲存貯體時,結果可能無法預測。您可以使用兩種方式之一來設定儲存貯體,以避免無法預測的結果。從下列選項中選擇最適合您的使用案例的組態方法:

  • 設定 S3 儲存貯體,以便只有一個檔案共享可以寫入每個儲存貯體。使用不同的檔案共享來寫入每個儲存貯體。

    若要這樣做,請建立 S3 儲存貯體政策,拒絕所有角色,但用於特定檔案共享的角色除外,以放置或刪除儲存貯體中的物件。將類似的政策連接到每個儲存貯體,指定不同的檔案共用以寫入每個儲存貯體。

    下列範例政策會拒絕 S3 儲存貯體寫入許可給所有角色,但建立儲存貯體的角色除外。拒絕 s3:DeleteObject 以外之所有角色的 s3:PutObject"TestUser" 動作。此政策適用於 "arn:aws:s3:::amzn-s3-demo-bucket/*" 儲存貯體中的所有物件。

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Sid":"DenyMultiWrite", "Effect":"Deny", "Principal":"*", "Action":[ "s3:DeleteObject", "s3:PutObject" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition":{ "StringNotLike":{ "aws:userid":"TestUser:*" } } } ] }
  • 如果您希望多個檔案共享寫入相同的 Amazon S3 儲存貯體,則必須防止檔案共享嘗試同時寫入相同的物件。

    若要這樣做,請為每個檔案共享設定個別的唯一物件字首。這表示每個檔案共享只會寫入具有對應字首的物件,而不會寫入與您部署中其他檔案共享相關聯的物件。當您建立新的檔案共享時,您可以在 S3 字首名稱欄位中設定物件字首

清除不必要的資源

最佳實務是建議清除 Storage Gateway 資源,以避免意外或不必要的費用。例如,如果您建立閘道做為示範練習或測試,請考慮將其及其虛擬設備從部署中刪除。使用下列程序清除資源。

清除不需要的資源
  1. 如果您不再計劃繼續使用閘道,請將其刪除。如需詳細資訊,請參閱刪除您的閘道並移除相關聯的資源

  2. 從內部部署主機刪除 Storage Gateway VM。如果您已在 Amazon EC2 執行個體上建立閘道,請終止執行個體。