Миграцию можно провести самостоятельно или создать заявку в техническую поддержку в личном кабинете Cloud.ru. В заявке укажите имена исходного бакета и бакета назначения вместе с access key и secret key.
Для самостоятельной миграции выполните процедуры ниже:
Для миграции рекомендуется использовать утилиты командной строки Rclone.
Установите Rclone из репозитория своего дистрибутива Linux.
Выполните конфигурацию для хранилища-источника:
rclone config create {{ endpoint_source }}_{{ bucket_source }} s3 provider=Other secret_access_key={{ secret_key_source }} access_key_id={{ access_key_source }} env_auth=false endpoint={{ endpoint_source }} acl=private
Где:
endpoint_source — адрес хранилища-источника;
bucket_source — бакет в источнике;
secret_key_source — секретный ключ для источника;
access_key_source — идентификатор ключа для источника.
Выполните конфигурацию для целевого хранилища:
rclone config create {{ endpoint_target }}_{{ bucket_target }} s3 provider=Other secret_access_key={{ secret_key_target }} access_key_id={{ access_key_target }} env_auth=false endpoint={{ endpoint_target }} acl=private
Где:
endpoint_target — адрес целевого хранилища;
bucket_target — бакет в целевом хранилище;
secret_key_target — секретный ключ для целевого хранилища;
access_key_target — идентификатор ключа для целевого хранилища.
Выполните полную синхронизацию:
rclone copy -v -P --log-file=logs.log --transfers=256 --checkers=200 source:bucket target:bucket
Для хранилища OBS используйте virtual-hosted style.
Выполните докопирование без удаления ранее скопированных файлов:
rclone copy -v -P --log-file=logs.log --transfers=256 --checkers=200 --update source:bucket target:bucket
Чтобы изменить количество потоков, внесите изменения в опции --transfers=256 и --checkers=200.
Если памяти не хватает для размещения кеша, команда завершится ответом о недостатке памяти.
Чтобы посмотреть размер хранилища, выполните следующую команду:
rclone size source:rclone size target:bucket
Чтобы посмотреть папки и бакеты источника или таргета, выполните следующую команду:
rclone lsd source:
Чтобы посмотреть содержимое источника или таргета, выполните следующую команду:
rclone ls source:
Настройте ACL для каждого мигрированного объекта в новом бакете:
Проверьте:
наличие всех объектов в бакете;
подключение тестовой инсталляции своей информационной системы к новому бакету по новым URL.
При необходимости поменяйте способ взаимодействия на Virtual Host Style.
Повторно запустите команду синхронизации.
Специалисты Cloud.ru могут запустить процесс миграции дельты изменений самостоятельно.
После досинхронизации повторно настройте доступ к объектам в новом бакете и выполните проверку.
Повторите процедуры по досинхронизации, повторной настройке доступа к объектам и проверку, пока дельта не станет достаточна мала для остановки приложений.
Остановите сервисы в продуктиве, использующие S3.
Проверьте наличие всех объектов в бакете.
Подключите продуктивную инсталляцию своей информационной системы к новому бакету по новым URL.
При необходимости поменяйте способ взаимодействия на Virtual Host Style.