etcd Cluster
Автоматически сгенерировано: 2026-03-03 09:38
Общая информация
Назначение: Распределённое хранилище конфигурации для Patroni
Версия: etcd v3
Члены кластера: - db-1 (10.10.19.31:2379) - db-2 (10.10.19.32:2379)
Endpoints
| Сервер | Client URL | Peer URL |
|---|---|---|
| db-1 | http://10.10.19.31:2379 | http://10.10.19.31:2380 |
| db-2 | http://10.10.19.32:2379 | http://10.10.19.32:2380 |
Конфигурация
Data directory: /var/lib/etcd
Cluster token: postgres-cluster-etcd
Initial cluster state: existing (после bootstrap)
Использование в Patroni
Patroni использует etcd для:
- Выбор лидера PostgreSQL (leader election)
- Хранение конфигурации кластера
- Координация failover
- Распределённые блокировки
Namespace в etcd: /service/postgres-cluster/
Проверка
# Список членов кластера
ssh db-1 'ETCDCTL_API=3 etcdctl member list'
# Статус endpoint
ssh db-1 'ETCDCTL_API=3 etcdctl endpoint status --write-out=table'
# Здоровье кластера
ssh db-1 'ETCDCTL_API=3 etcdctl endpoint health'
# Просмотр данных Patroni
ssh db-1 'ETCDCTL_API=3 etcdctl get --prefix /service/postgres-cluster/'
# Логи
ssh db-1 'sudo journalctl -u etcd -f'
Операции
Добавить нового члена
ETCDCTL_API=3 etcdctl member add db-3 --peer-urls=http://10.10.19.33:2380
Удалить члена
# Получить ID
ETCDCTL_API=3 etcdctl member list
# Удалить
ETCDCTL_API=3 etcdctl member remove <member-id>
Snapshot и restore
# Создать snapshot
ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-snapshot.db
# Restore
ETCDCTL_API=3 etcdctl snapshot restore /backup/etcd-snapshot.db