2.17. Скрипт tdgctl.py | Tdg
Документация на русском языке
поддерживается сообществом

2.17. Скрипт tdgctl.py

Скрипт tdgctl.py позволяет развернуть TDG и выполнить ряд операций по его администрированию. В дистрибутиве установки скрипт находится в директории /deploy.

Для использования скрипта необходимо подготовить файл конфигурации кластера в формате JSON.

2.17.1. Общий формат

tdgctl.py [-h] [-c <файл_конфигурации>] [-v] <команда> [<опции>]

Команды:

  • deploy — развертывание экземпляров (инстансов, instances);
  • upgrade — функциональное обновление экземпляров;
  • rm — удаление экземпляров;
  • logs — выгрузка логов экземпляров;
  • backup — резервное копирование экземпляров;
  • restore — восстановление данных из резервных копий;
  • stop — остановка экземпляров;
  • start — старт экземпляров.

Опции, общие для всех команд (далее в описании конкретных команд не упоминаются):

  • -h, --help — вывод подсказки по использованию скрипта;
  • -c <файл_конфигурации>, --config <файл_конфигурации> — путь к файлу конфигурации кластера в формате JSON. Если опция не указана, скрипт ищет по умолчанию файл с именем config.json в той же директории, где находится скрипт;

-v, --verbose — вывод полного лога работы команды.

Примечание

Каждая из команд применяется только к тем экземплярам, которые указаны в файле конфигурации, передаваемом через опцию -c.

2.17.2. Команда deploy

Используется для развертывания экземпляров.

Формат:

tdgctl.py deploy [-f] [-r] <файл_дистрибутива>

где

  • <файл_дистрибутива> — путь к файлу дистрибутива установки в формате архива tar.gz;
  • -f, --force — опция принудительной повторной установки (force re-deploy) на существующем кластере. Будет обновлена только функциональная часть, данные будут сохранены;
  • -r, --roles — опция развертывания экземпляров с назначением им ролей в кластере. Для работы с этой опцией в файле конфигурации кластера должны быть указаны роли для каждого из экземпляров. Например:
 "servers":
 [
     {
         "address": "172.19.0.2",
         "username": "admin",
         "instances":
         [
             {
                 "name": "core_1",
                 "binary_port": 3000,
                 "http_port": 8080,
                 "memory_mb": 128
                 "roles": ["connector", "input_processor"]
             },
             {
                 "name": "storage_1",
                 "binary_port": 3001,
                 "http_port": 8081,
                 "memory_mb": 1024
                 "roles": ["storage"]
             },

2.17.3. Команда upgrade

Используется для функционального обновления экземпляров.

Формат:

tdgctl.py upgrade [-f] <файл_дистрибутива>

где

  • <файл_дистрибутива> — путь к файлу дистрибутива установки в формате архива tar.gz;
  • -f, --force — опция принудительной установки. Обновляется функциональная часть; данные экземпляров сохраняются.

2.17.4. Команда rm

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

Формат:

tdgctl.py rm [-y]

где

-y, --yes — опция удаления без запроса подтверждения.

2.17.5. Команда logs

Используется для выгрузки логов всех экземпляров кластера.

Формат:

tdgctl.py logs [-d N]

где

-d N, --days N — опция выгрузки логов не старше N дней.

Для каждого из экземпляров кластера формируется файл лога с именем <instance_name>.log. При старте команды создается директория вида logs.yyyy-mm-ddThh:mm:ssZ, куда складываются все файлы логов, сформированные при данном выполнении команды (yyyy-mm-ddThh:mm:ssZ — дата и время на момент запуска команды).

2.17.6. Команда backup

Используется для резервного копирования данных с экземпляров.

Формат:

tdgctl.py backup [-c]

где

-c, --clear — опция очистки директории для резервных данных перед началом резервного копирования.

Резервные данные сохраняются отдельно для каждого из экземпляров в директории /var/lib/tarantool/<instance_name>.checkpoint/.

В качестве резервных данных система сохраняет следующие файлы для каждого из экземпляров:

2.17.7. Команда restore

Используется для восстановление данных из резервных копий экземпляров.

Формат:

tdgctl.py restore

2.17.8. Команда stop

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

Формат:

tdgctl.py stop [--backup]

где

--backup — опция для выполнения резервного копирования (box.snapshot()).

2.17.9. Команда start

Используется для старта экземпляров.

Формат:

tdgctl.py start