VK Object Storage logo
Помощь
Обновлена 20 августа 2026 г. в 21:45

Описание конфигураций

Конфигурирование тачинга

Помимо настроек параметров конфигурационного файла Go-toucher, на тачинг влияют конфигурации компонентов:

Файл конфигурации Go-toucher

По умолчанию файл конфигурации Go-toucher располагается в директории /etc/go-toucher/config.yml.

Пример описания параметров конфигурации Go-toucher:

app:  id: mcs-touching-mono01  name: go-toucher  version: v1.1.10-rc.1server:  ip_address: 127.0.0.1  port: 8000nylon:  etcd:    endpoints:      - http://10.1.0.100:2379      - http://10.1.0.101:2379      - http://10.1.0.102:2379    prefix: /hotbox/nylonmatter:  etcd:    endpoints:      - http://10.1.0.100:2379      - http://10.1.0.101:2379      - http://10.1.0.102:2379    prefix: /hotbox/matter  cluster_streamer:    workdir: "/var/lib/go-toucher/parquet"    row_group_size: 1800    spaces:      objects:      upload_parts:processor:  beater:    period: 0.25stoucher:  workdir: "/var/lib/go-toucher/parquet"  failed_reports_dir: "/var/lib/go-toucher/failed_reports/"  workers_count: 5  worker_timeout: 1mlog:  level: INFO  format: text  enable_source: false  targets:    - type: syslog      enabled: true      syslog:        address: "/run/systemd/journal/syslog"        priority: 6        tag: go-toucher

Секции в файле конфигурации Go-toucher:

  • app — основные параметры приложения (таблица 1).
  • server — параметры конфигурации сервера (таблица 2).
  • nylon — параметры конфигурации кластера Nylon (таблица 3).
  • matter — параметры конфигурации кластера Matter (таблица 4).
  • processor — параметры процессора, отвечающего за обработку задачи на тачинг (таблица 5).
  • toucher — параметры конфигурации Go-toucher (таблица 6).
  • state_db — параметры конфигурации внутренней БД, хранящей состояние обработки задачи на тачинг (таблица 7).
  • log — параметры конфигурации логирования (таблица 8).

Параметры секции app

Таблица 1 — Параметры секции app

Параметр

Описание

Формат

Обязательный

id

Идентификатор демона Go-toucher

string

Описание конфигураций

name

Имя приложения

string

Описание конфигураций

version

Версия приложения

string

Описание конфигураций

shutdown_timeout

Тайм-аут для завершения всех текущих процессов приложения, сек. Значение по умолчанию — 10

string duration

Описание конфигураций

Параметры секции server

Таблица 2 — Параметры секции server

Параметр

Описание

Формат

Обязательный

ip_address

IP-адрес сервера

string

Описание конфигураций

port

Порт сервера

int

Описание конфигураций

read_timeout

Максимальный промежуток времени чтения запроса, включающий чтение тела. Если значение 0 или отрицательное — тайм-аут отключен

string duration

Описание конфигураций

read_header_timeout

Время, отведенное для чтения заголовков запроса. Если значение 0 или отрицательное, используется read_timeout

string duration

Описание конфигураций

write_timeout

Максимальная длительность до тайм-аута при записи ответа

string duration

Описание конфигураций

idle_timeout

Максимальное значение времени ожидания следующего запроса при включенном keep-alive. Если значение 0 или отрицательное, используется read_timeout

string duration

Описание конфигураций

max_header_bytes

Максимальное количество байт, которое сервер будет считывать при анализе ключей и значений заголовка запроса, включая строку запроса (не включает тело запроса)

int

Описание конфигураций

Конфигурация параметров кластера Nylon

Пример конфигурации:

etcd:     endpoints:     prefix:    timeout_per_req:    username:    password:    max_retries:    base_delay:    time_lag_for_applying_changes:instances:    instance_name:      cluster:      box:        listen:pool:     check_timeout:    retrier:      num:      duration:    pacer:      rps:
Таблица 3 — Конфигурация параметров кластера Nylon

Параметр

Описание

Формат

Обязательный

etcd — секция с описанием конфигурации Etcd. Секция заполняется, если в конфигурации есть кластеры и узлы

endpoints

Эндпоинты Etcd. Формат записи — host:port

string

Описание конфигураций

prefix

Префикс необходимых ключей

string

Описание конфигураций

timeout_per_req

Время ожидания заголовка ответа. Значение по умолчанию — 0

string duration

Описание конфигураций

username

