Миграция в объектное хранилище
Миграция в объектное хранилище
Осуществить миграцию данных в объектное хранилище из хранилища другого провайдера (например, AWS S3, Azure, GCP) можно через Rclone.
- Подготовьте площадку для миграции.
- Выполните миграцию данных из исходного хранилища в объектное хранилище Selectel (целевое).
1. Подготовить площадку для миграции
- Создайте контейнер в объектном хранилище.
- Подключитесь к хранилищу через Rclone.
- Создайте две новые конфигурации через S3 API — для целевого и исходного хранилища. Для исходного хранилища используйте параметры текущего провайдера.
2. Миграция данных
-
Выполните копирование объектов из исходного хранилища в целевое:
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>
— имя контейнера в целевом хранилище.
-
Запустите синхронизацию. Будут скопированы только измененные или новые объекты из исходного хранилища:
rclone sync -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<container_name> <destination_provider>:<container_name>
-
Остановите работу тех сервисов, которые используют исходное хранилище. Это нужно для консистентности данных.
-
Запретите изменение данных в исходном хранилище, оставьте только функцию чтения.
-
Синхронизируйте хранилища (ранее скопированные объекты будут пропущены):
rclone sync -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<container_name> <destination_provider>:<container_name>
-
Когда синхронизация будет завершена, переключите работу сервисов на объектное хранилище.
-
Опционально: удалите данные из исходного хранилища.