<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Настройка отказоустойчивого кластера PostgreSQL > РЕД ОС Обслуживание кластера Patroni
|
![]() ![]() |
В разделе рассмотрены решения, которые используются при обслуживании кластера Patroni:
•повторная инициализация резервного узла
Приложение Patroni управляет кластером PostreSQL, в том числе запускает остановившиеся узлы. Иногда управление нужно отключить. Например, это требуется, если администратор умышленно остановил узлы для обновления кластера Etcd.
В таких случаях используйте режим паузы, при котором:
•остановленные узлы не запускаются автоматически. Если останавливается ведущий узел, то на его роль не выбирается резервный;
•кластер продолжает работу и не переходит в режим чтения (read-only). В лог-файлах не фиксируются ошибки о недоступности узлов.
Чтобы временно отключить управление:
1.Включите режим паузы. Для этого выполните команду:
patronictl -c /etc/patroni.yml pause postgres
В результате через некоторое время все узлы кластера Patroni перейдут в режим паузы. Время пропорционально значению, указанному в конфигурационном файле /etc/patroni.yml в параметре loop_wait. Подробнее см. раздел «Настройка Patroni».
2.Выполните плановые работы на узлах кластера.
3.Отключите режим паузы:
patronictl -c /etc/patroni.yml resume postgres
Повторная инициализация резервного узла
Если резервный узел значительно отстает от ведущего, это может привести к ошибкам в работе кластера. Чтобы синхронизировать узлы:
1.Выведите информацию о текущем состоянии узлов. Для этого выполните команду:
patronictl -c /etc/patroni.yml list
Пример результата выполнения:
+ Cluster: postgres (7020291101513301143) --+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+--------+--------------+---------+---------+----+-----------+
| pg01 | <patroni1IP> | Leader | running | 34 | |
| pg02 | <patroni2IP> | Replica | running | 30 | 234677 |
+--------+--------------+---------+---------+----+-----------+
2.Сравните значение параметра TL на узлах. Если оно разное, то резервный узел всегда будет отставать от ведущего. Чтобы исправить это, с помощью команды запустите повторную инициализацию резервного узла. Укажите его имя в качестве параметра:
patronictl -c /etc/patroni.yml reinit postgres pg02
В результате папка с данными удаляется на резервном узле и заново скачивается с ведущего. Значения параметра TL становятся равны на обоих узлах.
© Компания Directum, 2024 |