2.17. Скрипт tdgctl.py¶
Скрипт tdgctl.py
позволяет развернуть TDG и выполнить
ряд операций по его администрированию.
В дистрибутиве установки скрипт находится в
директории /deploy
.
Для использования скрипта необходимо подготовить файл конфигурации кластера
в формате JSON
.
2.17.1. Общий формат¶
tdgctl.py [-h] [-c <файл_конфигурации>] [-v] <команда> [<опции>]
Команды:
- deploy – развертывание инстансов;
- 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()
).