Действия с топологией кластера

Обзор

Топология кластера отображается на странице Topology веб-интерфейса ADPG Control. Вы можете выбрать кластер, для которого требуется представить топологию, из раскрывающегося списка Cluster в верхней части страницы. На схеме топологии показаны все ноды кластера с сервисом ADPG. Ноды соединены друг с другом стрелками, указывающими направление потоков репликации.

Страница Topology
Страница "Topology"

На схеме отображается следующая информация для каждой ноды:

  • Роль в кластере: Leader, Async replica, Sync replica.

  • Имя ноды.

  • Статус: Running, Stopping, Initializing, Stopped, Failed, Unknown, Out of patroni.

Для нод-реплик на диаграмме топологии отображается lag (в байтах) — количество байт, на которое состояние реплики отстает от состояния лидера.

В таблице ниже показано сопоставление состояний нод patroni с состояниями, указанными на диаграмме.

Статус ноды на диаграмме Статус patroni

Running

running, streaming

Stopping

stopping

Initializing

  • starting

  • restarting

  • initializing new cluster

  • running custom bootstrap script

  • creating replica

  • in archive recovery

Stopped

stopped

Failed

  • stop failed

  • crashed

  • start failed

  • restart failed

  • initdb failed

  • custom bootstrap failed

Unknown

Нода с неизвестным статусом

Out of patroni

Нода не находится в кластере, например, если на ноде остановлен сервис patroni

Отображение сведений о ноде

Вы можете кликнуть ноду на диаграмме, чтобы отобразить следующие сведения:

  • CPU — процент использования CPU;

  • RAM — процент использования RAM;

  • Disk — процент использования диска;

  • Lag — количество байт, на которое состояние реплики отстает от состояния лидера;

  • Delay — задержка времени между созданием записи WAL на лидере и её воспроизведением на реплике, установленная через параметр recovery_min_apply_delay;

  • Timeline — timeline PostgreSQL;

  • Host — IP-адрес хоста;

  • Tags — теги patroni.

Отображение сведений о состоянии ноды
Отображение сведений о состоянии ноды

Панель инструментов, позволяющая закрыть окно со сведениями о состоянии ноды и масштабировать схему топологии, также отображается на странице Topology. На панели можно увидеть масштаб схемы в процентах.

Панель инструментов на странице Topology
Панель инструментов на странице "Topology"

Панель включает следующие кнопки:

  • zoom in dark zoom in light — увеличить масштаб;

  • zoom out dark zoom out light — уменьшить масштаб;

  • fit to screen dark fit to screen light — развернуть схему на весь экран;

  • 100percent dark 100percent light — уменьшить размер схемы до 100%;

  • info dark info light — скрыть окно со сведениями о состоянии ноды.

Выполнение действий

На странице Topology вы можете выполнить следующие действия:

Действия можно выполнять только для реплик.

Чтобы выполнить действия, нажмите Actions в верхней части страницы.

Выполнение действий
Выполнение действий

Вы также можете запускать действия из меню ноды.

Запуск действия из меню ноды
Запуск действия из меню ноды

В этом случае ноду, для которой выполняется действие, нельзя изменить из окна действия — поле Candidate для Switchover и Failover, а также поле Instance для Reinit заполняются автоматически.

Все действия ADPG Control регистрируются на странице Actions. На этой странице можно получить информацию об успешных действиях и ошибках, возникающих в случае сбоя.

ВАЖНО

Обратите внимание, что действия Failover и Switchover могут привести к потере данных. Это зависит от того, насколько актуальны данные реплики-кандидата по сравнению с лидером. Оба действия также прерывают текущие транзакции и сессии на лидере.

Switchover

Действие Switchover передает роль лидера указанной ноде-реплике. Бывший лидер становится репликой. Если кластер содержит синхронные реплики, необходимо выбрать одну из синхронных реплик в качестве кандидата на переключение. В противном случае действие завершится с ошибкой candidate name does not match with sync_standby.

Это действие можно использовать, когда кластер исправен:

  • В кластере есть лидер.

  • В кластере с синхронной репликацией доступны синхронные реплики.

Если кластер неисправен, используйте Failover вместо действия Switchover.

Чтобы выполнить действие, нажмите Switchover в списке действий, укажите ноду-кандидат, которую необходимо сделать лидером (если она не определена), и нажмите Run.

Окно действия Switchover
Окно действия "Switchover"

Failover

Действие Failover может перенести роль лидера на асинхронную или синхронную реплику. Бывший лидер становится репликой.

Это действие можно использовать, когда кластер неисправен, например, в кластере нет лидера или в кластере с синхронной репликацией нет доступной синхронной реплики.

Вы можете запустить Failover и в работоспособном кластере, однако в этом случае рекомендуется использовать действие Switchover.

Чтобы выполнить действие, нажмите Failover в списке действий, укажите ноду-кандидат, которая должна быть назначена лидером (если она не определена), и нажмите Run. Также при указании ноды можно выбрать вариант Autoselect в выпадающем списке — нода-кандидат будет определена автоматически.

Окно действия Failover
Окно действия "Failover"
ПРИМЕЧАНИЕ
Если в кластере происходит автоматическое действие failover, оно не регистрируется на странице Actions. На этой странице регистрируются действия, запущенные только вручную.

Reinit

Действие Reinit повторно инициализирует ноду кластера. Все данные на этой ноде будут перезаписаны.

Reinit рекомендуется в случаях, когда база данных ADPG на реплике не может "догнать" базу данных на лидере и patroni не способен автоматически восстановить её. Reinit включает в себя удаление существующего каталога данных и создание новой реплики на основе текущего лидера.

Чтобы выполнить действие, нажмите Reinit в списке действий, укажите ноду, которая должна быть повторно инициализирована (если она не определена), и нажмите Run.

Окно действия Reinit
Окно действия "Reinit"
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней