Мигрировать в Объектное хранилище

Мигрировать в Объектное хранилище Selectel из хранилища другого провайдера (AWS S3, Azure, GCP и др.) можно через Rclone.

Перед миграцией данных из хранилища другого провайдера (исходного) в Объектное хранилище Selectel (целевое) подготовьте площадку для миграции.

Подготовить площадку для миграции

  1. Создайте контейнер в Объектном хранилище Selectel.
  2. Настройте права доступа для работы с хранилищем.
  3. Подключитесь к хранилищу через Rclone.
  4. Через Rclone создайте две новые конфигурации — для целевого и исходного хранилища. Для исходного хранилища используйте параметры текущего провайдера.

Мигрировать данные

  1. Выполните полное копирование объектов из исходного хранилища в целевое:

    rclone copy -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<container_name> <destination_provider>:<container_name>

    Укажите:

    • <transfers> — количество параллельных потоков копирования. 10 — рекомендуемое значение параметра. Уменьшите число потоков, если появляется большое количество ошибок тайм-аута;
    • <source_provider> — имя конфигурации исходного хранилища;
    • <destination_provider> — имя конфигурации целевого хранилища;
    • <container_name> — имя контейнера в целевом хранилище.
  2. Запустите синхронизацию. Будут скопированы только измененные или новые объекты из исходного хранилища:

    rclone sync -v -P --log-file=rclone.log --transfers=10 <source_provider>:<container_name> <destination_provider>:<container_name>

    Укажите:

    • <source_provider> — имя конфигурации исходного хранилища;
    • <destination_provider> — имя конфигурации целевого хранилища;
    • <container_name> — имя контейнера в целевом хранилище.
  3. Остановите работу тех сервисов, которые используют исходное хранилище. Это нужно для консистентности данных.

  4. Запретите изменение данных в исходном хранилище, оставьте только функцию чтения.

  5. Синхронизируйте хранилища, при этом ранее скопированные объекты будут пропущены:

    rclone sync -v -P --log-file=rclone.log --transfers=10 <source_provider>:<container_name> <destination_provider>:<container_name>

    Укажите:

    • <source_provider> — имя конфигурации исходного хранилища;
    • <destination_provider> — имя конфигурации целевого хранилища;
    • <container_name> — имя контейнера в целевом хранилище.
  6. Когда синхронизация будет завершена, переключите работу сервисов на Объектное хранилище Selectel.

  7. Опционально: удалите данные из исходного хранилища.