Этот документ содержит ответы на часто задаваемые вопросы о высокой доступности YMatrix 5.X.
Хранилище etcd можно рассматривать как полностью реплицированную таблицу, поэтому количество узлов не должно быть слишком большим. На практике рекомендуемая конфигурация — 1, 3, 5 или 7 узлов. Процесс установки и развертывания автоматически выберет и развернет несколько экземпляров etcd в зависимости от количества хостов.
Следовательно, если количество хостов в кластере четное или превышает 7, то на некоторых машинах etcd не будет развернут. Вы можете проверить наличие процессов etcd на текущем хосте с помощью команды ps.
Обычно узлы etcd размещаются на хостах Master и Standby.
В etcd установка нечетного числа узлов обеспечивает стабильность и согласованность процесса выборов. В протоколе Raft выбор лидера основывается на принципе большинства. При нечетном числе узлов легче достичь консенсуса в процессе выборов: для избрания кандидата в лидеры необходимо, чтобы более половины узлов проголосовали за него. Например, при 5 узлах требуется согласие как минимум 3 узлов; при 7 узлах — как минимум 4.
Такая конфигурация не только гарантирует уникальность результата выборов, но и минимизирует время их завершения. Кроме того, нечетное число узлов обеспечивает лучшую отказоустойчивость: при сбое или сетевой аномалии большинство узлов сможет продолжить процесс выборов, сохраняя доступность и согласованность системы. При четном числе узлов возможен тай-брейк, что приведет к невозможности завершить выборы или к неопределенности результата.
Во-первых, необходимо развернуть мониторинг etcd. В настоящее время поддерживается мониторинг (Prometheus + Grafana) для развертывания etcd в версии 5.0.
В версии 5.X etcd автоматически очищает данные регулярно, поэтому размер каталога данных и объем памяти остаются в относительно стабильных пределах.
Однако при сбое узла и последующей операции восстановления данные etcd могут временно немного увеличиться. Если объем каталога данных etcd не превышает 1,5 ГБ, это считается нормальным. Рекомендуется отслеживать и регулярно проверять это с помощью мониторинга.
Опыт пользователя не изменился: страницы и методы установки и развертывания остались точно такими же, как и раньше.
Здесь существует концептуальное недопонимание. Сегмент имеет два измерения:
В текущей версии функция автоматической смены мастера означает автоматическое переключение ролей узлов: после отключения мастера Standby автоматически становится новым мастером. Эта операция называется Promote или Failover.
Как только состояние сегмента изменяется с Up на Down, его необходимо вручную вернуть в состояние Up с помощью операции восстановления узла (mxrecover).
postmaster мастера аварийно завершается, но хост и сеть работают нормально, переключение на Standby происходит быстро. Да.
Работоспособность процесса postgres зависит от жизнеспособности аренды кластера etcd. При возникновении сбоя в самом сервисе etcd (когда более половины узлов etcd недоступны или потеряли связь), процесс postgres не может поддерживать свою работу, и остановка является неизбежным результатом. Поэтому строго рекомендуется развернуть мониторинг etcd и внимательно отслеживать его состояние здоровья. Мониторинг должен включать, но не ограничиваться: свободное место на диске, дисковый ввод-вывод, сетевую доступность, работоспособность процесса-надзирателя хоста и т.д.