Release notes
ЗАКРОМА.Хранение v 2.9.2
🚀 Новый функционал
Поддержка метода POST Object (S3 API)
Реализована поддержка метода POST Object S3 API. Метод позволяет загружать объекты через HTTP POST-запрос с использованием multipart/form-data и Policy Document, в том числе обеспечивает интеграцию с 1С.
Подробнее смотрите Поддержка методов AWS S3.
🐞 Исправления
- Исправлена утечка памяти в monolith при обращении к ZDS v2.
- Исправлена ошибка
unexpected EOFвzcliпри скачивании объектов в случае обрыва сети. Добавлен автоматический retry. - Исправлена паника при запуске монолита с включённым секлогом и недоступной базой данных.
ЗАКРОМА.Хранение v 2.9.1
🚀 Новый функционал
Управление параметрами и классом хранения ZDS v2
Добавлена возможность управлять классом хранения и схемой хранения нижнего слоя ZDS v2 непосредственно из административного интерфейса — без необходимости ручного редактирования конфигурационных файлов. При добавлении хранилища типа ZDS v2 в настройки хранения бакета теперь доступны новые поля: Класс хранения, Схема хранения.
Подробнее смотрите Настройка хранения бакета.
✨ Улучшения
Улучшена производительность системы хранения
Оптимизирован механизм обработки операций хранения, что повышает скорость выполнения запросов и снижает нагрузку на инфраструктуру при работе с большими объёмами данных.
🐞 Исправления
- Исправлена ошибка аварийного завершения процесса-обработчика при выполнении S3 Select запроса с
LIMIT 0. ЗапросSELECT * FROM s3object LIMIT 0теперь корректно возвращает ответ согласно спецификации AWS S3: событиеStatsс нулевым значениемBytesReturnedи завершающее событиеEndбез записей данных.
ZDS v2.1.0
🚀 Новый функционал
Поддержка нескольких схем EC в рамках одного кластера
В рамках одного кластера ZDS теперь поддерживается несколько схем EC одновременно. Схема хранения задаётся для каждого вольюма отдельно и может отличаться у разных вольюмов в рамках одного кластера. В ZDS v1 схема EC была единой для всего кластера.
Подробнее смотрите Как ZDS хранит данные и Рекомендации к подбору схемы Erasure Coding.
Поддержка режима репликации (FC) для вольюмов
Добавлена поддержка режима Full Copy (FC, репликация) для вольюмов ZDS. При создании вольюма теперь можно выбрать схему FC с параметрами replicas и minReplicas.
Подробнее смотрите Как ZDS хранит данные.
✨ Улучшения
Управление временными окнами фоновых процессов
Добавлена библиотека управления временными окнами для централизованного и гибкого управления фоновыми процессами (вакуум, сканирование, репейр). Процессы запускаются только внутри настроенных временных окон и сохраняют checkpoint при выходе из окна.
Подробнее смотрите Конфигурация ZDS.
Расширенный мониторинг
Добавлены новые метрики для мониторинга операций ввода-вывода, групп хранения, синхронизации ченджлога, а также фоновых процессов (сканирование, репейр, вакуум).
Подробнее смотрите Метрики ZDS.
Безопасное удаление вольюмов
Переработан механизм удаления вольюмов: после завершения процесса удаления и получения подтверждения от всех узлов запись автоматически удаляется из реестра — вольюм исчезает из листинга.
Подробнее смотрите Кластер ZDS и состояния компонентов.
Оптимизированная загрузка регистратора и асинхронная инициализация шардов
Оптимизирована загрузка регистратора при старте сервиса; шарды базы данных инициализируются асинхронно, что сокращает время запуска.
Улучшенное логирование в фоновых процессах и критических компонентах
Расширена детализация логов в фоновых процессах (сканирование, вакуум, репейр) и критических компонентах сервиса.
Параллельная запись при вызове write_file
Реализована параллельная запись партов файлов при вызове write_file, что повышает скорость записи данных.
Валидация имени вольюма
Добавлена валидация параметра volume для методов /volume/init и /inner/volume/init. Допустимые символы: латинские и русские буквы, цифры, ., -, _. Последовательность .. недопустима; при нарушении возвращается код 400.
Подробнее смотрите API ZDS.
Перенос getMetadataWithRepair в топологию
Получение метаданных с восстановлением (getMetadataWithRepair) перенесено из файлового сервиса в слой топологии.
Выбор схемы хранения при создании вольюма
Добавлена возможность указания схемы хранения (EC или FC) при создании вольюма через API и CLI. Также добавлена валидация комбинации класса хранения и схемы для внешних запросов.
Подробнее смотрите API ZDS и Командная строка (zcli).
🐞 Исправления
- Игнорирование ошибок синхронизации ченджлога для отсутствующих вольюмов: ошибки синхронизации для вольюмов, которых нет на узле, больше не блокируют работу.
- Исправлено отсутствие информации о классе хранения в ответе метода
/volume/list. Подробнее: API ZDS. - Исправлена логика коммита смещений (
ExternalOffset) для обеспечения целостности данных в распределённом кластере. - Ручной запуск сканирования теперь работает при отключённом фоновом режиме. Подробнее: API ZDS.
ЗАКРОМА.Хранение v 2.9
В релизе ЗАКРОМА.Хранение 2.9 основной акцент сделан на упрощении перехода с внешних S3-хранилищ на Закрома, расширении возможностей управления пользователями, добавлении лимитов (QoS), а также унификации доступа к S3 API для разных стилей адресации.
🚀 Новый функционал
Бесшовная миграция данных с внешних S3-хранилищ
Реализован режим миграции с поддержкой проксирования запросов к старому хранилищу для бесшовной миграции. Позволяет перевести клиентов с другого S3-хранилища (например, MinIO) на ЗАКРОМА с минимальным простоем (лишь на время переключения клиентов на другой S3-endpoint - 10-15 минут).
При включении миграции бакет блокируется на изменение конфигурации (группы хранения, политики), но операции с данными не прерываются.
Подробнее смотрите Бесшовная миграция с внешнего S3.
Единый endpoint ps/vs style
Упрощена настройка доступа к S3 API: path-style и virtual-hosted-style теперь доступны через единый адрес <workspace>.<FQDN>. Ранее нужно было использовать разные endpoint для разных стилей.
Изменение адреса глобального namespaceАдрес глобального namespace изменён с
gs.<FQDN>наglobal.<FQDN>. При обновлении с версии 2.8 необходимо обновить DNS-записи и настройки клиентских приложений. Для обратной совместимости старые адреса<workspace>.ps.<FQDN>и<workspace>.vs.<FQDN>можно добавить как дополнительные домены.
Локальные пользователи рабочей области
Администраторы рабочей области (роли Workspace-owner и Workspace-editor) теперь могут создавать локальных пользователей S3 API — аналогично созданию локальных групп. Локальные пользователи работают только с S3 API и не затрагиваются синхронизацией Keycloak.
Подробнее смотрите Локальные пользователи рабочей области.
Интеграция с Blitz по протоколу OIDC
Реализована интеграция с внешней системой идентификации Blitz по протоколу OIDC. Изменена конфигурация метода авторизации.
Подробнее смотрите Авторизация.
Управление лимитами (QoS) пропускной способности
Реализовано управление пропускной способностью S3 API на трёх уровнях: рабочая область (тенант), бакет, пользователь. Доступны следующие параметры:
- лимит скорости скачивания,
- лимит скорости загрузки,
- максимальный размер данных,
- лимит RPS (количество запросов в секунду).
При превышении лимитов запросы не отклоняются — они переводятся в режим ожидания.
Подробнее смотрите QoS — управление пропускной способностью S3 API.
✨ Улучшения
Оптимизация сканирования исторических хранилищ
Расчёт контрольных сумм (etag) теперь выполняется непосредственно на стороне целевых хранилищ (ZDS/S3). Сканирование использует только листинг объектов без передачи содержимого файлов на сервер Закрома.Хранение. Это значительно сокращает время сканирования и нагрузку на сеть при работе с хранилищами большого объёма.
Поддержка вложенных групп Keycloak
При использовании стратегии синхронизации sync_strategy: groups реализован рекурсивный обход вложенных групп Keycloak. Клиенты могут объединять пользователей из нескольких независимых доменов или разных LDAP-групп в единый список синхронизации.
ОграничениеПоддерживается не более 100 вложенных групп на корневом уровне иерархии.
Подробнее смотрите Авторизация.
ZCLI: управление S3 credentials другого пользователя
В утилиту командной строки zcli добавлен функционал создания и генерации ключей доступа S3 для других пользователей. Операция доступна администратору или пользователю с пермиссией users.
Подробнее смотрите Командная строка (zcli).
Бесшовное обновление
С версии 2.9 становится возможным полноценное бесшовное обновление (без простоя сервиса). Это стало возможным благодаря новой библиотеки миграций изменений базы данных и улучшениям Ansible-ролей установки, которые позволяют обновлять узлы кластера поочерёдно, не останавливая сервис целиком.
🐞 Исправления
- Исправлена работа параметра
skipCertificateVerificationпри создании хранилища. - Исправлена ошибка
403 SignatureDoesNotMatchпри подключении через s3fs.
Перед обновлением на 2.9Перед обновлением ознакомьтесь с инструкцией.