疑難排解檔案共享問題 - AWSStorage Gateway

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

疑難排解檔案共享問題

如果您的檔案共享發生非預期問題,您可在下列資訊中找到應採取的動作。

您的文件共享卡在創建狀態

當您的檔案共享正在建立時,其狀態為 CREATING (建立中)。檔案共享建立後,狀態會轉換為 AVAILABLE (可用) 狀態。如果您的檔案共享停滯在 CREATING (建立中) 狀態,請執行下列動作:

  1. 請在 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

  2. 確認您檔案共享所映射的 S3 儲存貯體存在。如果儲存貯體不存在,請予以建立。儲存貯體建立後,檔案共享狀態會轉換為 AVAILABLE (可用)。如需如何建立 S3 儲存貯體的詳細資訊,請參建立儲存貯體中的Amazon Simple Storage Service 用户指南

  3. 請確認您的儲存貯體名稱遵守 Amazon S3 儲存貯體的命名規則。如需詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的儲存貯體命名規則

  4. 請確定您用來存取 S3 儲存貯體的 IAM 角色有正確的許可,並確認 S3 儲存貯體列為 IAM 政策的資源。如需詳細資訊,請參閱 授予對 Amazon S3 儲存貯體的存取權

您無法建立檔案共享

  1. 如果您因為檔案共享停滯在 CREATING (建立中) 狀態而無法建立檔案共享,請確認您的檔案共享所映射的 S3 儲存貯體存在。如需如何執行作業的資訊,請參閱上一篇的您的文件共享卡在創建狀態

  2. 如果 S3 儲存貯體存在,請驗證AWS Security Token Service在您建立檔案共享的區域中已啟用。如未啟用安全權杖,您應予以啟用。如需如何使用AWS Security Token Service,請參啟用和停用AWSSTS 在AWSRegion (區域)中的IAM User Guide

SMB 檔案共享不允許多種不同的存取方法

SMB 檔案共享有以下限制:

  1. 當相同的用戶端嘗試同時掛載 Active Directory 和訪客存取 SMB 檔案共享,會顯示以下錯誤訊息:Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.

  2. Windows 使用者不能保持連線到兩個訪客存取 SMB 檔案共享,當新的訪客存取連線建立時可能會中斷連線。

  3. Windows 用戶端無法同時掛載訪客存取和由相同閘道匯出的 Active Directory SMB 檔案共享。

多個文件共享無法寫入映射的 S3 存儲桶

我們不建議您設定 S3 儲存貯體允許多個檔案共享寫入一個 S3 儲存貯體。這種方法會造成無法預測的結果。

相反地,我們建議您只允許一個檔案共享寫入一個 S3 儲存貯體。您建立一個儲存貯體政策,僅允許與您檔案共享相關聯的角色寫入儲存貯體。如需詳細資訊,請參閱 檔案共享最佳實務

無法將文件上傳到您的 S3 存儲桶

如果您無法將檔案上傳到 S3 儲存貯體,請執行下列操作:

  1. 請確定您已授予 Amazon S3 檔案閘道所需的存取權,將檔案上傳到您的 S3 儲存貯體。如需詳細資訊,請參閱 授予對 Amazon S3 儲存貯體的存取權

  2. 確定建立儲存貯體的角色具有寫入 S3 儲存貯體的許可。如需詳細資訊,請參閱 檔案共享最佳實務

  3. 如果您的文件網關使用 SSE-KMS 進行加密,請確保與文件共享關聯的 IAM 角色包含kms:Encryptkms:DecryptKMS: 重新加密kms:GenerateDataKey,和kms:DescribeKey許可。如需詳細資訊,請參閱「」在 Storage Gateway 使用以身分為基礎的政策 (IAM 政策)

無法更改默認加密以使用 SSE-KMS 加密存儲在我的 S3 存儲桶中的對象

