Перейти к основному содержимому
Миграция в объектное хранилище
Последнее изменение:

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

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

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

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

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

2. Миграция данных

  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=<transfers> <source_provider>:<container_name> <destination_provider>:<container_name>
  3. Остановите работу тех сервисов, которые используют исходное хранилище. Это нужно для консистентности данных.

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

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

    rclone sync -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<container_name> <destination_provider>:<container_name>
  6. Когда синхронизация будет завершена, переключите работу сервисов на объектное хранилище.

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