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-001–INF-BCK-003 и INF-BCK-006–INF-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 находится вне области требования и не должен
заявлять устойчивость к отказу узла или диска.