Бесшовная миграция с внешнего S3

Назначение

Бесшовная миграция позволяет перевести клиентов с действующего S3-хранилища (например, MinIO) на ЗАКРОМА.Хранение с минимальным простоем — не более 15–30 минут на всю операцию переключения.

Клиентские приложения продолжают работу без остановки: старые файлы остаются доступны через старое S3, новые файлы сразу записываются в Закрома.

Два вида миграции

Данная статья описывает перенос данных с внешнего S3-хранилища в Закрома. Если вам нужно перенести данные между группами хранения внутри Закрома — используйте Миграцию данных.

Сценарий 1: Переключение клиента, работающего с бакетом

Требования

  • Бакет в Закрома должен быть пустым — без данных и без групп хранения.
  • В бакете не должно быть вольюмов «Только для чтения».
  • На одном бакете может существовать только один прокси.

Шаги

1. Создайте новый бакет в Закрома

Перейдите в нужную рабочую область и создайте бакет (например, bucketNew).

2. Добавьте группу хранения с миграцией

Нажмите + Добавить группу хранения. В открывшемся окне:

  1. Выберите хранилище типа S3 — ваш исходный MinIO или другой S3.
  2. Установите переключатель «Мигрировать исторические данные».
  3. Укажите исходный путь — путь к данным в старом S3.
  4. Укажите целевое хранилище и путь — куда будут перенесены данные в Закрома.
  5. Нажмите Сохранить.

После сохранения бакет заблокирован для изменения конфигурации — группы хранения, политики и другие настройки недоступны до завершения миграции.

3. Создайте пользователя и настройте права доступа

Создайте пользователя и права доступа для работы с новым бакетом bucketNew.

4. Переключите клиентские приложения

В клиентском S3-приложении укажите новые параметры подключения:

  • Endpoint — адрес Закрома Gateway
  • Access key / Secret key — ключи доступа в Закрома
  • BucketbucketNew

Поведение во время миграции

Операция клиентаПоведение
Чтение файла (уже смигрированного)Читается из Закрома
Чтение файла (ещё не смигрированного)Проксируется на старый S3
Запись нового файлаЗаписывается в целевое хранилище Закрома
Изменение / удаление объектаВыполняется и в старом S3, и в Закрома
Листинг объектовВыполняется на старом S3 (через прокси)

Клиент не замечает переключения — все запросы к объектам, которых ещё нет в Закрома, прозрачно транслируются на старое хранилище.

Завершение миграции

После переноса всех объектов прокси на старое хранилище удаляется автоматически. Бакет продолжает работу как обычный бакет Закрома. Данные на старом S3 не удаляются автоматически — при необходимости удалите их вручную.


Сценарий 2: Прерывание миграции

Если необходимо остановить миграцию до её завершения:

  1. Откройте карточку мигрируемого бакета.
  2. Нажмите кнопку прерывания миграции.

После прерывания:

  • Все фоновые задачи миграции останавливаются.
  • Уже смигрированные данные остаются в новом хранилище.
  • Старое S3-хранилище остаётся в консистентном состоянии.
  • Бакет доступен для работы, но только с теми файлами, которые уже смигрированы. Файлы, не перенесённые до прерывания, становятся недоступны.

Ограничения

  • Бакет для бесшовной миграции должен быть пустым на момент начала.
  • На одном бакете — только один прокси.
  • Во время миграции нельзя изменять конфигурацию бакета (группы хранения, политики).