StorageGRIDは、クライアント要求に直接応答してオブジェクトを削除するか、S3準拠バケットの保持期間の終了、S3バケット ライフサイクルの終了、またはILMポリシーの要件に応じて自動的にオブジェクトを削除します。オブジェクトのさまざまな削除方法とStorageGRIDによる削除要求の処理方法を理解すると、オブジェクトをより効率的に管理できます。
StorageGRIDでは、次のどちらかの方法でオブジェクトが削除されます。
- 同期削除:StorageGRIDがクライアントの削除要求を受け取ると、すべてのオブジェクト コピーがただちに削除されます。コピーが削除されると、削除が成功したことがクライアントに通知されます。
- オブジェクトが削除キューに登録される:StorageGRIDが削除要求を受け取るとオブジェクトは削除キューに登録され、削除が成功したことがクライアントにすぐに通知されます。オブジェクト コピーは、あとでバックグラウンドILM処理によって削除されます。
StorageGRIDは、削除のパフォーマンスを最適化し、削除のバックログを最小限に抑え、スペースを最も早く解放する方法でオブジェクトを削除します。
次の表は、StorageGRIDでそれぞれの方法が使用される状況をまとめたものです。
削除方法 |
使用される状況 |
オブジェクトを削除キューに登録 |
StorageGRIDは、次のいずれかの条件に該当する場合、オブジェクト コピーを削除キューに登録します。 - 次のいずれかのイベントによってオブジェクトの自動削除がトリガーされた:
- S3準拠バケットの保持期間が終了し、自動削除が選択された。
- S3バケットのライフサイクル設定の有効期限または日数に達した。
- ILMルールに指定された最後の期間が経過した。
- S3 / Swiftクライアントが削除を要求し、次の条件を1つ以上満たしている:
- オブジェクトがクラウド ストレージ プールに格納されている。
- オブジェクトの場所が一時的に使用できないなどの理由で、30秒以内にコピーを削除できない。
- バックグラウンド削除キューがアイドル状態である。
|
オブジェクトをただちに削除(同期削除) |
S3 / Swiftクライアントが削除要求を行い、次の条件をすべて満たしている場合、StorageGRIDは同期削除を実行します。 - オブジェクトがストレージ ノードまたはアーカイブ ノードに格納されている。
- すべてのコピーを30秒以内に削除できる。
- 処理するオブジェクトがバックグラウンド削除キューに含まれている。
|
S3またはSwiftクライアントが削除要求を行うと、StorageGRIDはまずオブジェクトを削除キューに追加します。その後、同期削除の実行に切り替えます。処理するオブジェクトをバックグラウンド削除キューに追加することで、StorageGRIDはクライアントによる削除のバックログが発生しないようにしつつ、特に同時実行性の低いクライアントに対してより効率的に削除を処理することができます。
StorageGRIDによるオブジェクトの削除方法が及ぼす影響について
StorageGRIDがオブジェクトを削除する方法は、システムの動作に次のような影響を及ぼす可能性があります。
- StorageGRIDが同期削除を実行する場合、結果がStorageGRIDからクライアントに返されるまでに最大30秒かかります。つまり、実際にはStorageGRIDがオブジェクトを削除キューに登録する場合よりも短時間でコピーが削除されるにもかかわらず、より長くかかっているという印象をクライアントに与える可能性があります。以前のリリースでは、StorageGRIDはオブジェクトを常に削除キューに登録していたため、StorageGRID 11.3にアップグレードするまではこの応答時間の変化に気づかない可能性があります。
- 一括削除の実行中にそのパフォーマンスを注意深く監視していると、一定数のオブジェクトが削除されたあとに削除の速度が遅くなったように見えることがあります。これは、StorageGRIDがオブジェクトを削除キューへ登録する方法から同期削除に切り替えたときに起こります。削除速度が低下したように見えても、オブジェクト コピーの削除速度が遅くなったわけではありません。一方で、スペースの開放にかかる時間は、平均すると短くなっています。
大量のオブジェクトを削除する場合に、スペースを短時間で解放することが優先されるのであれば、ILMなどの方法を使用してオブジェクトを削除するのではなく、クライアント要求を使用することを検討してください。通常、クライアントによって削除が実行された場合、StorageGRIDが同期削除を使用できるため、スペースはより短時間で解放されます。
オブジェクトの削除後にスペースを解放するために必要な時間は、次の要因によって異なります。
- オブジェクト コピーが同期的に削除されるか、またはキューに登録されたあとで削除されるか(クライアントの削除要求の場合)。
- グリッド内のオブジェクトの数や、オブジェクト コピーが削除対象キューに登録される場合のグリッド リソースの可用性などのその他の要因(クライアントによる削除およびその他の方法の場合)。