Версионирование и жизненный цикл
Версионирование бакетов
Версионирование сохраняет предыдущие состояния объекта при перезаписи и удалении. Это защищает от ошибочной перезаписи и является обязательным условием для 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-загрузки
Правила 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 и тиринг холодных данных в дополнительный ЦОД — см. о сервисе.