none
Завершение работы кластера Hyper-V RRS feed

  • Вопрос

  • Имеется двух узловой кластер на Server 2008 R2. На каждом узле кластера размещены вирт.машины. Пропадает питание на ИБП. Оба узла кластера начинают завершать свою работу. Как при этом будет вести себя кластер?

    Сегодня при данной ситуации кластер начал пытаться передать вирт.машины с одного узла на другой и видимо некорректно все до конца успел сделать. А узлы завершили при этом свою работу. Далее после запуска узлов кластера возникли ошибки на диске кворума врезультате чего вирт.машины не смогли стартовать.

    Есть у кого-нибудь какая-то методика для корректного полного отключения кластера?

    13 сентября 2010 г. 13:48

Ответы

Все ответы

  • Кластерная служба предполагает под собой корректный перенос ресурсов на работоспособный узел. То, что кластерные ресурсы в таком сценарии были перемещены некорректно - проблема скорее не кластера, а взаимодействия ИБП с ОС на узлах сервера.

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

    13 сентября 2010 г. 15:34
    Модератор
  • ИБП взаимодействует с ОС узлов посредство ПО APC Powerchute Network Shutdown.

    сценарий отключения:

    1)ИБП отключает первый узел

    2)ВМ перемещаются на второй узел

    3)ИБП завершает работу второго узла (но перед этим выполняется скрипт переводящий все запущенные ВМ на втором узле в Save State)

    4)Итого оба узла кластера отключены.

    так на ваш взгляд будет корректно?

     

    14 сентября 2010 г. 6:26
  • ИБП взаимодействует с ОС узлов посредство ПО APC Powerchute Network Shutdown.

    сценарий отключения:

    1)ИБП отключает первый узел

    2)ВМ перемещаются на второй узел

    3)ИБП завершает работу второго узла (но перед этим выполняется скрипт переводящий все запущенные ВМ на втором узле в Save State)

    4)Итого оба узла кластера отключены.

     

     

    В принципе, все верно, но процессе выполнения пунктов 1 и 2 виртуальные машины будут перезагружены. Не лучше ли будет гасить ВМ тем же скриптом до выключения узлов? Т.е. сценарий один, разница лишь в порядке выключения: Вы сначала предлагаете гасить первый узел, ресурсы с него по файловеру переходят на второй, там переходят в save state (почему не в shut down, кстати?), далее завершает работу второй узел. В этом есть есть несколько слабых мест, на мой взгляд - виртуальные машины могут: 1) не успеть завестись на втором узле, прежде чем их скрипт пошлет в сохранение; 2) не успеть выключиться в процессе работы скрипта до выключения второго узла (т.е. узел выключился, а ВМ вновь некорректно завершили работу).

    Поэтому предлагаю следующее.

    1) При определенном заряде батареи скриптом гасятся виртуальные машины в порядке их критичности, т.е. самая критичная выключается последней из кластеризованных ВМ;

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

    14 сентября 2010 г. 7:23
    Модератор
  • почему Save State? Потому что как мне кажеться так быстрее их остановить, а потом обратно запустить нежели делать shutdown, а затем start. Или Save state в некоторых случаях может негативно сказаться на работу сервисов внутри ВМ?
    14 сентября 2010 г. 9:58
  • Так или иначе save state использует технологии, аналогичные snapshot, т.е. VSS, что для production среды не рекомендуется.
    • Помечено в качестве ответа Nikita PanovModerator 22 сентября 2010 г. 12:14
    14 сентября 2010 г. 13:09
    Модератор