Имя для доступа к Etcd. Значение по умолчанию — не задано

string

Описание конфигураций

password

Пароль для доступа к Etcd. Значение по умолчанию — не задано

string

Описание конфигураций

max_retries

Количество попыток в одной итерации (сколько раз будет повышаться base_delay) для повторного запуска watcher для Etcd. Значение по умолчанию — 10

int

Описание конфигураций

base_delay

Первое значение (для экспоненциальной длительности) времени между новой попыткой запуска watcher Etcd при неудаче, мс. Значение по умолчанию — 500

string duration

Описание конфигураций

time_lag_for_applying_changes

Промежуток времени для применения новых данных из Etcd, сек. Значение по умолчанию — 10

string duration

Описание конфигураций

instances — секция с описанием узлов Tarantool

instance_name

Имя тарантула в кластере

string

Описание конфигураций

cluster

Имя кластера этого тарантула

string

Описание конфигураций

box

Конфигурация подключения к тарантулу

Описание конфигураций

listen

IP-адрес подключения к Tarantool

string

Описание конфигураций

pool — секция с описанием конфигурации подключения к кластерам

check_timeout

Тайм-аут для переподключения закрытого соединения, сек. Значение по умолчанию — 10

string duration

Описание конфигураций

retrier

Конфигурация retrier на количество попыток для подключения к кластеру

Описание конфигураций

num

Количество попыток переподключения при неудачном подключении к кластеру. Значение по умолчанию — 60

int

Описание конфигураций

(если задан retrier)

duration

Время ожидания между попытками для успешного выполнения задачи тачинга, в секундах. Значение по умолчанию — 1

string

Описание конфигураций

(если задан retrier)

pacer

Запрос pacer чтобы искусственно ограничивать частоту запросов

string

Описание конфигураций

rps

Количество запросов в секунду

int

Описание конфигураций

(если задан retrier)

Конфигурация параметров кластера Matter

Таблица 4 — Параметры конфигурации Matter, влияющие на тачинг

Параметр

Описание

Значение по умолчанию

touching.default_get_timeout

Тайм-аут по умолчанию для функции GET, используемой Go-toucher

1

touching.heartbeat_sleep_time

Частота вызова процесса проверки активности тачинга

1

touching.reset_time

Время ожидания сигналов от Go-toucher: если они не приходят, тачинг переходит в исходное состояние

60

touching.reset_restart_time

Время ожидания сигналов от Go-toucher: если они не приходят, тачинг сбрасывается и перезапускается

0.5

touching.max_get_timeout

Максимальный тайм-аут для функции GET, используемый Go-toucher

60

Параметры секции processor

Таблица 5 — Параметры секции processor

Параметр

Описание

Формат

Обязательный

period

Период между обработкой задач на тачинг, сек. Значение по умолчанию — 1

string duration

Описание конфигураций

complete retrier

Конфигурация retrier на количество попыток для complete задачи на Matter

Описание конфигураций

num

Количество попыток на успех тачинг задачи, сек. Значение по умолчанию — 100

int

Описание конфигураций

(если установлен complete)

duration

Ожидание между попытками на успех тачинг задачи, сек. Значение по умолчанию — 0,5

string

Описание конфигураций

(если установлен complete)

beater

Сервис для удерживания тачинга за Go-toucher

Описание конфигураций

period

Период между heartbeat-запросами

string duration

Описание конфигураций

Параметры секции toucher

Таблица 6 — Параметры секции toucher

Параметр

Описание

Формат

Обязательный

workdir

Директория, из которой происходит выгрузка parquet-файлов

string

Описание конфигураций

workers_count

Количество воркеров для разбора parquet-файлов и отправки хешей на Nylon

int

Описание конфигураций

retry_limit

Количество попыток загрузки пачки хешей в Nylon, после достижения которых она считается ошибкой. Значение по умолчанию — 10

int

Описание конфигураций

parquet_reader_parallel

При создании ридера для parquet задается parallel number, желательно выставлять в количество воркеров. Значение по умолчанию — workers_count

int

Описание конфигураций

worker_timeout

Лимит времени для обработки пачки хешей воркерами (если не управился, обработка завершается и передается другому воркеру). Значение по умолчанию — workers_count

string duration

Описание конфигураций

in_progress_wait

Промежуток времени, по истечении которого задача считается зависшей (задача снова перемещается в статус TO DO). Значение по умолчанию — 10

string duration

Описание конфигураций

missed_count_retrying

