Динамический кворум кластера в Windows Server 2012


?? ??????????, ??? ???? ???????? ?????? ????, ??????? ??????? "??????" ????????????? ? ?????????? ??????????????. ????? ???? ????? ????? ? ????? ??????? ?????? ??????? ? ???????????? ??????????????? ??????? ? ?????????????? ??????????? ? ???????????? ????? ? ???????? ???????????? ? ????????? ?????????????????? ???????? ?? ????????? Windows Server 2008 R2. ? Windows Server 2012 ??? ???????????, ?????? ?????? ? ??????????? ????????, ??? ? ????????? ????????????????. ?? ???? ??????? ? ?????? ???? - ???????????????? ????????????? ??????? ? ????????? ?? ???? Windows Server 2012.

? ??????? ?? Windows Server 2008 R2, ?????????? ????????? ?????????? 2494036, ? Windows Server 2012 ????? ?????????? ????? ???? ? ??????????? ??????? ???????????? ???????

 

???????????? ?????? ????????

??? ??????? ????????????? ?????????? ????? ? ?????? ???? ? ?????? ?????? ????? 50% ???????? ????????. ????? ???????, ????????? ????????????? ??????? ????????? ?????????? ???????? ?????????????? ??? ??????? ???? ?? ?????? ????. ?????? ?????? ????????, ??? ??? ??????? ????? ???????? ?????? ? ?????? ???????????????? ?????? ?? ????? ????? ????????, ??? ???????? ??????, ?.?. ?? ??????? ?????? ?????????? ???? ?????? ???????? ?????? ?????? ??????????? ?????????? ????.

??????????, ??? ??? ???????? ?? ??????? ???????????? ???????? ? ??????? "??????????? ?????" ? ?????????? ???????????? ????????

? ????????? ??????? ????????? ???? ???? ????? ? ??????? ?????????? PowerShell Get-ClusterNode ????? ??????? ????????? ? ???????????? ??? ????????

??? ???????????? ????????????? ??????? ?? ???? srv-hv1n3 ????????? ?????? ????????. ????????? ??? ??? ?? ?????????, ????? ????????, ??? ? srv-hv1n2 ???????? DynamicWeight ?????????? ? 1 ?? 0.

???????????? ????????, ??? ????????? ???????? ? ??????? ?? ????? ?????? ?? ?????, ??????? ??????? ? ??????? ????? ?????? ??????? ? ?????????? ID. ? ???????? ??????????? "????????" ???????????? ??? ???????? ? ?????? ??????

??????? ? ???????? ? ???? ?????????? ???? ?????????? ????????. ?????? ???????? ??? ???, ??? ??? ???????????????? ????????????? ??????? ??????????, ??? ?? ??????????? ??? ???????:

  1. ??????? ?????? ????? ????????? ??????
  2. ???? ???????? ??????? ?? ????? ??????????????? ??? ??????????? ??????????? ???????
