Перейти к основному содержимому

Версионирование и жизненный цикл

Версионирование бакетов

Версионирование сохраняет предыдущие состояния объекта при перезаписи и удалении. Это защищает от ошибочной перезаписи и является обязательным условием для Object Lock.

Включается на уровне бакета через S3 API или Tenant Manager.

примечание

С включённым версионированием удаление объекта не освобождает место: создаётся маркер удаления, а прежние версии продолжают храниться, пока их не удалит правило жизненного цикла.

Политики жизненного цикла

Правила S3 Lifecycle описывают, что происходит с объектами со временем: через сколько дней удалять объекты и когда убирать неактуальные версии.

Проверено на нашей инсталляции — принимаются правила:

ПравилоЧто делает
ExpirationУдаляет объекты через заданное число дней
NoncurrentVersionExpirationУдаляет неактуальные версии через заданное число дней

Правила загружаются как политика бакета:

s3cmd setlifecycle policy.xml s3://BUCKET
s3cmd getlifecycle s3://BUCKET
s3cmd dellifecycle s3://BUCKET

Простое правило истечения задаётся короткой командой:

s3cmd expire s3://BUCKET

Незавершённые multipart-загрузки

warning

Правила AbortIncompleteMultipartUpload платформой не поддерживаются: запрос с таким правилом отклоняется с ошибкой 400 MalformedXML — AbortIncompleteMultipartUpload rules are not supported. Автоматически вычистить брошенные загрузки политикой жизненного цикла нельзя.

Незавершённые загрузки занимают место, но не видны в обычном списке объектов. Находите и прерывайте их вручную:

s3cmd multipart s3://BUCKET
s3cmd abortmp s3://BUCKET/OBJECT <UploadId>

Заведите это в регламент обслуживания хранилища: без периодической проверки брошенные части копятся незаметно.

ILM-политики платформы

Помимо клиентских правил жизненного цикла, на стороне платформы действуют ILM-политики StorageGRID — они определяют размещение объектов, их репликацию и срок хранения на уровне инфраструктуры.

Разница простая: политики S3 Lifecycle настраиваете вы и они управляют содержимым бакета; ILM-политики настраиваем мы и они управляют тем, как и где физически лежат копии объекта.

Для частных инсталляций доступны нестандартные ILM-политики, включая Erasure Coding и тиринг холодных данных в дополнительный ЦОД — см. о сервисе.