Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Comment supprimer les objets

Contributeurs

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 :

  • La suppression automatique d'objet a été déclenchée par l'un des événements suivants :

    • La date d'expiration ou le nombre de jours pendant la configuration du cycle de vie d'un compartiment S3 est atteint.

    • La dernière période spécifiée dans une règle ILM s'écoule.

    Remarque : les objets d'un compartiment pour lequel le verrouillage d'objet S3 est activé ne peuvent pas être supprimés s'ils sont en attente légale ou si une date de conservation jusqu'à a été spécifiée mais pas encore remplie.

  • Un client S3 ou Swift demande la suppression d'une ou plusieurs des conditions suivantes :

    • Les copies ne peuvent pas être supprimées dans les 30 secondes qui suivent, car, par exemple, un emplacement d'objet est temporairement indisponible.

    • Les files d'attente de suppression d'arrière-plan sont inactives.

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 :

  • Toutes les copies peuvent être supprimées en 30 secondes.

  • Les files d'attente de suppression d'arrière-plan contiennent des objets à traiter.

Lorsque des clients S3 ou Swift font des demandes de suppression, StorageGRID commence par ajouter des 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.

Temps nécessaire à la 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 peut-être que la vitesse de suppression semble lente 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.

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'objets ne suppriment pas la version actuelle de l'objet et ne libèrent pas d'espace. Une demande de suppression d'objet crée un marqueur de suppression de zéro octet en tant que version actuelle de l'objet, ce qui rend la version précédente de l'objet « non actuelle ». Un marqueur de suppression d'objet devient un marqueur de suppression d'objet expiré lorsqu'il s'agit de la version actuelle et qu'il n'existe aucune version non courante.

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 ou pour supprimer des marqueurs de suppression, utilisez l'une des méthodes suivantes :

  • Demande client S3 : spécifiez l'ID 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.

    Le NewerNoncurrentVersions L'action dans la configuration du cycle de vie du compartiment spécifie le nombre de versions non actuelles conservées dans un compartiment S3 versionné. S'il existe plus de versions non actuelles que NewerNoncurrentVersions Spécifie que StorageGRID supprime les anciennes versions lorsque la valeur NoncurrentDays est écoulée. Le NewerNoncurrentVersions Le seuil remplace les règles de cycle de vie fournies par ILM, ce qui signifie qu'un objet non actuel avec une version dans le système NewerNoncurrentVersions Le seuil est conservé si la requête ILM de suppression le requiert.

    Pour supprimer les marqueurs de suppression d'objets expirés, utilisez Expiration action avec l'une des balises suivantes : ExpiredObjectDeleteMarker, Days, ou Date.

  • ILM : "Cloner une règle active" Et ajouter deux règles ILM à la nouvelle règle :

    • Première règle : utilisez « Noncurrent Time » comme heure de référence pour faire correspondre les versions non actuelles de l'objet. Dans "Étape 1 (entrer les détails) de l'assistant de création de règles ILM", Sélectionnez Oui pour la question, "appliquer cette règle aux anciennes versions d'objet uniquement (dans les compartiments S3 avec gestion des versions activée) ?"

    • Deuxième règle : utilisez le temps d'ingestion pour correspondre à la version actuelle. La règle « Noncurrent Time » doit apparaître dans la police au-dessus de la règle Ingest Time.

      Remarque La gestion ILM ne permet pas de supprimer les marqueurs de suppression d'objets en cours. Utilisez une demande client S3 ou le cycle de vie des compartiments S3 pour supprimer les marqueurs de suppression d'objet en cours.
  • Supprimer les objets dans le compartiment : utilisez le gestionnaire de tenant pour "supprimez toutes les versions d'objet", y compris les marqueurs de suppression, d'un godet.

    Lorsqu'un objet versionné est supprimé, StorageGRID crée un marqueur de suppression de zéro octet comme version actuelle de l'objet. Tous les objets et les marqueurs de suppression doivent être supprimés avant qu'un compartiment multiversion ne puisse être supprimé.

    • Les marqueurs de suppression créés dans StorageGRID 11.7 ou version antérieure peuvent uniquement être supprimés par le biais de requêtes client S3. Ils ne sont pas supprimés par ILM, les règles de cycle de vie des compartiments ou par la suppression d'objets dans les opérations de compartiment.

    • Les marqueurs de suppression d'un compartiment créé dans StorageGRID 11.8 ou une version ultérieure peuvent être supprimés par ILM, les règles de cycle de vie des compartiments, la suppression d'objets dans les opérations de compartiment ou une suppression explicite d'un client S3. Les marqueurs de suppression expirés dans StorageGRID 11.8 ou version ultérieure doivent être supprimés par les règles de cycle de vie des compartiments ou par une requête client S3 explicite avec un ID de version spécifié.