В NCS третий узел - ровно такой же, как и первые два. Вы путаете с HA и производными (тем же MS) - там оно нужно, причем один узел занимается ровно синхронизацией и связностью. NCS работает совсем-совсем не так: связность и синхронизация обеспечивается через сеть (причем не выделенную, в отличие, опять же, от HA - там настоятельно рекомендуется
физически выделенный сегмент, в NCS все прекрасно бегает по общей сети вместе с данными) посредством Hearthbeat (с настраиваемым интервалом), а также через специальный раздел в хранилке (SBD, Split Brain Detection). С точки зрения классической ФС это даже не раздел - это некий "огород" размером даже в 10-20 Мб (сейчас нарезают много больше, многотерабайтные хранилки либо вообще не умеют там мелко нарезать, либо ацки коряво используют такой маленький объем. Смешно, но если в современной EMC нарезать 10 метров - работать он будет медленнее, чем соседний гиговый. По крайней мере, мне так объяснили
). В SBD каждый из узлов прописывать с определенным интервалом свою метрику - общий смысл ее в том, что "я тут, я живой". Иными словами - тот же Hearthbeat, на в хранилке. Так вот оно и работает - одновременно пишет в хранилку и шлет HB-пакеты. Все процессом управляет т.н. "мастер"-узел - он выбирается самим NCS автоматически, это такой же точно узел, он делает все то же самое, что и остальные - но до кучи еще и за здоровьем кластера следит. Если он в определенный момент не обнаруживает запись от узла в хранилке либо не получает от него HB-пакет, он тут выписывает "ядовитую пилюлю" (poison pill) этому узлу. Выглядит это, кстати, как вполне себе kernel panic (в NW сервер просто вываливался в дебаггер), что, мягко говоря, сильно пугает недостаточно опытных админов
Они тут же во все лопатки начинают искать несуществующую проблему - таким образом сразу видно нерадивых, не читающих до конца документацию. В свою очередь, прочие узлы следят за мастером и с удовольствием прибивают и его, если он вдруг становится "потеряшкой". Делается именно так, чтобы моментально вывести узел из эксплуатации - это самая быстрая операция, штатная выгрузка сервиса времени занимает многократно больше. Так что ничего военного тут нет. Основной смысл такой поспешности - максимально снизить риск повреждения данных в хранилке (оставшиеся узлы автоматически начинают "поднимать" упавший ресурс. Если тратить время на штатное выключение сервиса (может занимать до минут) - может получиться так, что один и тот же LUN будет смонтирован на двух узлах. NSS, конечно, штука исключительно умная - но, во-первых, от "неизбежных на море случайностей" никто не застрахован (даже NSS), во-вторых - POSIX не имеет таких средств защиты, а их (POSIX-ресурсы) тоже можно завести в кластере.
К чему столько букв я написал? К тому, чтобы было понятно, почему NCS не нужно обязательно три узла
Простейший кластер NCS вообще состоит из одного узла
Это не по феншую - но работает точно.
Касаемо смешивания виртуальных и физических узлов - это заработает, но лично я своим заказчикам советую выбрать что-то одно. Ничего хуже, чем кластер с разношерстными узлами, быть не может. Очень несмешные ситуации возникают - даже несмотря на то, что NCS и NSS палкой не убьешь, то, от чего они зависят, начинает выкидывать коленца. Вообще говоря, смешанные кластера рекомендуется использовать только во время миграции - либо с версию на версию ОС (NW+OES), либо при переезде с физики в виртуалки или наоборот.
Вообще - NCS, по моим наблюдениям, суперстабильный сервис. Он прост, как мычание, и надежен, как молоток - в нем практически нечему ломаться