cfg_binary_logging_snapshots
- force_recovery
- wal_max_size
- snap_io_rate_limit
- wal_mode
- wal_dir_rescan_delay
- wal_queue_max_size
- wal_cleanup_delay
- wal_ext
- secure_erasing .. cfg_binary_logging_snapshots-force_recovery:
Начиная с версии 1.7.4.
Если параметр force_recovery равен true, Tarantool пытается продолжить
работу при возникновении ошибки чтения
файла снимка (при запуске экземпляра сервера)
или файла журнала упреждающей записи (при запуске
экземпляра сервера или при применении обновления на реплике): пропускает
некорректные записи, считывает максимально возможный объем данных и
завершает процесс с предупреждением. Предотвратить повторное появление
ошибки можно, записав данные в базу и выполнив
box.snapshot().
В противном случае Tarantool прерывает восстановление при возникновении ошибки чтения.
Тип: boolean
Значение по умолчанию: false
Переменная окружения: TT_FORCE_RECOVERY
Динамический: нет
Начиная с версии 1.7.4.
Максимальное количество байт в одном файле журнала упреждающей записи.
Если запрос приведет к тому, что размер файла .xlog превысит
wal_max_size, Tarantool создает новый WAL-файл.
Тип: integer
Значение по умолчанию: 268435456 (256 * 1024 * 1024) байт
Переменная окружения: TT_WAL_MAX_SIZE
Динамический: нет
Начиная с версии 1.4.9.
Чтобы уменьшить влияние
box.snapshot() на производительность операций INSERT/UPDATE/DELETE, задайте
ограничение на количество мегабайт в секунду, записываемых на диск. Того
же эффекта можно достичь, разделив расположение
wal_dir и memtx_dir и
перенеся снимки на отдельный диск. Это ограничение также влияет на то,
что
box.stat.vinyl().regulator
может показывать для скорости записи дампов в файлы .run и .index.
Тип: float
Значение по умолчанию: null
Переменная окружения: TT_SNAP_IO_RATE_LIMIT
Динамический: да
Начиная с версии 1.6.2.
Задает режим синхронизации фибер-WAL-диск:
none: журнал упреждающей записи не ведется. Узел с параметромwal_mode, установленным в значениеnone, не может быть мастером репликации.write: фиберы ожидают записи своих данных в журнал упреждающей записи (безfsync(2)).fsync: фиберы ожидают записи своих данных,fsync(2)выполняется после каждогоwrite(2).
Тип: string
Значение по умолчанию: "write"
Переменная окружения: TT_WAL_MODE
Динамический: нет
Начиная с версии 1.6.2.
Интервал времени в секундах между периодическими сканированиями каталога файлов журнала упреждающей записи для проверки изменений в этих файлах в целях репликации или горячего резерва.
Тип: float
Значение по умолчанию: 2
Переменная окружения: TT_WAL_DIR_RESCAN_DELAY
Динамический: нет
Начиная с версии 2.8.1.
Размер очереди (в байтах), используемой репликой для отправки новых транзакций в журнал упреждающей записи (WAL). С помощью этого параметра можно ограничить скорость, с которой реплика отправляет транзакции в WAL. Ограничение размера очереди может быть полезно, когда реплика пытается синхронизироваться с мастером и считывает новые транзакции быстрее, чем записывает их в WAL.
Тип: number
Значение по умолчанию: 16777216 байт
Переменная окружения: TT_WAL_QUEUE_MAX_SIZE
Динамический: да
Начиная с версии 2.6.3.
Задержка в секундах, используемая для предотвращения немедленного
удаления файлов журнала упреждающей записи
сборщиком мусора Tarantool
после перезапуска узла. Эта задержка исключает возможные ошибочные
ситуации, когда мастер удаляет WAL-файлы, необходимые
репликам, после перезапуска. В результате реплики
синхронизируются с мастером быстрее после его перезапуска и не нуждаются
в повторной загрузке всех данных. После запуска и работы всех узлов в
наборе реплик плановая сборка мусора возобновляется, даже если время
wal_cleanup_delay еще не истекло.
Тип: number
Значение по умолчанию: 14400 секунд
Переменная окружения: TT_WAL_CLEANUP_DELAY
Динамический: да
Начиная с версии 2.11.0.
(Только в Enterprise Edition) Доступна возможность добавления вспомогательной информации к каждой записи журнала упреждающей записи. Например, можно включить сохранение старого и нового кортежа для каждой выполняемой операции CRUD. Эта информация может быть полезна для реализации утилиты CDC (Change Data Capture), преобразующей поток репликации данных.
Включить сохранение старых и новых кортежей можно следующим образом:
-
Установите параметры
oldиnewв значениеtrueдля сохранения старых и новых кортежей в журнале упреждающей записи для всех спейсов.box.cfg {wal_ext = { old = true, new = true }} -
Для настройки этих параметров для отдельных спейсов используйте параметр
spaces.box.cfg {wal_ext = {old = true, new = true,spaces = {space1 = { old = false },space2 = { new = false }}}}Конфигурация для отдельных спейсов имеет приоритет над глобальной конфигурацией, поэтому для
space1в журнал добавляются только новые кортежи, а дляspace2– только старые.
Записи с дополнительными полями реплицируются следующим образом:
- Если реплика не поддерживает расширенный формат, настроенный на мастере, вспомогательные поля пропускаются.
- Если конфигурации WAL-записей на реплике и мастере различаются, конфигурация мастера игнорируется.
Тип: map
Значение по умолчанию: nil
Переменная окружения: TT_WAL_EXT
Динамический: да
Начиная с версии 3.0.0.
(Только в Enterprise Edition) Если установлено значение true,
Tarantool перезаписывает файл данных несколько раз перед удалением,
чтобы сделать восстановление удаленного файла невозможным. Параметр
применяется как к файлам .xlog и .snap, так и к файлам данных Vinyl.
Тип: boolean
Значение по умолчанию: false
Переменная окружения: TT_SECURE_ERASING
Динамический: да