Сценарии сбоя и восстановления

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

В следующих разделах описано, как ведёт себя система в случаях различных отказов и ошибок.

Зависание системы

В кластерной конфигурации, использующей переключатели питания, если система зависает, кластер поведет себя следующим образом:

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

  2. Работающая кластерная система отключает, а затем включает повисшую систему. Если же используются сторожевые таймеры, отказавшая система перезагрузится самостоятельно.

  3. Функционирующая кластерная система перезапускает все службы, работавшие в повисшей системе.

  4. Если ранее повисшая система перегружается, и может включиться в кластер (то есть, она смогла записать информацию в оба кворумных раздела), службы перераспределяются между узлами кластера, в соответствии с политиками размещения служб.

В кластерной конфигурации, не использующей переключателей питания, при зависании системы, кластер поведет себя следующим образом:

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

  2. Если используются сторожевые таймеры, отказавшая система может перезагрузиться самостоятельно.

  3. Работающая кластерная система устанавливает в кворумных разделах состояние повисшей системы, как DOWN (ОТКЛЮЧЕНО), а затем перезапускает службы повисшей системы.

  4. Если повисшая система вдруг продолжит свою работу, она заметит, что её состояние отмечено как DOWN (ОТКЛЮЧЕНО), и выполнит перезагрузку.

    Если система продолжает висеть, необходимо вручную произвести отключение/включение питания повисшей системы, чтобы продолжить её работу в кластере.

  5. Если ранее повисшая система перегружается, и может включиться в кластер, службы перераспределяются между узлами кластера в соответствии с политиками размещения служб.

Критическая ошибка системы

Критическая ошибка системы (авария) - это управляемая реакция на ошибку, выявленную программой. В этом случае ядро пытается вернуть систему к устойчивому состоянию, отключив её. Если в кластерной системе происходит критическая ошибка, происходит следующее:

  1. Работающая кластерная система определяет, что кластерная система, оказавшись в аварийном состоянии, не обновляет свою метку времени на кворумных разделах и не отвечает через пульсирующие каналы.

  2. Кластерная система, столкнувшись с критической ошибкой, инициирует отключение и перезагрузку.

  3. Если применяются переключатели питания, действующая кластерная система произведет отключение/включение кластерной системы, находящейся в аварийном состоянии.

  4. Затем функционирующая кластерная система перезапустит все службы, работавшие в отказавшей системе.

  5. Если отказавшая система перегружается и может включиться в кластер (то есть она смогла записать информацию в оба кворумных раздела), службы перераспределяются между узлами кластера, в соответствии с политиками размещения служб.

Недоступные кворумные разделы

Кворумные разделы могут оказаться недоступными по причине отказа SCSI (или Fibre Channel) адаптера, подключенного к общему дисковому хранилищу, или отсоединения SCSI кабеля, соединяющего кластерную систему с общим хранилищем. Если происходит одно из этих событий, а шина SCSI по-прежнему окончена терминаторами, кластер ведет себя следующим образом:

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

  2. Если в конфигурации кластера применяются переключатели питания, работающая кластерная система производит отключение/включение перезагружающейся системы.

  3. Затем функционирующая кластерная система перезапускает все службы, работавшие в системе, потерявшей доступ к кворумным разделам.

  4. Если кластерная система перегружается и может включиться в кластер (то есть она смогла записать информацию в оба кворумных раздела), службы перераспределяются между узлами кластера, в соответствии с политиками размещения служб.

Отказ всех сетевых соединений

Отказ всех сетевых соединений происходит, если разорваны все пульсирующие сетевые соединения между системами. Причиной этому может явиться:

Если кластер сталкивается с отказом всех сетевых соединений, эту проблему выявляют обе системы, но они также определяют, что подключение к SCSI-диску по-прежнему сохраняется. В таком случае, службы продолжать работать в кластерных системах, не останавливаясь.

Если происходит сбой всех сетевых соединений, диагностируйте проблему, а затем выполните следующее:

Сбой подключения к удаленному переключателю питания

Если проверка соединения с удаленным переключателем питания не проходит, но обе системы по-прежнему продолжают работать, никаких изменений в поведении кластера не происходит, пока кластерная система не попытается использовать разорванное соединение для отключения/включения другой системы. Демон, управляющий питанием, будет генерировать сообщения с высоким приоритетом, говорящие об отказе переключателя питания или потери связи с переключателем (например, если был отсоединен кабель).

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

Сбой демона кворумного раздела

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

Если происходит сбой в работе кластерного демона, и в кластере применяются переключатели питания, происходит следующее:

  1. Функционирующая кластерная система определяет, что кластерная система, в которой произошел сбой демона кворума, не обновляет свою метку времени на кворумном разделе, хотя при этом достижима через пульсирующие каналы.

  2. Через некоторое время, функционирующая кластерная система выполняет отключение/включение кластерной системы с отказавшим демоном кворума. Если же используются сторожевые таймеры, отказавшая система перезагрузится самостоятельно.

  3. Затем функционирующая кластерная система перезапускает все службы, работавшие в системе, столкнувшейся с отказом демона кворума.

  4. Если кластерная система перегружается и может включиться в кластер (то есть, она смогла выполнить запись в оба кворумных раздела), службы перераспределяются между узлами кластера в соответствии с политиками размещения служб.

Если происходит сбой в работе кластерного демона, и в кластере не применяются ни переключатели питания, ни сторожевые таймеры, происходит следующее:

  1. Функционирующая кластерная система определяет, что кластерная система, в которой произошел сбой демона кворума, не обновляет свою метку времени на кворумном разделе, хотя при этом достижима через пульсирующие каналы.

  2. Затем функционирующая кластерная система перезапускает все службы, работавшие в системе, столкнувшейся с отказом демона кворума. В худшем случае, при катастрофической ошибке, обе кластерные системы будут выполнять одни и те же службы одновременно, что может привести к разрушению данных.

Сбой демона пульсирующего канала

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

Сбой демона, управляющего питанием

Если демон, управляющий питанием, отказывает в одной кластерной системе и другая кластерная система столкнулась с серьезной проблемой (например, критической ошибкой системы), первая кластерная система не сможет отключить/включить вторую. Вместо этого, кластерная система будет продолжать выполнять свои службы, а службы, работавшие в отказавшей системе, не будут перенесены. В этом случае кластер себя ведет себя также, как и при сбое подключения к удаленному переключателю питания.

Сбой демона, управляющего службами

Если происходит отказ демона, управляющего службами, службы не могут быть остановлены или запущены без перезапуска этого демона или перезагрузки системы. Самым простым способом перезапустить демона, управляющего службами, является сначала остановить, а затем запустить программное обеспечение кластера. Например, чтобы остановить службу, выполните следующую команду:

/sbin/service cluster stop

Затем перезапустите программное кластерное обеспечение, выполнив следующую команду:

/sbin/service cluster start

Сбой демона мониторинга

Если происходит сбой демона мониторинга (clumibd), вы не сможете воспользоваться графической средой Red Hat Cluster Manager для наблюдения за состоянием кластера. Обратите внимание, для наблюдения за работой кластера с удаленных, не кластерных систем, с помощью графической среды, необходимо включить эту возможность в cluconfig.