9
Итоговое задание
Полный цикл failover и восстановления
50 минУрок 9 из 9
Прогресс0%
Теория
В этом задании вы выполните полный цикл failover и восстановления.
Настройте автоматический failover с помощью Patroni.
Протестируйте сценарий отказа мастера.
Восстановите бывшего мастера как реплику.
Документируйте все действия для административной команды.
Практика
1. Настройка кластера
Убедитесь, что кластер настроен и работает:
Настройка кластера
Команда
patronictl listВывод:
Cluster: pg-cluster +---------+---------+---------+---------+-----------+ | Member | Host | Role | State | Lag | +---------+---------+---------+---------+-----------+ | node1 | 127.0.0 | Leader | running | 0MB | +---------+---------+---------+---------+-----------+
2. Имитация сбоя
Остановите мастер для имитации сбоя:
Имитация сбоя
Команда
sudo systemctl stop postgresql3. Проверка failover
Дождитесь автоматического failover:
Проверка failover
Команда
sleep 15 && patronictl listВывод:
Cluster: pg-cluster +---------+---------+---------+---------+-----------+ | Member | Host | Role | State | Lag | +---------+---------+---------+---------+-----------+ | node2 | 127.0.0 | Leader | running | 0MB | +---------+---------+---------+---------+-----------+
4. Восстановление
Восстановите старого мастера как реплику:
Восстановление
Команда
sudo systemctl start postgresqlПроверка
Финальная проверка: кластер полностью восстановлен:
Проверка
Команда
patronictl listВывод:
Cluster: pg-cluster +---------+---------+---------+---------+-----------+ | Member | Host | Role | State | Lag | +---------+---------+---------+---------+-----------+ | node1 | 127.0.0 | Replica | running | 0MB | | node2 | 127.0.0 | Leader | running | 0MB | +---------+---------+---------+---------+-----------+