如何刪除物件
由於S3儲存區生命週期到期或ILM原則要求到期、因此可直接回應用戶端要求或自動刪除物件。StorageGRID瞭解可刪除物件的不同方式、StorageGRID 以及如何處理刪除要求、有助於您更有效地管理物件。
使用下列兩種方法之一刪除物件:StorageGRID
-
同步刪除:StorageGRID 當物件接收到用戶端刪除要求時、會立即移除所有物件複本。用戶端會被告知刪除作業在複本移除之後成功。
-
物件會排入刪除佇列:StorageGRID 當收到刪除要求時、物件會排入刪除佇列、並立即通知用戶端刪除作業已成功。物件複本稍後會透過背景ILM處理移除。
刪除物件時StorageGRID 、利用最佳化刪除效能、最小化可能刪除的待處理項目、以及最快釋出空間的方法、來刪除物件。
下表摘要說明StorageGRID 各個方法的使用時機。
執行刪除的方法 | 使用時 |
---|---|
物件會排入佇列以供刪除 |
當下列*任一*條件為真時:
|
立即移除物件(同步刪除) |
當S3或Swift用戶端提出刪除要求、並符合*全部*下列條件時:
|
當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規則。在第一條規則中使用*非目前時間*做為參考時間、以符合物件的非目前版本。在第二個規則中使用*擷取時間*來符合目前的版本。*非目前時間*規則必須出現在*擷取時間*規則上方的原則中。