本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

如何刪除物件

貢獻者

由於S3儲存區生命週期到期或ILM原則要求到期、因此可直接回應用戶端要求或自動刪除物件。StorageGRID瞭解可刪除物件的不同方式、StorageGRID 以及如何處理刪除要求、有助於您更有效地管理物件。

使用下列兩種方法之一刪除物件:StorageGRID

  • 同步刪除:StorageGRID 當物件接收到用戶端刪除要求時、會立即移除所有物件複本。用戶端會被告知刪除作業在複本移除之後成功。

  • 物件會排入刪除佇列:StorageGRID 當收到刪除要求時、物件會排入刪除佇列、並立即通知用戶端刪除作業已成功。物件複本稍後會透過背景ILM處理移除。

刪除物件時StorageGRID 、利用最佳化刪除效能、最小化可能刪除的待處理項目、以及最快釋出空間的方法、來刪除物件。

下表摘要說明StorageGRID 各個方法的使用時機。

執行刪除的方法 使用時

物件會排入佇列以供刪除

當下列*任一*條件為真時:

  • 自動物件刪除已由下列其中一個事件觸發:

    • S3儲存區生命週期組態的到期日或天數已達。

    • ILM規則中指定的最後一個時間週期已過。

    *附註:*啟用S3物件鎖定之儲存區中的物件若處於合法持有狀態、或是已指定但尚未符合保留截止日期、則無法刪除。

  • S3或Swift用戶端要求刪除、其中一或多個條件為真:

    • 無法在30秒內刪除複本、例如物件位置暫時無法使用。

    • 背景刪除佇列閒置。

立即移除物件(同步刪除)

當S3或Swift用戶端提出刪除要求、並符合*全部*下列條件時:

  • 所有複本均可在30秒內移除。

  • 背景刪除佇列包含要處理的物件。

當S3或Swift用戶端提出刪除要求時、StorageGRID 從將多個物件新增至刪除佇列開始、然後切換至執行同步刪除。確保後臺刪除佇列有要處理的物件、StorageGRID 讓處理器能夠更有效率地處理刪除作業、特別是對於低並行用戶端、同時防止用戶端刪除待處理記錄。

刪除物件需要多久時間

物件的刪除方式StorageGRID 可能會影響系統的執行方式:

  • 執行同步刪除時、最多需要30秒才能將結果傳回給用戶端。StorageGRID StorageGRID這表示刪除的速度似乎較慢、即使複本實際移除速度比StorageGRID 將物件排入佇列以供刪除時更快。

  • 如果您在大量刪除期間密切監控刪除效能、可能會發現刪除率在刪除特定數量的物件之後似乎變慢。當從佇列物件移至執行同步刪除時、就會發生此變更StorageGRID 。刪除率明顯降低、並不代表物件複本移除速度較慢。相反地、這表示平均而言、空間現在可以更快釋出。

如果您要刪除大量物件、而且優先要快速釋放空間、請考慮使用用戶端要求來刪除物件、而非使用ILM或其他方法來刪除物件。一般而言、當用戶端執行刪除作業時、空間會更快釋出、因為StorageGRID 使用同步刪除功能時、會有更多空間。

您應該注意、刪除物件後釋放空間所需的時間取決於多種因素:

  • 物件複本是同步移除、還是排入佇列稍後移除(適用於用戶端刪除要求)。

  • 其他因素、例如當物件複本排入移除佇列時、網格中的物件數目或網格資源的可用度(適用於用戶端刪除和其他方法)。

如何刪除S3版本控制物件

啟用S3儲存區的版本管理時、StorageGRID 無論是來自S3用戶端、S3儲存區生命週期到期、或ILM原則需求、均會遵循Amazon S3回應刪除要求的行為。

物件版本控制時、物件刪除要求不會刪除物件的目前版本、也不會釋出空間。相反地、物件刪除要求只會建立刪除標記作為物件的目前版本、使物件的舊版變成「noncurrent」。

即使物件尚未移除、StorageGRID 但功能上的功能仍然如同物件的目前版本已無法使用。對該物件的要求會傳回404 NotFound.但是、由於非目前物件資料尚未移除、因此指定物件非目前版本的要求可能會成功。

若要在刪除版本控制的物件時釋出空間、您必須執行下列其中一項:

  • * S3用戶端要求*:在S3刪除物件要求(「刪除/物件」版本Id=ID)中指定物件版本編號。請記住、此要求只會移除指定版本的物件複本(其他版本仍佔用空間)。

  • 庫位生命週期:在庫位生命週期組態中使用「NoncurrentVersion Expiration」動作。當符合指定的NoncurrentDays數量時、StorageGRID 不同時更新的物件版本會永久移除所有複本。這些物件版本無法還原。

  • * ILM *:在ILM原則中新增兩個ILM規則。在第一條規則中使用*非目前時間*做為參考時間、以符合物件的非目前版本。在第二個規則中使用*擷取時間*來符合目前的版本。*非目前時間*規則必須出現在*擷取時間*規則上方的原則中。