Comment supprimer les objets
StorageGRID peut supprimer des objets en réponse directe à une requête d'un client ou automatiquement à la suite de l'expiration du cycle de vie d'un compartiment S3 ou des exigences de la politique ILM. Pour gérer plus efficacement les objets, il est important de comprendre les différentes méthodes de suppression des objets et la façon dont StorageGRID les gère.
StorageGRID peut utiliser l'une des deux méthodes suivantes pour supprimer les objets :
-
Suppression synchrone : lorsque StorageGRID reçoit une demande de suppression de client, toutes les copies d'objet sont supprimées immédiatement. Le client est informé que la suppression a réussi une fois les copies supprimées.
-
Les objets sont placés en file d'attente pour suppression : lorsque StorageGRID reçoit une requête de suppression, l'objet est mis en attente pour suppression et le client est immédiatement informé de l'réussie de cette suppression. Les copies d'objet sont supprimées ultérieurement par le traitement ILM en arrière-plan.
Lors de la suppression d'objets, StorageGRID utilise la méthode qui optimise les performances de suppression, réduit les retards de suppression et libère de l'espace le plus rapidement possible.
Le tableau résume le moment où StorageGRID utilise chaque méthode.
Méthode d'exécution de la suppression | Lorsqu'il est utilisé |
---|---|
Les objets sont placés en file d'attente pour suppression |
Lorsque l'une des conditions suivantes est vraie :
|
Suppression immédiate d'objets (suppression synchrone) |
Lorsqu'un client S3 ou Swift effectue une demande de suppression et toutes des conditions suivantes sont remplies :
|
Lorsque les clients S3 ou Swift font des demandes de suppression, StorageGRID commence par ajouter un certain nombre d'objets à la file d'attente de suppression. Il passe ensuite en mode suppression synchrone. S'assurer que la file d'attente de suppression en arrière-plan contient des objets à traiter, ce qui permet à StorageGRID de traiter les suppressions plus efficacement, en particulier pour les clients à faible simultanéité, tout en aidant à empêcher la suppression des arriérés du client.
Délai de suppression des objets
La façon dont StorageGRID supprime des objets peut avoir un impact sur le fonctionnement du système :
-
Lorsque StorageGRID effectue une suppression synchrone, StorageGRID peut donner jusqu'à 30 secondes pour renvoyer un résultat au client. Cela signifie que la suppression peut se produire plus lentement, même si les copies sont réellement supprimées plus rapidement que lors de la mise en file d'attente d'objets StorageGRID pour suppression.
-
Si vous surveillez de près les performances de suppression lors d'une suppression en bloc, vous remarquerez que ce taux de suppression semble ralentir après la suppression d'un certain nombre d'objets. Ce changement survient lorsque StorageGRID passe d'objets de mise en file d'attente pour suppression à des fins de suppression synchrone. La réduction apparente du taux de suppression ne signifie pas que les copies d'objet sont supprimées plus lentement. Au contraire, elle indique qu'en moyenne, l'espace est maintenant libéré plus rapidement.
Si vous supprimez un grand nombre d'objets et que vous souhaitez libérer rapidement de l'espace, pensez à utiliser une requête client pour supprimer des objets au lieu de les supprimer à l'aide d'ILM ou d'autres méthodes. En général, l'espace est libéré plus rapidement lors de la suppression d'espace par les clients, car StorageGRID peut utiliser la suppression synchrone.
Notez que le temps nécessaire pour libérer de l'espace après la suppression d'un objet dépend de plusieurs facteurs :
-
Si les copies d'objet sont supprimées de manière synchrone ou mises en file d'attente pour être supprimées ultérieurement (pour les demandes de suppression de client).
-
D'autres facteurs, tels que le nombre d'objets dans la grille ou la disponibilité des ressources de la grille lorsque les copies d'objet sont mises en file d'attente pour suppression (pour les suppressions de clients et d'autres méthodes).
Suppression d'objets avec version S3
Lorsque le contrôle de version est activé pour un compartiment S3, StorageGRID suit un comportement Amazon S3 pour répondre aux demandes de suppression, qu'elles proviennent d'un client S3, de l'expiration d'un cycle de vie d'un compartiment S3 ou des exigences de la règle ILM.
Lorsque des objets sont versionnés, les demandes de suppression d'objet ne suppriment pas la version actuelle de l'objet et ne libère pas d'espace. Au lieu de cela, une requête de suppression d'objet crée simplement un marqueur de suppression comme version actuelle de l'objet, ce qui fait de la version précédente de l'objet « non courant ».
Bien que l'objet n'ait pas été supprimé, StorageGRID se comporte comme si la version actuelle de l'objet n'est plus disponible. Les requêtes à cet objet renvoient 404 NotFound. Cependant, les données d'objet non actuelles n'ayant pas été supprimées, les demandes qui spécifient une version non actuelle de l'objet peuvent réussir.
Pour libérer de l'espace lors de la suppression d'objets multiversion, vous devez effectuer l'une des opérations suivantes :
-
Demande client S3 : spécifiez le numéro de version de l'objet dans la demande de SUPPRESSION d'objet S3 (
DELETE /object?versionId=ID
). Notez que cette demande ne supprime que les copies d'objet pour la version spécifiée (les autres versions occupent toujours de l'espace). -
Cycle de vie du godet : utilisez le
NoncurrentVersionExpiration
l'action en termes de configuration du cycle de vie des compartiments. Lorsque le nombre de NonactuelDays spécifié est atteint, StorageGRID supprime définitivement toutes les copies des versions d'objets non courants. Ces versions d'objet ne peuvent pas être restaurées. -
ILM : ajoutez deux règles ILM à votre politique ILM. Utilisez Noncurrent Time comme temps de référence dans la première règle pour correspondre aux versions non courantes de l'objet. Utilisez temps d'ingestion dans la deuxième règle pour correspondre à la version actuelle. La règle Noncurrent Time doit figurer dans la stratégie au-dessus de la règle Ingest Time.