Cómo se eliminan los objetos
StorageGRID puede eliminar objetos ya sea en respuesta directa a una solicitud del cliente o automáticamente como resultado de la expiración del ciclo de vida de un bucket S3 o los requisitos de la política ILM. Comprender las diferentes formas en que se pueden eliminar objetos y cómo StorageGRID maneja las solicitudes de eliminación puede ayudarlo a administrar objetos de manera más efectiva.
StorageGRID puede utilizar uno de dos métodos para eliminar objetos:
-
Eliminación sincrónica: cuando StorageGRID recibe una solicitud de eliminación de cliente, todas las copias de objetos se eliminan inmediatamente. Después de eliminar las copias se informa al cliente que la eliminación se realizó correctamente.
-
Los objetos se ponen en cola para su eliminación: cuando StorageGRID recibe una solicitud de eliminación, el objeto se pone en cola para su eliminación y se informa inmediatamente al cliente que la eliminación se realizó correctamente. Las copias de objetos se eliminan más tarde mediante el procesamiento ILM en segundo plano.
Al eliminar objetos, StorageGRID utiliza el método que optimiza el rendimiento de la eliminación, minimiza los posibles retrasos en la eliminación y libera espacio más rápidamente.
La tabla resume cuándo StorageGRID utiliza cada método.
| Método para realizar la eliminación | Cuando se utiliza |
|---|---|
Los objetos se ponen en cola para su eliminación |
Cuando cualquiera de las siguientes condiciones sea verdadera:
|
Los objetos se eliminan inmediatamente (eliminación sincrónica) |
Cuando un cliente S3 realiza una solicitud de eliminación y se cumplen todas las siguientes condiciones:
|
Cuando los clientes S3 realizan solicitudes de eliminación, StorageGRID comienza agregando objetos a la cola de eliminación. Luego pasa a realizar la eliminación sincrónica. Asegurarse de que la cola de eliminación en segundo plano tenga objetos para procesar permite que StorageGRID procese las eliminaciones de manera más eficiente, especialmente para clientes de baja concurrencia, al mismo tiempo que ayuda a prevenir retrasos en la eliminación de clientes.
Tiempo necesario para eliminar objetos
La forma en que StorageGRID elimina objetos puede afectar el funcionamiento aparente del sistema:
-
Cuando StorageGRID realiza una eliminación sincrónica, puede tardar hasta 30 segundos en devolver un resultado al cliente. Esto significa que puede parecer que la eliminación ocurre más lentamente, aunque en realidad las copias se eliminan más rápido que cuando StorageGRID pone en cola los objetos para su eliminación.
-
Si supervisa de cerca el rendimiento de eliminación durante una eliminación masiva, es posible que observe que la tasa de eliminación parece ser lenta después de que se haya eliminado una cierta cantidad de objetos. Este cambio se produce cuando StorageGRID pasa de poner en cola objetos para su eliminación a realizar una eliminación sincrónica. La aparente reducción en la tasa de eliminación no significa que las copias de objetos se estén eliminando más lentamente. Por el contrario, indica que, en promedio, ahora se está liberando espacio más rápidamente.
Si está eliminando una gran cantidad de objetos y su prioridad es liberar espacio rápidamente, considere usar una solicitud de cliente para eliminar objetos en lugar de eliminarlos mediante ILM u otros métodos. En general, el espacio se libera más rápidamente cuando la eliminación la realizan los clientes porque StorageGRID puede usar la eliminación sincrónica.
La cantidad de tiempo necesaria para liberar espacio después de eliminar un objeto depende de varios factores:
-
Si las copias de objetos se eliminan de forma sincrónica o se ponen en cola para su eliminación más tarde (para solicitudes de eliminación del cliente).
-
Otros factores, como la cantidad de objetos en la red o la disponibilidad de recursos de la red cuando las copias de objetos se ponen en cola para su eliminación (tanto para eliminaciones de cliente como para otros métodos).
Cómo se eliminan los objetos versionados de S3
Cuando el control de versiones está habilitado para un bucket S3, StorageGRID sigue el comportamiento de Amazon S3 al responder a solicitudes de eliminación, ya sea que dichas solicitudes provengan de un cliente S3, la expiración del ciclo de vida de un bucket S3 o los requisitos de la política ILM.
Cuando los objetos están versionados, las solicitudes de eliminación de objetos no eliminan la versión actual del objeto y no liberan espacio. En cambio, una solicitud de eliminación de objeto crea un marcador de eliminación de cero bytes como la versión actual del objeto, lo que hace que la versión anterior del objeto sea "no actual". Un marcador de eliminación de objeto se convierte en un marcador de eliminación de objeto vencido cuando es la versión actual y no hay versiones no actuales.
Incluso aunque el objeto no se haya eliminado, StorageGRID se comporta como si la versión actual del objeto ya no estuviera disponible. Las solicitudes a ese objeto devuelven 404 NotFound. Sin embargo, debido a que no se han eliminado los datos del objeto no actual, las solicitudes que especifican una versión no actual del objeto pueden tener éxito.
Para liberar espacio al eliminar objetos versionados o para quitar marcadores de eliminación, utilice una de las siguientes opciones:
-
Solicitud de cliente S3: especifique el ID de la versión del objeto en la solicitud S3 DELETE Object(
DELETE /object?versionId=ID). Tenga en cuenta que esta solicitud solo elimina copias de objetos de la versión especificada (las otras versiones aún ocupan espacio). -
Ciclo de vida del bucket: utilice el
NoncurrentVersionExpirationacción en la configuración del ciclo de vida del bucket. Cuando se alcanza la cantidad de NoncurrentDays especificada, StorageGRID elimina de forma permanente todas las copias de versiones de objetos no actuales. Estas versiones de objetos no se pueden recuperar.El
NewerNoncurrentVersionsLa acción en la configuración del ciclo de vida del bucket especifica la cantidad de versiones no actuales que se conservan en un bucket S3 versionado. Si hay más versiones no actuales queNewerNoncurrentVersionsespecifica que StorageGRID elimina las versiones anteriores cuando ha transcurrido el valor NoncurrentDays. ElNewerNoncurrentVersionsEl umbral anula las reglas del ciclo de vida proporcionadas por ILM, lo que significa que un objeto no actual con una versión dentro delNewerNoncurrentVersionsEl umbral se mantiene si ILM solicita su eliminación.Para eliminar los marcadores de eliminación de objetos caducados, utilice el
Expirationacción con una de las siguientes etiquetas:ExpiredObjectDeleteMarker,Days, oDate. -
ILM:"Clonar una política activa" y agregue dos reglas ILM a la nueva política:
-
Primera regla: utilice “Tiempo no actual” como tiempo de referencia para que coincida con las versiones no actuales del objeto. En"Paso 1 (Ingresar detalles) del asistente para crear una regla de ILM" , seleccione Sí para la pregunta "¿Aplicar esta regla solo a versiones de objetos anteriores (en depósitos S3 con control de versiones habilitado)?"
-
Segunda regla: utiliza Tiempo de ingesta para que coincida con la versión actual. La regla "Hora no actual" debe aparecer en la política encima de la regla Hora de ingestión.
Para eliminar marcadores de eliminación de objetos vencidos, utilice una regla de Tiempo de ingesta para que coincida con los marcadores de eliminación actuales. Los marcadores de eliminación solo se eliminan cuando ha transcurrido un Período de tiempo de Días y el creador de eliminación actual ha expirado (no hay versiones no actuales).
-
-
Eliminar objetos en el depósito: utilice el administrador de inquilinos para"eliminar todas las versiones de los objetos" , incluidos los marcadores de eliminación, de un depósito.
Cuando se elimina un objeto versionado, StorageGRID crea un marcador de eliminación de cero bytes como la versión actual del objeto. Todos los objetos y marcadores de eliminación deben eliminarse antes de poder eliminar un depósito versionado.
-
Los marcadores de eliminación creados en StorageGRID 11.7 o versiones anteriores solo se pueden eliminar mediante solicitudes de cliente S3, no se eliminan mediante ILM, reglas de ciclo de vida del bucket ni mediante la eliminación de objetos en operaciones de bucket.
-
Los marcadores de eliminación de un depósito creado en StorageGRID 11.8 o posterior se pueden quitar mediante ILM, reglas de ciclo de vida del depósito, operaciones de eliminación de objetos en el depósito o una eliminación explícita del cliente S3.