mirror of
https://github.com/ada-dmitry/ada-dmitry.github.io.git
synced 2026-09-24 09:20:40 +00:00
48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
---
|
|
title: "Split-brain"
|
|
layout: single
|
|
---
|
|
|
|
**Split-brain** — ситуация, при которой узлы кластера теряют связь друг с другом и каждый считает себя активным. В результате возникает конфликт за управление ресурсами.
|
|
|
|
---
|
|
|
|
## ⚠️ Почему это опасно
|
|
|
|
- Два узла работают с одним ресурсом одновременно
|
|
- Возможна потеря, дублирование или порча данных
|
|
- Нарушение целостности и доступности системы
|
|
|
|
---
|
|
|
|
## 🧪 Типовой сценарий
|
|
|
|
1. Узлы теряют связь между собой
|
|
2. Каждый считает, что другой "упал"
|
|
3. Оба активируют сервисы
|
|
4. Сервис работает параллельно на двух узлах → конфликт
|
|
|
|
---
|
|
|
|
## 🛠️ Способы предотвращения
|
|
|
|
- **Quorum (кворум)** — решение принимает большинство узлов
|
|
- **STONITH (Shoot The Other Node In The Head)** — принудительное выключение "лишнего" узла
|
|
- **Arbiter (арбитр)** — третий узел/устройство для голосования
|
|
- **Shared storage lock** — блокировка доступа на уровне хранилища
|
|
|
|
---
|
|
|
|
## 🧰 Примеры технологий с защитой от split-brain
|
|
|
|
- Pacemaker + Corosync (STONITH, quorum)
|
|
- Ceph (кворум через CRUSH)
|
|
- Galera Cluster (wsrep-cluster)
|
|
- DRBD (dual-primary блокировка)
|
|
|
|
---
|
|
|
|
## 🔗 См. также:
|
|
- [[Кластеры высокой доступности]]
|
|
- [[Геораспределённые кластеры и ЦОД]]
|