如果您改變默認加密,使 SSE-KMS(使用AWS KMS— 託管密鑰) S3 儲存貯體的默認值,Amazon S3 檔案閘道儲存在儲存貯體中的物件不會使用 SSE-KMS 加密。默認情況下,S3 檔案閘道會在將資料寫入 S3 儲存貯體時,使用以 Amazon S3 (SSE-S3) 管理的伺服器端加密。變更預設值不會自動變更您的加密。

若要變更加密為使用 SSE-KMS 搭配您自己的 AWS KMS 金鑰,您必須啟用 SSE-KMS 加密。若要這樣做,當您建立檔案共享時要提供 KMS 金鑰的 Amazon Resource Name (ARN)。您也可以使用 UpdateNFSFileShareUpdateSMBFileShare API 操作,更新您檔案共享的 KMS 設定。此更新適用於更新後存放在 S3 儲存貯體中的物件。如需詳細資訊,請參閱 使用的資料加密AWS KMS

在啟用了對象版本控制的 S3 存儲桶中直接進行的更改可能會影響您在文件共享中看到的內容

如果您 S3 儲存貯體中有另一個用户端寫入的物件,由於 S3 儲存貯體物件版本控制的緣故,您的 S3 儲存貯體檢視可能不是最新的。您應一律先重新整理您的快取,再檢查感興趣的檔案。

物件版本控制是選用的 S3 儲存貯體功能,透過存放多個同名物件的副本以利保護資料。每個副本都有一個獨立的 ID 值,例如file1.jpgID="xxx"file1.jpgID="yyy"。 同名物件的數目及其生命週期都由 Amazon S3 生命週期政策控制。如需這些 Amazon S3 概念的詳細資訊,請參使用版本控制物件生命週期管理中的Amazon S3 開發人員指南。

當您刪除版本控制的物件時,該物件會以刪除標記加以標記並保留下來。只有 S3 儲存貯體擁有者才能永久刪除開啟版本控制的物件。

在 S3 File Gateway 中,提取物件或重新整理快取時所顯示的檔案,會是 S3 儲存貯體中最新版的物件。S3 檔案閘道會忽略任何較舊的版本或任何標記刪除的物件。讀取檔案時,您讀取的資料是來自最新的版本。在您的檔案共享中寫入檔案時,S3 File Gateway 會使用您的更改建立新版的命名物件,並且該版本會成為最新的版本。

您的 S3 File Gateway 會持續從早期版本讀取,而在您的應用程式外新增到 S3 儲存貯體的新版本,您所做的更新會基於早期版本。若要讀取最新版的物件,請從主控台使用 RefreshCache API 動作或重新整理,如 刷新 Amazon S3 儲存貯體中的物件 中所述。

重要

我們不建議從檔案共享以外將物件或檔案寫入您的 S3 File Gateway S3 儲存貯體。

當寫入啟用了對象版本控制的 S3 存儲桶時,Amazon S3 文件網關可能會創建 S3 對象的多個版本

啟用對象版本控制後,您可能會在從 NFS 或 SMB 客户端對文件進行每次更新時在 Amazon S3 中創建的對象的多個版本。以下是可能導致在 S3 存儲桶中創建多個數據元版本的方案:

  • 當文件上傳到 Amazon S3 後,NFS 或 SMB 客户端在 Amazon S3 文件網關中修改文件時,S3 文件網關將上傳新數據或修改後的數據,而不是上傳整個文件。文件修改將導致創建新版本的 Amazon S3 對象。

  • 當文件由 NFS 或 SMB 客户端寫入 S3 文件網關時,S3 文件網關會將文件的數據上傳到 Amazon S3,後跟其元數據(所有權、時間戳等)。上傳文件數據會創建 Amazon S3 對象,上傳文件的元數據會更新 Amazon S3 對象的元數據。此過程將創建對象的另一個版本,從而產生兩個版本的對象。

  • 當 S3 文件網關上傳較大的文件時,它可能需要在客户端完成寫入文件網關之前上傳較小的文件塊。這樣做的一些原因包括釋放緩存空間或高寫入文件的速率。這會導致 S3 儲存貯體中的物件存在多個版本。

