Переменные PITR-восстановления
В этом разделе приведены переменные окружения сценария PITR-восстановления
playbooks/restore_pitr.yml. Сценарий восстанавливает кластер Tarantool 3.x на момент времени T
из резервной копии, созданной сценарием playbooks/backup_pitr.yml, на основе утилиты
tt restore (планирование точки восстановления и применение архивов на целевых узлах).
Все переменные имеют префикс tarantool_pitr_ и задаются глобально, например через
--extra-vars или в файле инвентаря. Сценарий переиспользует общие переменные раскладки
хранилища из резервирования (tarantool_pitr_storage, tarantool_pitr_storage_root,
tarantool_pitr_cluster_name, tarantool_pitr_environment, tarantool_pitr_tt_bin_dir) и
переменные роли tt для подключения к централизованному хранилищу конфигурации
tt_config_storage_* (см. раздел
LINK_NOT_DEFINED(/ru/variable-reference/tt-variables)
Переменная | Описание |
|---|---|
| Значение, передаваемое в |
| Хост, на котором выполняется фаза |
| Хосты кластера, на которых выполняется остановка и применение архивов.
Тип: |
Переменные tarantool_pitr_cluster_name и tarantool_pitr_environment необязательны. Они
выбирают поддерево хранилища <root>/<prefix>/<cluster-name>/<environment>/ и должны совпадать
с теми, что использовались при резервировании (backup_pitr.yml). Если обе переменные пусты,
резервные копии читаются непосредственно из корня хранилища (или из его prefix).
tarantool_pitr_environment задаётся только вместе с tarantool_pitr_cluster_name.
Переменная | Описание |
|---|---|
| Имя кластера — первый компонент поддерева хранилища
( |
| Окружение (например |
Момент восстановления выбирается автоматически: по умолчанию — последняя доступная точка. Задать его явно можно одним из двух способов ниже.
Точки восстановления создаются не сценарием резервирования, а встроенной ролью
roles.recovery-point-manager (периодически, на каждом наборе реплик); без неё tt restore plan
не найдёт ни одной точки (см. LINK_NOT_DEFINED(/ru/variable-reference/pitr-variables)).
Переменная | Описание |
|---|---|
| Момент восстановления, передаваемый в Если переменная пуста, сценарий восстанавливает на последнюю точку: для этого он читает
манифесты хранилища |
| Имя точки восстановления. Когда задана, сценарий разрешает её во временную метку, читая манифесты
хранилища |
Переменная | Описание |
|---|---|
| Корневой каталог локальной файловой системы хранилища |
tt restore plan разрешает момент восстановления только по кластерным точкам восстановления —
одинаковой метке (label) на всех наборах реплик манифеста. Встроенная роль
roles.recovery-point-manager создаёт точки только на наборах реплик storage и никогда на
vshard-роутере (и других stateless-компонентах), поэтому нефильтрованный tt restore plan
возвращает no_recovery_point. Переменная tarantool_pitr_restore_replicasets позволяет сузить восстановление до storage.
Переменная необязательна; если она пуста, сценарий сам вычисляет отличные от storage наборы реплик (роутеры и прочие stateless-компоненты) в инвентаре и исключает их.
Исключённые наборы реплик не восстанавливаются; после tt restore plan их достаточно просто запустить, и они стартуют с пустого состояния и подключаются к восстановленному кластеру.
Переменная | Описание |
|---|---|
| Белый список для |
Переменная | Описание |
|---|---|
| Директория, содержащая бинарный файл |
Фаза plan (и раздача скачанных архивов) выполняется один раз на хосте восстановления. Хост
восстановления обязателен: чтобы выполнять plan на управляющем узле Ansible, явно задайте
tarantool_pitr_restore_host: localhost.
Переменная | Описание |
|---|---|
| Хост, на котором выполняется фаза |
Переменная | Описание |
|---|---|
| Локальный каталог, передаваемый в |
Tarantool 3.x хранит снимки данных, WAL и vinyl-файлы в раздельных каталогах (snapshot.dir,
wal.dir, vinyl.dir). tt restore apply запускается отдельно для каждого записанного в манифесте
экземпляра с флагом --instance <имя> и подключается к централизованному хранилищу конфигурации
флагом -c, поэтому раздельные каталоги tt считывает из конфигурации кластера и сам
раскладывает файлы по нужным каталогам. Каталог, не вынесенный отдельно, наследуется от
work_dir экземпляра. Флаг --patch-uuid <uuid> вшивает UUID экземпляра в заголовки снапшотов
и WAL, чтобы восстановленный экземпляр сохранил свой идентификатор.
Перед очисткой каталогов данных сценарий переносит их в сторону (переименование в
<dir>.pre-restore-<ts>), а не удаляет сразу. Это позволяет откатиться, если tt restore apply
упадёт после очистки: удалите восстановленные каталоги и переименуйте <dir>.pre-restore-*
обратно. После успешного восстановления (tt restore apply выполнен на всех узлах) сценарий сам
удаляет <dir>.pre-restore-*, чтобы освободить место.
Переменная | Описание |
|---|---|
| Когда |