Ticket #91 (assigned task)

Opened 2 months ago

Last modified 2 months ago

Alternate split-brain strategies

Reported by: vyt Assigned to: peet (accepted)
Priority: minor Milestone: 0.4.7
Component: shell:state, core Keywords:
Cc:

Description

Для корректной работы кластера в условиях split-brain нужно предусмотреть как минимум две стратегии, переключаемые администратором:

1. Optimistic logic.

2. Кворум. Ряд задач требует гарантий, что в разделённом кластере с ресурсом работает только одна часть кластера. Решается это указанием администратором минимального числа узлов, которое необходимо для получения кворума и запуска важного ресурса. Есть более сложные алгоритмы - выделение на каждый узел разного количества голосов для голосования, так, на будущее.

Пример задачи, когда нужен кворум - 10 хостов, на каждом по одному узлу кластера, дисковая полка с доступом узлов через fiber channel. Сбой в сети, разделивший кластер на 2 части по 5 узлов. Если используется кворум и администратор задал настройку "в кластере 10 узлов максимум, кворум больше половины" - коллизий доступа не будет.

Пример надуманный, так как дисковые полки используют собственные блокировки, но бывают и другие ресурсы, которые предпочтительнее не использовать вообще, чем использовать с риском коллизий.

Change History

11/06/08 11:55:20 changed by peet

  • status changed from new to assigned.
  • type changed from enhancement to task.

11/06/08 11:55:28 changed by peet

  • component changed from shell to shell:state, core.