Количество итераций на обработку всех parquet-файлов и буфера хешей с ошибками. Значение по умолчанию — 3

int

Описание конфигураций

Параметры секции state_db

Таблица 7 — Параметры секции state_db

Параметр

Описание

Формат

Обязательный

queue

Очередь для обработки пачек хешей из parquet-файлов

Описание конфигураций

transaction_group_size

Размер транзакции при загрузке пачек хешей в очередь на обработку воркерами. Значение по умолчанию — 100

int

Описание конфигураций

Параметры секции log

Пример конфигруации:

log:   level:  disable_time:  enable_source:  targets:    - type:      enabled:      path:      syslog:        network:        address:        priority:        tag:  format:
Таблица 8 — Параметры секции log

Параметр

Описание

Формат

Обязательный

level

Текущий уровень логирования. Возможные значения: DEBUG, INFO, WARN, ERROR

string

Описание конфигураций

disable_time

Отключает логирование времени. Значение по умолчанию — false

boolean

Описание конфигураций

enable_source

Включает логирование функции источника вызова. Значение по умолчанию — false

boolean

Описание конфигураций

targets

Секция с описанием целей для записи логов. Будет загружена первая включенная цель enabled. Если все цели выключены, будет использован /dev/stdout

Описание конфигураций

type

Тип лога. Возможные значения: stream, syslog

string

Описание конфигураций

enabled

Включение цели

boolean

Описание конфигураций

path

Путь до файла лога

string

Описание конфигураций

syslog

Базовые настройки syslog

Описание конфигураций

network

Протокол передачи данных: TCP или UDP

string

Описание конфигураций

address

IP-адрес до сервера syslog

string

Описание конфигураций

priority

Уровень приоритета: 0-7

int

Описание конфигураций

tag

Метка сообщений syslog. Если значение не задано, будет использовано имя бинарного файла

string

Описание конфигураций

format

Формат вывода лога. Одно из значений: TXT или JSON

string

Описание конфигураций

Файл конфигурации Hitbox

Путь к конфигурации Hitbox приведен в таблице 1

Таблица 9 — Параметры конфигурации Hitbox, влияющие на тачинг

Параметр

Описание

Значение по умолчанию

touching

touching.schedule.cron

Расписание запуска в формате cron

0 0 0 * * *

touching.schedule.enabled

Включен ли запуск по расписанию

false

touching.schedule.run_interval

Частота проверки расписания

60

touching.schedule.restart_time

Время до перезапуска работы по расписанию в случае падения

60

touching.workers.enabled

Включен ли процесс тачинга

false

touching.workers.run_interval

Частота проверки и обработки текущего состояния тачинга

60

touching.workers.restart_time

Время до перезапуска работы проверки и обработки текущего состояния тачинга в случае падения

60

touching.complete_approve_required

Нужно ли вручную подтверждать успешное завершение тачинга

false

touching.cancel_approve_required

Если значение true, то из состояния тачинга FAILED можно выйти только командой cancel или restart. Если false — автоматически переходит в CANCELLING_MATTER

false

nylon

nylon.max_connections

Максимальное количество записей в кеше. Не рекомендуется устанавливать значение меньше, чем в параметре nylon.max_total_connections. Если значение параметра nylon.max_connections будет меньше, чем в nylon.max_total_connections, сокеты для запросов, отправляемых на один и тот же хост, могут не переиспользоваться. Когда лимит nylon.max_connections достигнут, создается новый сокет, который отправляет запрос и ожидает освобождения старого соединения и закрывает его, чтобы не превышать лимит

-1

nylon.max_total_connections

Указывает максимальное количество активных подключений

nylon.backoff.min_delay

Минимальная задержка до повторного запроса в случае ошибки HTTP-запроса к Nylon

0.1

nylon.backoff.max_delay

Максимальная задержка до повторного запроса в случае ошибки HTTP-запроса к Nylon

15

nylon.backoff.factor

При ошибке HTTP-запроса к Nylon устанавливает, во сколько раз изменится задержка до повторного запроса

2

Пример конфигурации:

app:  multisite:    enabled: true    id: "0"    s3_version: "1.61.0"    hync_timeout: 1    ttr: 10    peers:      interval: 60      restart_time: 5      strict_version_check: false    control_plane:      enabled: true      ttr: 10      yield_sleep_time: 0.01      fail_sleep_time: 0.1    control_plane_resync:      enabled: true      ttr: 10      yield_sleep_time: 0.01      fail_sleep_time: 0.1      policebank_timeout: 4      policebank_retries: 3    control_plane_resync_tasks:      enabled: true      ttr: 10      yield_sleep_time: 0.01      fail_sleep_time: 0.1
Таблица 10 — Параметры конфигурации Hitbox для асинхронной репликации

