Перейти к содержанию

S3-совместимый MinIO

Требования применяются к production S3-совместимому object storage на MinIO. Общие требования к data services, TLS и backup определены в смежных инфраструктурных документах. Уровни обязательности определены в корневом README.md.

INF-DAT-005. Контракт bucket

Уровень: MUST

Применяется к: production MinIO bucket

Bucket должен иметь владельца, классификацию данных, quota, lifecycle/retention, политику доступа и правила versioning. Достижение quota и retention expiry должны иметь определённый наблюдаемый результат.

Если объекты нельзя восстановить из другого authoritative источника в пределах RTO, цель должна объявлять capability persistent-data и выполнять INF-BCK-001INF-BCK-003 и INF-BCK-006INF-BCK-010.

Обоснование

Bucket без жизненного цикла и границ доступа бесконтрольно накапливает данные.

Проверка

  • запрос bucket policy, lifecycle, quota и versioning;
  • негативный тест доступа другой роли;
  • тест достижения quota и удаления по lifecycle;
  • валидация persistent-data и restore невоспроизводимого объекта.

Исключения

Versioning MAY быть отключён для воспроизводимых объектов с ограниченным сроком.

INF-DAT-014. Отказные домены MinIO

Уровень: MUST

Применяется к: production MinIO профиля high-availability

Erasure set должен распределяться между независимыми узлами и дисками так, чтобы сохранять чтение и запись при каждом заявленном в failure_tolerance отказе. Несколько процессов, volumes или каталогов на одном физическом диске не должны считаться независимыми копиями.

После каждого заявленного в failure_tolerance отказа свободная usable capacity должна быть не меньше объёма частей, которые требуется восстановить для возврата всех retained objects к настроенной redundancy. Расчёт должен учитывать quota остальных buckets.

Обоснование

Логическое число drives не обеспечивает устойчивость, если их данные и свободная ёмкость имеют общий физический отказный домен.

Проверка

  • сопоставление erasure set с topology узлов и дисков;
  • отказ каждого заявленного домена под чтением и записью;
  • проверка checksum объектов до и после healing;
  • тест доступной ёмкости для полного healing.

Исключения

Профиль single-instance находится вне области требования и не должен заявлять устойчивость к отказу узла или диска.