在設置生命週期策略以將對象移動到不同的存儲類之前,您應該監視 S3 存儲桶以確定存在多少個對象版本。您應該為早期版本配置生命週期過期,以最大限度地減少 S3 存儲桶中對象的版本數量。在 S3 存儲桶之間使用同區域複製 (SRR) 或跨區域複製 (CRR) 將增加所使用的存儲空間。如需複寫的詳細資訊,請參複寫

重要

在您瞭解啟用對象版本控制時使用的存儲量之前,請勿在 S3 存儲桶之間配置複製。

使用版本控制的 S3 儲存貯體可以大幅增加 Amazon S3 的儲存量,因為每次修改檔案都會建立新版的 S3 物件。在默認情況下,除非您專門建立政策,覆寫此行為並限制保留的版本數目,否則 Amazon S3 會持續存放所有這些版本。如果在物件版本控制啟用時發現不尋常的大量儲存使用量,請檢查您的儲存政策是否正確設定。瀏覽器請求的 HTTP 503-slow down 回應數增加,也會導致物件版本控制問題。

如果您在安裝 S3 File Gateway 後啟用物件版本控制,所有唯一的物件皆會保留 (ID=”NULL”),您可以在檔案系統中看到它們。新版的物件會獲指派唯一的 ID (保留較舊版本)。以物件的時間戳記為基礎,只有最新的版本控制物件會出現在 NFS 檔案系統中。

在您啟用物件版本控制之後,您的 S3 儲存貯體即無法回到無版本控制的狀態。但是您可以暫停版本控制。當您暫停版本控制時,新的物件會獲指派一個 ID。如有值為 ID=”NULL” 的相同具名物件存在,則會覆寫較舊的版本。但仍保留包含非 NULL ID 的任何版本。時間戳記會將新的物件視為最新的物件,這也是出現在 NFS 檔案系統中的物件。

對 S3 存儲桶的更改不會反映在 Storage Gateway 中

當您使用文件共享本地將文件寫入緩存時,Storage Gateway 會自動更新文件共享緩存。但是,當您將文件直接上傳到 Amazon S3 時,Storage Gateway 不會自動更新緩存。執行此操作時,您必須執行RefreshCache操作以查看文件共享上的更改。如果您有多個檔案共享,則必須運行RefreshCache對每個文件共享進行操作。

您可以使用 Storage Gateway 控制台和AWS Command Line Interface(AWS CLI):

  • 要使用 Storage Gateway 控制台刷新緩存,請參閲刷新 Amazon S3 存儲桶中的對象。

  • 若要使用AWS CLI:

    1. 執行命令aws storagegateway list-file-shares

    2. 將檔案共享的 Amazon Resource Name (ARN) 與您要刷新的緩存一起複製。

    3. 執行refresh-cache命令中的值,您的 ARN 作為--file-share-arn

      aws storagegateway refresh-cache --file-share-arn arn:aws:storagegateway:eu-west-1:12345678910:share/share-FFDEE12

自動化RefreshCache操作,請參閲如何在 Storage Gateway 上自動執行 RefreshCache 操作?

ACL 許可未如預期般運作

如果存取控制清單 (ACL) 許可未如預期搭配 SMB 檔案共享運作,您可以執行測試。

若要這樣做,請先在 Microsoft Windows 檔案伺服器或本機 Windows 檔案共享上測試許可。接著,將其行為與閘道的檔案共享進行比較。

執行遞歸操作後,您的網關性能下降

在某些情況下,您可能會執行遞迴操作,例如重新命名目錄或啟用 ACL 的繼承,以及強制沿著樹狀目錄向下進行。如果您這麼做,S3 File Gateway 會以遞迴方式套用操作到檔案共享中的所有物件。

例如,假設您套用繼承到 S3 儲存貯體中的現有物件。您的 S3 檔案閘道會以遞迴方式套用繼承到儲存貯體中的所有物件。這類操作可能會導致閘道的效能下降。