Вход:  Пароль:  
FreeSource: TZ/RazrabotkaNuzhnyxProgramm/ClusterManager ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия TZ/RazrabotkaNuzhnyxProgramm/ClusterManager за 2007-09-19 12:05:19..

Active / Passive? Cluster Manager


Требуется разработать простой менеджер кластера, состоящего из 2-х узлов и работающего в режиме Active / Passive? (т.е. в любой момент времени работает только один узел, второй простаивает, ожидая отказа первого). Типичные сценарии использования:



Основная работа менеджера кластера заключается в изменениии состояния узла (сопровождающегося вызовом скриптов, определенных пользователем) на основании наличия/отсутствия/изменения состояния соседнего узла. Возможные состояния узла: CONNECTING, PRIMARY, SECONDARY, STANDALONE, ERROR (используется терминология DRBD7, т.к. DRBD7 – идеальный выбор для хранения данных и конфигурации кластеризуемых сервисов в случае Active / Passive?).


Узлы обмениваются UDP-пакетами, в которых содержится hostname, timestamp и текущее состояние узла. Шифровать пакеты не обязательно, т.к. под внутрикластерное соединение принято отводить отдельную сеть.


Менеджер кластера должен параллельно выполнять следующие операции (реализовать в виде threads?):



Далее приведена таблица изменения состояний: по горизонтали – первоначальное состояние, по вертикали – внешняя информация (последний пришедший UDP-пакет, таймаут либо сигнал), на пересечении – новое состояние


Первоначальное состояние /
Внешняя информация
CONNECTINGPRIMARYSECONDARYSTANDALONE
UDP-пакеты
CONNECTINGВыполняется лексикографическое сравнение hostname, если наш узел больше, то PRIMARYSAMEPRIMARYPRIMARY
PRIMARYSECONDARYERROR или Выполняется лексикографическое сравнение hostname, если наш узел меньше, то SECONDARYSAMEERROR или Выполняется лексикографическое сравнение hostname, если наш узел меньше, то SECONDARY, иначе PRIMARY
SECONDARY-ERROR или Выполняется лексикографическое сравнение hostname, если наш узел меньше, то SECONDARYSAMEERROR или Выполняется лексикографическое сравнение hostname, если наш узел меньше, то SECONDARY, иначе PRIMARY


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]