Параметр

Описание

Значение по умолчанию

Основные параметры — префикс: app.multisite.*

enabled

Включение или выключение multisite. Доступные значения:

  • true;
  • false

id

Идентификатор текущей инсталляции в кластере multisite

s3_version

Версия инсталляции; используется для проверки совместимости пиров

hync_timeout

Тайм-аут в секундах обращения к Hync при синхронизации метаданных и данных между установками

1

ttr

TTR задачи в очереди метаданных, в секундах

10

Фоновая синхронизация пиров — префикс: app.multisite.peers.*

interval

Интервал в секундах между циклами фоновой синхронизации пиров

60

restart_time

Время в секундах перед перезапуском фонового воркера синхронизации пиров

5

strict_version_check

Включение или выключение строгой проверки совпадения версий между пирами

false

Очередь синхронизации метаданных (multisite_xqmeta) [Control Plane] — префикс: app.multisite.control_plane.*

enabled

Включение или выключение обработки очереди метаданных

true

ttr

TTR задачи в очереди метаданных, в секундах

10

yield_sleep_time

Время ожидания в секундах при yield в цикле обработки очереди метаданных

0.01

fail_sleep_time

Время ожидания в секундах при ошибке обработки задачи в очереди метаданных

0.1

Очередь ресинхронизации метаданных (multisite_xqmeta_resync) — префикс: app.multisite.control_plane_resync.*

enabled

Включение или выключение обработки очереди

true

ttr

Time-to-run в секундах задачи в очереди. Нужен для xqueue TTR

10

yield_sleep_time

Время ожидания в секундах при yield в цикле обработки очереди

0.01

fail_sleep_time

Время ожидания в секундах при ошибке обработки задачи в очереди

0.1

policebank_timeout

Тайм-аут в секундах вызова policebank для создания задачи на повторную синхронизацию. Нужен для xqueue TTR. Должен быть больше или равен app.policebank.client.call_timeout

4

policebank_retries

Количество повторных попыток вызова policebank для создания задачи на повторную синхронизацию

3

Очередь задач ресинхронизации метаданных (multisite_xqmeta_resync_tasks) [Control Plane] — префикс: app.multisite.control_plane_resync_tasks.*

enabled

Включение или выключение обработки очереди

true

ttr

TTR задачи в очереди, в секундах. Нужен для xqueue TTR

10

yield_sleep_time

Время ожидания в секундах при yield в цикле обработки очереди

0.01

fail_sleep_time

Время ожидания в секундах при ошибке обработки задачи в очереди

0.1

Файл конфигурации Haron

Файл конфигурации Haron находится в директории /etc/storage-daemons/config.yaml.

Таблица 11 — Параметры конфигурации Haron

Параметр

Описание

Значение по умолчанию

haron.remove_orphan

Период, через который удаляются orphan-файлы

720h

haron.remove_old

Период, через который удаляются устаревшие файлы

720h

Таблица 12 — Параметры конфигурации Haron для репликации

Параметр

Описание

Значение по умолчанию

haron.redundancy.enabled

Использовать новые версии API, поддерживающие работу с юнитами

false

Файл конфигурации Matter

Путь к конфигурации Matter приведен в таблице 1.

Пример конфигурации:

etcd:    endpoints:     prefix:    timeout_per_req:    username:    password:    max_retries:    base_delay:    time_lag_for_applying_changes:clusters:    cluster_name:      master:instances:     instance_name:      cluster:      box:        listen:cluster_streamer:    workdir:    row_group_size:    retry:      num:      duration:    spaces:      space_name:pool:     check_timeout:    retrier:      num:      duration:
Таблица 13 — Конфигурация параметров кластера Matter

параметр

Описание

Формат

Обязательный

etcd — секция с описанием конфигурации Etcd. Секция описывается, если в конфигурации есть кластеры и узлы

endpoints

Эндпоинты Etcd. Формат записи — host:port

string

Описание конфигураций

prefix

Префикс необходимых ключей

string

Описание конфигураций

timeout_per_req

Время ожидания заголовка ответа. Значение по умолчанию — 0

string duration

Описание конфигураций

username

Имя для доступа к Etcd. Значение по умолчанию — не задано

string

Описание конфигураций

