vitabaks / postgresql_cluster

PostgreSQL High-Availability Cluster (based on Patroni). Automating with Ansible.
https://postgresql-cluster.org
MIT License
1.69k stars 411 forks source link

etcd error: i/o timeout #430

Closed erzhick10 closed 1 year ago

erzhick10 commented 1 year ago

в чем может быть проблема?

erzhick10 commented 1 year ago

failed to read e5fa22gfd664gfgfd0 on stream MsgApp v2 read tcp 172.16.6.6 172.16.6.4 i/o timeout

vitabaks commented 1 year ago

Я могу предположить, что Вы установили etcd на тех же серверах что и база данных и скорее всего не придерживались рекомендации размещать данные etcd на отдельном диске.

Проверьте метрики утилизации ресурсов сервера в вашей системе мониторинга. Скорее всего была повышенная нагрузка, например на диски.

Fast drives and a reliable network are the most important factors for the performance and stability of an etcd (or consul) cluster.

Avoid storing etcd (or consul) data on the same drive along with other processes (such as the database) that are intensively using the resources of the disk subsystem! Store the etcd and postgresql data on different disks (see etcd_data_dir, consul_data_path variables), use ssd drives if possible. See hardware recommendations and tuning guides.

It is recommended to deploy the DCS cluster on dedicated servers, separate from the database servers.

erzhick10 commented 1 year ago

да etcd кластер установлен так же где и базы на одном сервере так же как и haproxy

erzhick10 commented 1 year ago

спасибо посмотрел и диска показывают 558MB/sec и тут и база и etcd походу вы правы сбой из скорости дисков

vitabaks commented 1 year ago

рекомендую вынести etcd кластер на отдельные сервера это могут быть 3 небольшие ВМ (на разных гипервизорах), крайне желательно чтобы диски были ssd.

Тогда Вы можете использовать этот один Etcd кластер для множества кластеров Patroni/Postgres. Но обязательно следите за ресурсами и при необходимости добавьте больше ядер.