TDB Documentation portal logo
Помощь
Обновлена 30 июля 2026 г. в 16:49

Выполнение миграций с удалённой машины

В этом руководстве показано, как выполнить [миграции] с сервера, который не входит в состав кластера.

Руководство включает следующие шаги:

Пререквизиты

Для выполнения примера требуются:

  • установленный Docker-образ Tarantool DB;

  • приложение Docker compose;

  • исходные файлы примера migrations_from_remote_hosts.

Запустить кластер из этого примера можно любым доступным способом — через Ansible Tarantool Enterprise, docker compose или локально. В руководстве для запуска используется Docker compose.

Запуск и настройка стенда

Для запуска и настройки стенда используются файлы из папки migrations_from_remote_hosts:

  • docker-compose.yml — описание узлов кластера;
  • installer/topology.json — описание топологии кластера.

Перейдите в директорию примера migrations_from_remote_host:

cd ./docs/docs/ru/assets/examples/migrations_from_remote_host/

Запустите стенд через Docker compose:

docker compose up -d  --build

Чтобы проверить успешный запуск кластера, выполните следующую команду:

docker compose logs installer

При успешном старте последняя строка в выводе будет следующей:

installer-1  | [bootstrap.sh] Cluster started

Запущенный стенд состоит из:

  • кластера Tarantool DB из двух роутеров и двух шардов;
  • веб-сервера nginx, предоставляющего доступ к удаленному серверу по HTTP с авторизацией и балансировкой нагрузки.

Удаленный доступ к админ-функциям кластера доступен по адресу localhost:8000. Проверить и настроить узлы кластера изнутри можно в веб-интерфейсе Tarantool DB, например по адресу localhost:8081.

Запуск миграции

Для запуска миграции используются следующие файлы:

  • config.yml (./user-host/config.yml) — файл конфигурации кластера;
  • migrations/source/ (./user-host/migrations/source/) — директория, содержащая файлы миграций;
  • скрипт migrate.sh (./tools/client/migrate.sh) — загрузка конфигурации кластера, клиентского кода и выполнения миграций.

Перед запуском миграции скопируйте скрипт migrate.sh, выполняющий миграции, из директории tools/client:

cp ../../../tools/client/migrate.sh ./chmod a+x migrate.sh

Запустите миграцию:

TARANTOOLDB_TARGET_URI=localhost:8000 TARANTOOLDB_BOOTSTRAP_PATH=./user-host/ TARANTOOLDB_HEADERS="Authorization: Bearer 123" ./migrate.sh

Здесь для удаленного доступа используется авторизация по токену. В запросе авторизации должен присутствовать заголовок Authorization: Bearer 123. Логика проверки этого заголовка настроена в конфигурации nginx.

После успешного завершения миграции в консоли появится следующее сообщение:

Load config..Config loadedStart migrate..Migrations completed successfully

Проверить успешное выполнение миграций можно в веб-интерфейсе Tarantool DB, там можно увидеть загруженную конфигурацию кластера и созданные спейсы test1 и test2 (вкладка Space Explorer).

Остановка стенда

Чтобы остановить стенд, выполните следующую команду:

docker compose down