Миграция облачного хранилища из Servers.ru в S3
Вы можете самостоятельно перенести данные из облачного хранилища Servers.ru (Swift) в S3 от Selectel.
Для миграции можно использовать разные инструменты для работы с S3, например:
- Rclone (рекомендуемый способ) — поддерживает прямую передача данных без промежуточного копирования, а также сегментированную загрузку при высокой скорости передачи данных. Подходит для переноса большого объема данных;
- графический клиент Cyberduck — не поддерживает копирование и прямой перенос данных из Servers.ru в S3. Потребуется скачать данные из хранилища Servers.ru и загрузить в S3 вручную;
- протокол FTP — не поддерживает копирование и прямой перенос данных из Servers.ru в S3. Потребуется скачать данные из хранилища Servers.ru и загрузить в S3 вручную. Работает только с бакетами S3, которые находятся в пулах ru-1 и ru-7.
Если в процессе миграции возникнут трудности:
- на стороне Servers.ru — обратитесь в службу поддержки Servers.ru;
- на стороне Selectel — создайте тикет.
Выполнить миграцию
- Подготовьте S3.
- Настройте доступ к S3.
- Получите данные для подключения к Servers.ru.
- Настройте инструмент и перенесите данные.
- Проверьте результаты миграции.
1. Подготовить S3
-
Если у вас еще нет аккаунта в панели управления my.selectel.ru:
1.1. Зарегистрируйте аккаунт в панели управления.
1.2. Пополните баланс.
-
Создайте бакет S3 в нужном пуле. Мы рекомендуем создавать бакет в пуле ru-7.
2. Настроить доступ к S3
Настроить доступ может Владелец аккаунта или пользователь с ролью iam.admin.
- Создайте сервисного пользователя с ролью с доступом в S3.
Если вы используете сервисного пользователя с ролью
s3.user,object_storage_userилиs3.bucket.user, в бакете должна быть настроена политика доступа и ее правила должны разрешать доступ этому пользователю. - Выдайте пользователю S3-ключ.
3. Получить данные для подключения к Servers.ru
-
В панели управления Servers.ru откройте вкладку Облачное хранилище.
-
В блоке Реквизиты доступа скопируйте и сохраните данные:
-
логин и пароль для доступа через Swift API к Servers.ru;
-
домен для Keystone v3 (Swift) в формате
https://auth.files.<region>.cloud.servers.ru:5000/v3/, гдеauth.files.<region>.cloud.Servers.<domain_zone>— адрес сервера, в котором:<region>— регион, в котором находится хранилище Servers.ru;<domain_zone>— доменная зона:ruилиcom.
-
если вы будете использовать FTP, хост FTP в формате
ftp.files.<region>.cloud.servers.ru, где<region>— регион, в котором находится хранилище Servers.ru.
-
4. Настроить инструмент и перенести данные
Rclone
Cyberduck
FTP
Подробнее о работе с Rclone в инструкции Rclone.
-
Создайте конфигурацию для подключения к Servers.ru:
2.1. Откройте режим конфигурирования:
rclone configВ консоли появится диалог:
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config2.2. Создайте новую конфигурацию:
n/s/q> n2.3. Введите имя подключения к удаленному хранилищу, например
serversru:name> serversru2.4. Введите тип хранилища OpenStack Swift:
Storage> swift2.5. Выберите способ получения авторизационных данных, который указан после строки
Enter AWS credentials in the next step:env_auth> false2.6. Введите логин:
user> <login>Укажите
<login>— логин, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.2.7. Введите пароль:
key> <password>Укажите
<password>— пароль, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.2.8. Введите URL для доступа по Swift API:
endpoint> <swift_domain>Укажите
<swift_domain>— введите адрес сервера, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.2.9. В параметре
auth_versionвведите3:auth_version> 32.10. Опциональные параметры оставьте пустыми.
2.11. В параметре
Option domainвведитеdefault.2.12. Параметр
Edit advanced configоставьте пустым или введитеn.2.13. Проверьте конфигурацию. Если конфигурация верная, нажмите Enter. Если нет, введите
eи отредактируйте конфигурацию.2.14. Подтвердите создание конфигурации:
y/e/d> y2.15. Выйдите из диалога настроек:
e/n/d/r/c/s/q> q -
Опционально: посмотрите данные, которые будут скопированы, без выполнения копирования:
rclone copy serversru:<container_name> selectel:<bucket_name> --dry-runУкажите:
<serversru_name>— имя подключения к Servers.ru, которое вы указали на шаге 2.3;<container_name>— имя контейнера Servers.ru;<selectel_name>— имя подключения к S3, которое вы указали при создании конфигурации на шаге 4;<bucket_name>— имя бакета в S3.
-
Перенесите данные одним из способов:
-
скопируйте все данные из контейнера Servers.ru в бакет S3:
rclone copy <serversru_name>:<container_name> <selectel_name>:<bucket_name> --progressУкажите:
<serversru_name>— имя подключения к Servers.ru, которое вы указали на шаге 2.3;<container_name>— имя контейнера Servers.ru;<selectel_name>— имя подключения к S3, которое вы указали при создании конфигурации на шаге 4;<bucket_name>— имя бакета в S3;- опционально:
--progress— опция, которая включает отображение прогресса копирования.
-
или синхронизируйте данные — в S3 будут удалены данные, которых нет в Servers.ru:
rclone sync <serversru_name>:<container_name> <selectel_name>:<bucket_name> --progress
-
Подробнее о работе с Cyberduck в инструкции Cyberduck.
-
Если в панели управления Servers.ru доступен готовый профиль Swift Keystone v3, подключитесь к Servers.ru через него:
2.1. Скачайте профиль.
2.2. Откройте профиль. Он будет применен автоматически.
-
Если готовый профиль недоступен, подключитесь к Servers.ru вручную:
3.1. Откройте Cyberduck.
3.2. Нажмите Новое подключение.
3.3. В верхнем поле откройте список и выберите протокол Swift (OpenStack Object Storage).
3.3. Введите адрес сервера, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
3.4. Введите порт —
5000.3.5. Введите логин, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
3.6. Введите пароль, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
3.7. Нажмите Подключиться.
-
Скачайте данные из хранилища Servers.ru:
5.1. Откройте окно с подключением к Servers.ru.
5.2. Выберите файлы и папки, которые хотите перенести.
5.3. Нажмите правой кнопкой мыши на файлы и выберите Скачать на компьютер.
-
Загрузите данные в S3:
6.1. Откройте окно с подключением к S3.
6.2. Откройте бакет, данные из которого хотите перенести.
6.3. Нажмите Загрузить и выберите скачанные файлы.
Подробнее о работе по FTP в инструкции FTP.
-
Подключитесь к Servers.ru по FTP:
1.1. Откройте FTP-клиент.
1.2. Введите адрес хоста FTP, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
1.3. Введите порт — 21.
1.4. Введите логин, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
1.5. Введите пароль, который вы сохранили при получении данных для подключения к Servers.ru на этапе 3.
1.6. Подключитесь к FTP-хосту.
-
Скачайте данные, которые вы хотите перенести в S3.
-
Откройте бакет, который вы создали при подготовке S3 на этапе 1.
-
Загрузите в бакет данные, которые вы скачали на шаге 2.
5. Проверить результаты миграции
Проверить результаты миграции необходимо до удаления данных из хранилища Servers.ru.
-
Убедитесь, что все данные появились в бакете S3.
-
Обновите настройки приложений, которые используют данные хранилища:
2.1. Укажите домены S3 вместо доменов Servers.ru.
2.2. Укажите S3-ключ, который вы выдали при настройке доступа к S3 на этапе 2, вместо данных для доступа к Servers.ru.
2.3. Если название бакета в S3 отличается от названия контейнера, которое было в хранилище Servers.ru, укажите название бакета S3.
-
Проверьте работу приложений после обновления настроек.