Больше не нужно искать работу мечты — присоединяйтесь к команде Клауда
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Миграция данных в хранилище S3

Перенести данные в наше хранилище можно как автоматически, используя функционал панели, так и с помощью сторонних инструментов, например, Rclone. В статье рассмотрим оба этих способа.

Автоматический перенос данных

Вы можете выполнить перенос данных из любого S3-совместимого хранилища в хранилище Timeweb Cloud через вашу панель управления. Также этот функционал позволяет переносить данные между бакетами внутри нашего хранилища.

Для того, чтобы запустить перенос:

  1. В разделе «Хранилище S3» перейдите на страницу бакета и откройте вкладку «Перенос данных».
  2. Введите полные реквизиты для подключения к стороннему хранилищу. Запросить эти данные можно у вашего текущего провайдера хранилища.

Image1

  1. Нажмите «Начать перенос». В зависимости от количества объектов в исходном бакете время выполнения переноса может различаться. Прогресс копирования будет отображаться на странице бакета желтым индикатором.

Для миграции постоянно изменяющихся данных следует сочетать этот способ с ручной синхронизацией, описанной ниже.

Обратите внимание, что «Перенос данных» выполняет копирование данных с перезаписью существующих файлов. Чтобы избежать перезаписи, требуется синхронизация.

Миграция данных с помощью Rclone

Этот способ предпочтителен при переносе значительных объемов данных (например, если количество объектов исчисляется миллионами) и постоянно изменяющихся данных.

Для миграции потребуется:

  1. Созданный бакет с нужным тарифом.
  2. Компьютер или виртуальный сервер для управления процессом с установленной утилитой Rclone.

Процесс состоит из нескольких этапов, рассмотрим их по порядку.

1. Подготовка

Получите реквизиты доступа к бакету у стороннего провайдера и настройте Rclone.

Добавьте в утилиту два профиля (remote) — с реквизитами стороннего провайдера и с реквизитами нашего хранилища. Далее в статье для примеров будут использоваться имена профилей other-provider и tw-cloud.

2. Первоначальное копирование данных

При больших объемах данных процесс может занимать значительное время, поэтому имеет смысл запускать команду для копирования в сессии tmux или screen. Это позволит вам оставить команду работающей в фоне и отключиться от сервера.

Запустите новую сессию tmux командой:

tmux new -s storage-migration

Запустите копирование объектов командой следующего вида:

rclone copy -v -P --log-file=rclone.log --transfers=128 [other-provider]:[bucket-name] tw-cloud:[bucket-name]

Подставьте в команду соответствующие данные.

Здесь опция --transfers определяет число параллельных загрузок. Чем их больше, тем быстрее будет происходит копирование, однако максимальное число загрузок ограничивается возможностями компьютера, на котором команда запускается. При возникновении ошибок уменьшите число.

Отключиться от сессии tmux можно, набрав сочетание клавиш Ctrl+B + D (сперва надо набрать Ctrl+B, затем отпустить клавиши и нажать D). Вы увидите сообщение [detached (from session storage-migration)].

Подключиться к работающей сессии tmux можно командой:

tmux a

3. Синхронизация данных

Дождитесь окончания копирования и запустите синхронизацию:

rclone sync -v -P --log-file=rclone.log --transfers=128 [other-provider]:[bucket-name] tw-cloud:[bucket-name]

В целевой бакет будут скопированы только изменившиеся или новые файлы.

4. Остановка сервиса и финальная синхронизация

Для сохранения консистентности данных потребуется временно отключить сервис. В это время надо запустить финальную синхронизацию:

rclone sync -v -P --log-file=rclone.log --transfers=128 [other-provider]:[bucket-name] tw-cloud:[bucket-name]

Синхронизация должна быть быстрее предыдущей, если между ними прошло немного времени и новых данных не успело накопиться большое количество.

5. Настройте сервис на работу с новым хранилищем

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

После успешного переключения сервисов на новое хранилище данные из старого хранилища можно удалить. 

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев