Я пытаюсь понять, как функции отказоустойчивой кластеризации работают с Windows 2008 R2, поскольку я собираюсь всегда использовать его как часть SQL Server 2012.
Мне удалось найти информацию о том, как его настроить и для чего он нужен. Однако мне не удается найти хороший технический документ о как это на самом деле работает подробно (например, для keepalived есть документы, в которых объясняется, как часто отправляются контрольные пакеты, как они выглядят и т. д.).
Я знаю, что это довольно обширный вопрос, но я хотел бы иметь хорошее представление о механизмах этой функции.
Поскольку это проприетарный продукт, я не думаю, что вы собираетесь анализировать протокол на двоичном уровне или даже блок-схемы, но я думаю, что вы можете почерпнуть некоторую полезную информацию из:
Дизайн и архитектура кластерной службы Microsoft - В этой статье, написанной в соавторстве с одним из моих героев CompSci Джимом Греем (RIP, Джим), опубликованной в IEEE Proceedings of FTCS 1998 года, описывается базовая конструкция продукта Microsoft Cluster Server, как это было в Windows NT 4.0, которое все более поздние продукты произошли от. Здесь даже есть блок-схема, хотя она, вероятно, сильно устарела по сравнению с текущими поколениями продукта.
Обнаружение сбоев сети и восстановление в двухузловом кластере Windows Server 2000 - Эта статья, хотя и датированная, описывает низкоуровневые детали конечного автомата, используемые для определения сетевой доступности узлов в кластере.
[MS-CMRP]: отказоустойчивый кластер: спецификация протокола Management API (ClusAPI) - В этом документе содержится информация о том, как продукт работает внутри, хотя его целью не является конкретное документирование протоколов и потоков внутрикластерной связи.
Эта функция стала более настраиваемой в более поздних версиях продукта. Поиск имени инструмента управления командной строкой, cluster.exe
, а слово «сердцебиение» нацелено на сайт Microsoft похоже, дает много потенциально хороших результатов (один из первых хитов, которые я нашел есть параграф, содержащий фразу «... здесь каждый узел имеет интерфейс в каждой сети кластера, N * (N - 1) одноадресных импульсов, отправляемых на сеть каждые 1,2 секунды ...», что звучит так же, как и то, что вы ищете, хотя и описывающее Windows Server 2003.)
И, конечно же, если вы хотите увидеть больше низких уровней, сами настройте его и бросьте на него сниффер.