Patroni - управление: различия между версиями
Vix (обсуждение | вклад) |
Vix (обсуждение | вклад) |
||
| Строка 17: | Строка 17: | ||
В '''Patroni''' есть 2 секции в конфигурации, первая отвечает за поведение самого '''patroni''',<br> | В '''Patroni''' есть 2 секции в конфигурации, первая отвечает за поведение самого '''patroni''',<br> | ||
вторая это настройки '''Postgresql'''.<br> | вторая это настройки '''Postgresql'''.<br> | ||
Секции:<br> | |||
patronictl -c /etc/patroni/config.yml edit-config | '''bootstrap''' - (параметры при запуске Postgresql) | ||
- например этот: '''max_locks_per_transaction: 64''' | |||
'''pg_hba''' - (доступы на Postgresql) | |||
- изменения вносятся сначала через: patronictl -c /etc/patroni/config.yml edit-config<br> | |||
После изменений, при выходе конфигуратор спросит: Принять изменения? Отвечаем Да.<br> | После изменений, при выходе конфигуратор спросит: Принять изменения? Отвечаем Да.<br> | ||
- потом проверяем применение через: patronictl -c /etc/patroni/config.yml show-config<br> | |||
Поэтому так же необходимо вносить изменения в /etc/patroni/config.yml | - если вы вносите изменения через: patronictl -c /etc/patroni/config.yml edit-config<br> | ||
то изменения применяются сразу всем участникам кластера!<br> | |||
Так же нужно понимать, что при '''перезагрузке''' сервиса '''Patroni''' на ноде, изменения не примутся, загрузится предыдущий файл конфигурации.<br> | |||
* Поэтому так же необходимо вносить изменения в '''/etc/patroni/config.yml''' | |||
- если все прошло успешно, необходимо перезапустить обе ноды поочереди через: | |||
systemctl restart patroni | |||
- только после этого параметры уже будут в работе в самом Postgresql. | |||
* '''Изменение конфигурации Postgresql в Patroni''':<br> | * '''Изменение конфигурации Postgresql в Patroni''':<br> | ||
Версия от 18:21, 5 сентября 2024
БАЗОВЫЕ ОПЕРАЦИИ
- Перезапуск конфигурации на ноде:
patronictl -c /etc/patroni/config.yml restart имя-кластера имя-хоста (на котором перезапускаем)
- Вывести конфиг patroni:
patronictl -c /etc/patroni/config.yml show-config
- Редактировать конфиг patroni:
patronictl -c /etc/patroni/config.yml edit-config
- Посмотреть состояние кластера patroni:
patronictl -c /etc/patroni/config.yml list
РЕГЛАМЕНТНЫЕ ОПЕРАЦИИ
- Сменить Лидера для изменений настроек или иное:
patronictl -c /etc/patroni/config.yml failover
- - будет предложен список кандидатов, кто будет лидером, нужно ввести полное имя как в списке.
- Изменение конфигурации Patroni:
В Patroni есть 2 секции в конфигурации, первая отвечает за поведение самого patroni,
вторая это настройки Postgresql.
Секции:
bootstrap - (параметры при запуске Postgresql) - например этот: max_locks_per_transaction: 64 pg_hba - (доступы на Postgresql)
- изменения вносятся сначала через: patronictl -c /etc/patroni/config.yml edit-config
После изменений, при выходе конфигуратор спросит: Принять изменения? Отвечаем Да.
- потом проверяем применение через: patronictl -c /etc/patroni/config.yml show-config
- если вы вносите изменения через: patronictl -c /etc/patroni/config.yml edit-config
то изменения применяются сразу всем участникам кластера!
Так же нужно понимать, что при перезагрузке сервиса Patroni на ноде, изменения не примутся, загрузится предыдущий файл конфигурации.
- Поэтому так же необходимо вносить изменения в /etc/patroni/config.yml
- если все прошло успешно, необходимо перезапустить обе ноды поочереди через:
systemctl restart patroni
- только после этого параметры уже будут в работе в самом Postgresql.
- Изменение конфигурации Postgresql в Patroni:
Если вы внесли изменения в ресурсы виртуального контейнера, то необходимо скорректировать настройки PostgresPro.
Для этого достаточно внести корректировки в /etc/patroni/config.yml, секции:
...
postgresql:
....
parameters:
unix_socket_directories: '.'
dynamic_shared_memory_type: 'posix'
seq_page_cost: '0.1'
superuser_reserved_connections: '2'
huge_pages: 'off'
track_io_timing: 'off'
synchronous_commit: 'off'
fsync: 'on'
wal_sync_method: 'fdatasync'
checkpoint_timeout: '15 min'
random_page_cost: '0.1'
cpu_operator_cost: '0.0025'
logging_collector: 'on'
log_timezone: 'Europe/Moscow'
datestyle: 'iso, dmy'
timezone: 'Europe/Moscow'
lc_messages: 'ru_RU.UTF-8'
lc_monetary: 'ru_RU.UTF-8'
lc_numeric: 'ru_RU.UTF-8'
lc_time: 'ru_RU.UTF-8'
default_text_search_config: 'pg_catalog.russian'
temp_buffers: '256 MB'
max_files_per_process: '10000'
commit_delay: '1000'
from_collapse_limit: '8'
join_collapse_limit: '8'
autovacuum_max_workers: '2'
vacuum_cost_limit: '200'
autovacuum_naptime: '10s'
autovacuum_vacuum_scale_factor: '0.01'
autovacuum_analyze_scale_factor: '0.005'
escape_string_warning: 'off'
standard_conforming_strings: 'off'
shared_preload_libraries: 'online_analyze, plantuner'
online_analyze.threshold: '50'
online_analyze.scale_factor: '0.1'
online_analyze.enable: 'on'
online_analyze.verbose: 'off'
online_analyze.min_interval: '10000'
online_analyze.table_type: 'temporary'
plantuner.fix_empty_table: 'on'
shared_buffers: '8192 MB'
effective_cache_size: '23 GB'
maintenance_work_mem: '420 MB'
checkpoint_completion_target: '0.9'
default_statistics_target: '500'
effective_io_concurrency: '200'
work_mem: '64 MB'
min_wal_size: '5120 MB'
max_wal_size: '10240 MB'
wal_compression: 'on'
wal_buffers: '16'
wal_writer_delay: '200ms'
wal_writer_flush_after: '1 MB'
wal_keep_size: '22080 MB'
bgwriter_delay: '200ms'
bgwriter_lru_maxpages: '100'
bgwriter_lru_multiplier: '2.0'
bgwriter_flush_after: '0'
max_worker_processes: '6'
max_parallel_workers_per_gather: '3'
max_parallel_workers: '6'
max_parallel_maintenance_workers: '3'
parallel_leader_participation: 'on'
jit: 'on'
max_slot_wal_keep_size: '1000 MB'
maintenance_io_concurrency: '200'
wal_recycle: 'on'
...
и перезагрузить сервис Patroni.
systemctl reload patroni
или перезапустить
systemctl restart patroni
РЕШЕНИЕ ПРОБЛЕМ
- ВНИМАНИЕ!!! - если идет реплика, ни в коем случае не трогать Leader!!
- Сначала смотрим состояние кластера Patroni:
patronictl -c /etc/patroni/config.yml list
- Если есть State: creating replica - ждем...
+ Cluster: cspg (7330684258159679984) --------------------------+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +---------+------------------+---------+------------------------+----+-----------+ | pg1 | pg1.local.net | Leader | running | 5 | | | pg2 | pg2.local.net | Replica | creating replica | | unknown | +---------+------------------+---------+------------------------+----+-----------+
- Если ответ такой:
+ Cluster: cs1pgpro (7330684258159679984) -------+----+-----------+ | Member | Host | Role | State | TL | Lag in MB | +---------+------------------+---------+---------+----+-----------+ | pg1 | pg1.local.net | Leader | running | 5 | | | pg2 | pg2.local.net | Replica | running | 5 | 0 | +---------+------------------+---------+---------+----+-----------+
- можно проводить операции по переключению или иное.
