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