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/
.
В качестве резервных данных система сохраняет следующие файлы для каждого из экземпляров:
*.snap
— файлы снимка данных (snapshot) на момент резервного копирования;config.yml
— файл конфигурации системы из рабочей директории;config.backup.yml
— резервная копия файла конфигурации системы.
2.17.7. Команда restore¶
Используется для восстановление данных из резервных копий экземпляров.
Формат:
tdgctl.py restore
2.17.8. Команда stop¶
Используется для остановки экземпляров.
Формат:
tdgctl.py stop [--backup]
где
--backup
— опция для выполнения резервного копирования (box.snapshot()
).