password

Пароль для доступа к Etcd. Значение по умолчанию — не задано

string

Описание конфигураций

max_retries

Количество попыток в одной итерации (сколько раз будет повышаться base_delay) для повторного запуска watcher для Etcd. Значение по умолчанию — 10

int

Описание конфигураций

base_delay

Первое значение (для экспоненциальной длительности) времени между новой попыткой для запуска watcher Etcd при неудаче. Значение по умолчанию — 500 (миллисекунд)

string duration

Описание конфигураций

time_lag_for_applying_changes

Промежуток времени для применения новых данных из Etcd. Значение по умолчанию — 10 (секунд)

string duration

Описание конфигураций

instances — секция с описанием узлов Tarantool

instance_name

Имя Tarantool в кластере

string

Описание конфигураций

cluster

Имя кластера этого Tarantool

string

Описание конфигураций

box

Конфигурация подключения к Tarantool

 

Описание конфигураций

listen

IP-адрес Tarantool

string

Описание конфигураций

cluster_streamer — секция с описанием конфигурации коннектора анонимной реплики для скачивания снимков

workdir

Директория для хранения снимков в виде parquet-файлов

string

Описание конфигураций

row_group_size

Размер группы хешей в parquet-файлах

int

Описание конфигураций

retry

Конфигурация, настраивающая повторные попытки соединения анонимной реплики с кластером Matter при обрыве

string

Описание конфигураций

num

Максимальное количество попыток скачивания снимков. Значение по умолчанию — 3

string

Описание конфигураций

(если не установлен complete)

duration

Период попыток скачивания снимков, в секундах. Значение по умолчанию — 1

string

Описание конфигураций

(если не установлен complete)

spaces

Список пространств для выгрузки в parquet-файлы

string

Описание конфигураций

space_name

Уникальный space для выгрузки в parquet-файл

string

Описание конфигураций

pool — секция с описанием конфигурации подключения к кластерам

check_timeout

Тайм-аут для переподключения закрытого соединения, сек. Значение по умолчанию — 10

string duration

Описание конфигураций

retrier

Конфигурация retrier на количество попыток для подключения к кластеру

Описание конфигураций

num

Количество попыток переподключения при неудачном подключении к кластеру. Значение по умолчанию — 60

int

Описание конфигураций

(если задан retrier)

duration

Время ожидания между попытками на успех задачи тачинга, сек. Значение по умолчанию — 1

string

Описание конфигураций

(если задан retrier)

pacer

Механизм для искусственного ограничения частоты запросов (request pacer)

string

Описание конфигураций

rps

Количество запросов в секунду

int

Описание конфигураций

(если задан retrier)

Пример конфигурации:

shinobi:    disabled: false     default_clusters:      1: 'shinobi_01'      2: 'shinobi_02'    connect_timeout: 1    timeout: 1    ping_interval: 1    ping_timeout: 0.5    reconnect_interval: 5    max_failcount: 10
Таблица 14 — Параметры конфигурации Shinobi в Matter

Параметр

Описание

Значение по умолчанию

disabled

Если true, модуль Shinobi отключен

false

default_clusters

Список кластеров, которые будут использоваться для работы с Matter. Ключ — идентификатор кластера, значение — его имя. Если значение не указано, будут использоваться все кластеры, найденные в Etcd

connect_timeout

Максимальное время ожидания подключения к серверу Shinobi (в секундах)

1

timeout

Общее время ожидания ответа от сервера (в секундах)

1

ping_interval

Интервал между пингами для проверки активности соединения (в секундах)

1

ping_timeout

Таймаут ожидания ответа на пинг (в секундах)

0.5

reconnect_interval

Интервал между попытками переподключения после потери соединения (в секундах)

5

max_failcount

Максимальное количество неудачных попыток подключения до того, как будет отключен модуль

10

Пример:

queue_shinobi:    disabled: false    debug: false    workers: 10    max_delay: 900
Таблица 15 — Параметры конфигурации Shinobi

Параметр

Описание

Значение по умолчанию

disabled

Если true, очередь shinobi_queue будет отключена. Если false, очередь включена и будет обрабатывать задачи

false

debug

Если true, в логах будут выводиться дополнительные отладочные сообщения, связанные с обработкой задач в очереди. Информация поможет в диагностике проблем

false

workers

Количество параллельных воркеров (процессов или потоков), которые будут обрабатывать задачи из очереди. Чем больше воркеров, тем выше производительность, но и потребление ресурсов