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

Перед обновлением ознакомьтесь с инструкцией.

Смотрите также
Архитектура решения