Comments (8)

  1. Alex A says:

    Vital, модель разрабатывалась не для наколеночных домашних кластеров, а для промышленных многоузловых систем.

    Приведу простой математический рассчёт для кластеров от 16 узлов и ниже - увидим, что при количестве узлов более 10, смерть даже 80% узлов в 90% случаев не убивает кластер.

    Для 16 узлового кластера выход из строя последовательно:

    1) 8 узлов - 100% живой

    2) 9 узлов  - 100% живой

    3) 10 узлов - 100% живой

    4) 11 узлов - 100% живой

    5) 12 узлов - 100% живой

    6) 13 узлов - 100% живой

    7) 14 узлов - 100% живой

    8) 15 узлов - 50% живой

    При выходе из строя 50% и более узлов кластер выживает в 93.75% случая. В отличии от 0% ранее.

    Для 15 узлового кластера выход из строя последовательно:

    1) 8 узлов - 100% живой

    2) 9 узлов  - 100% живой

    3) 10 узлов - 100% живой

    4) 11 узлов - 100% живой

    5) 12 узлов - 100% живой

    6) 13 узлов - 100% живой

    7) 14 узлов - 50% живой

    При выходе из строя 50% и более узлов кластер выживает в 92.85% случая. В отличии от 0% ранее.

    Для 14 узлового кластера выход из строя последовательно:

    1) 7 узлов - 100% живой

    2) 8 узлов - 100% живой

    3) 9 узлов  - 100% живой

    4) 10 узлов - 100% живой

    5) 11 узлов - 100% живой

    6) 12 узлов - 100% живой

    7) 13 узлов - 50% живой

    При выходе из строя 50% и более узлов кластер выживает в 92.85% случая. В отличии от 0% ранее.

    Для 13 узлового кластера выход из строя последовательно:

    1) 7 узлов - 100% живой

    2) 8 узлов - 100% живой

    3) 9 узлов  - 100% живой

    4) 10 узлов - 100% живой

    5) 11 узлов - 100% живой

    6) 12 узлов - 50% живой

    При выходе из строя 50% и более узлов кластер выживает в 91.66% случая. В отличии от 0% ранее.

    ...

    16 93.75%

    15 92.85%

    14 92.85%

    13 91.66%

    12 91.66%

    11 90%

    10 90%

    9 87.5%

    8 87.5%

    7 83.33%

    6 83.33%

    5 75%

    4 75%

    3 50%

    Вспомним, что в 2012 мы делаем кластеры до 64 узлов. Там для 64 узлового кластера картинка будет 98.43% (сравнивая с 0% шансом выживания кластера в R2)

    Очевидно, что для трёх узлового кластера и 50% это большой шажок вперед. В промышленных внедрениях виртуализации трех-узловых кластеров я уже пару лет не встречал..

  2. Alex A says:

    Еще дам дельный совет - в 2012 всегда задавайте witness disk.

    В этом случае для трех узлового кластера при динамическом кворуме

    При смерти первого узла его голос станет нулевым, два оставшихся и диск получат по единице

    Смерть любого узла не приведет к остановке. Доведя цифры выше до 100% во всех конфигурациях.

  3. В случае выхода из строя узла, являющегося хост серверов - его задачи перейдут на другие оставшиеся в живых серверы.

    Нулевой вес узел приобрел потому, что для поддержания кворума кластерной службой проведен перерасчет. И теперь голосующих узлов - один, а не два. В случае, если бы было их два, и один из них вышел из строя - кворума бы не было, т.к. половина голосов его не обеспечивает.

  4. А сколько времени тратится на перерасчёт голосов? То есть каков минимальный возможный интервал времени между выключением узлов?

  5. @Stanislav Buldakov - если нужны конкретные цифры - информацию уточним у разработчиков. Но в лабораторной среде весь эксперимент занял не больше минуты.

  6. Vitаl says:

    > Нулевой вес узел приобрел потому, что для поддержания кворума кластерной службой проведен перерасчет. И теперь голосующих узлов - один, а не два. В случае, если бы было их два, и один из них вышел из строя - кворума бы не было, т.к. половина голосов его не обеспечивает.

    А, тут да, понятно, это я не додумал. Но получается, что в случае последовательного выхода из строя 2 из 3 серверов, вероятность для кластера выжить - всего 50%. См. ниже.

    > В случае выхода из строя узла, являющегося хост серверов - его задачи перейдут на другие оставшиеся в живых серверы.

    В данном конкретном примере тоже? Узел srv-hv1n2 (с весом 0), останься он в живых, поднимет на себе кворум кластера? А как тогда быть в ситуации потери связи между srv-hv1n1 и srv-hv1n2? Они оба решат, что они последние и оба поднимут кворумы?

    Мне всё же кажется, что при последовательном выходе из строя srv-hv1n3, а затем srv-hv1n1 кластер ляжет, останется в живых только srv-hv1n2 с весом 0 и будет ждать кворума. 50% вероятность выжить в случае выхода из строя 2/3 кластера, это, конечно, лучше чем ничего, но этот элемент случайности нужно понимать.

    Если я неправ, раскажите пожалуйста поподробнее, желательно на этом же примере, в чем.

  7. Vitаl says:

    Большое спасибо! Теперь всё на своих местах!

    Что касается "промышленного внедрения" 3-нодового кластера, то если понимать этот термин просто как production (а не как автоматизацию промышленности), то не стоит сбрасывать со счетов средний бизнес (порядка 1000 работников) - на современном оборудовании таким компаниям может вполне хватать 2-4 узла на сайт.

  8. Vitаl says:

    А если в примере вторым по счету выйдет из строя srv-hv1n1, а не srv-hv1n2, то кластер умрёт? Почему после выхода из строя одного узла у _двух_ узлов (включая один пока ещё живой) вес стал 0, а не только у вышедшего из строя?

Skip to main content