Поделиться через


Создание и анализ журнала CLUSTER.LOG для группы доступности Always On

Применимо к:SQL Server

В качестве ресурса отказоустойчивого кластера существуют внешние взаимодействия между SQL Server, службой отказоустойчивого кластера Windows Server (WSFC) и библиотекой SQL Server (hadrres.dll), которые невозможно отслеживать внутри SQL Server. Журнал WSFC — CLUSTER.LOG — позволяет диагностировать проблемы в кластере WSFC или в библиотеке ресурсов SQL Server.

Создание журнала кластера

Вы можете создать журнал кластера одним из двух способов:

  1. Используйте команду cluster /log /g в командной строке. Эта команда создает журналы кластера в каталоге \windows\cluster\reports на каждом узле WSFC. Преимуществом этого метода является то, что с помощью параметра /level можно указать уровень детализации создаваемых журналов. Недостатком является то, что невозможно задать целевой каталог для создаваемых журналов кластера. Дополнительные сведения см. в статье "Создание cluster.log в отказоустойчивой кластеризации Windows Server 2008".

  2. Используйте командлет PowerShell Get-ClusterLog. Преимущество этого метода заключается в том, что можно создать журнал кластера со всех узлов в один конечный каталог на узле, где выполняется командлет. Недостатком является то, что невозможно указать уровень детализации создаваемых журналов.

Приведенные ниже команды PowerShell создают журналы кластера со всех узлов кластера за последние 15 минут и помещают их в текущий каталог. Эти команду нужно выполнять в окне PowerShell с правами администратора.

Import-Module FailoverClusters   
Get-ClusterLog -TimeSpan 15 -Destination .  

Детализация журнала AlwaysOn

Вы можете повысить уровень детализации журналов в CLUSTER.LOG для группы доступности. Чтобы изменить уровень детализации, сделайте следующее:

  1. В меню "Пуск" откройте Менеджер отказоустойчивости кластеров.

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

  3. В области сведений щелкните правой кнопкой мыши ресурс группы доступности и выберите пункт "Свойства".

  4. Перейдите на вкладку "Свойства ".

  5. Измените свойство VerboseLogging . По умолчанию в VerboseLogging задано значение, в котором содержатся 0 сведения, предупреждения и ошибки. Подробное ведение журналов можно задать с 0 по 2.

  6. Нажмите кнопку "ОК".

  7. Щелкните правой кнопкой мыши на ресурсе группы доступности еще раз и нажмите Вывести этот ресурс в автономный режим.

  8. Щелкните правой кнопкой мыши ресурс группы доступности еще раз и нажмите кнопку "Переместить этот ресурс в сети".

События для ресурса группы доступности

В приведенной ниже таблице перечислены различные виды событий в CLUSTER.LOG, относящиеся к ресурсу группы доступности. Дополнительные сведения о подсистеме размещения ресурсов (RHS) и мониторе управления ресурсами (RCM) в WSFC см. в разделе "Подсистема размещения ресурсов( RHS) в отказоустойчивых кластерах Windows Server 2008.

Идентификатор Исходный код Пример из CLUSTER.LOG
Сообщения с префиксом [RES] и [hadrag] hadrres.dll (библиотека ресурсов AlwaysOn) 00002cc4.00001264::2011/08/05-13:47:42.543 INFO [RES] группа доступности SQL Server <>: [hadrag] запрос на отключение.

00002cc4.00003384::2011/08/05-13:47:42.558 ERR [RES] Группа <доступности SQL Server ag>: [hadrag] Арендный поток завершен

00002cc4.00003384::2011/08/05-13:47:42.605 INFO [RES] Группа доступности SQL Server <:>[hadrag] свободный SQL-запрос

00002cc4.00003384::2011/08/05-13:47:42.902 INFO [RES] группа доступности SQL Server <ag>: [hadrag] отключение от SQL Server
Сообщения с префиксом [RHS] RHS.EXE (подсистема размещения ресурсов, хост-процесс библиотеки hadrres.dll) 00000c40.00000a34::2011/08/10-18:42:29.498 INFO [RHS] Ресурс ag перешел в офлайн режим. RHS будет сообщать о состоянии ресурса в RCM.
Сообщения с префиксом [RCM] Монитор управления ресурсами (служба кластеров) 000011d0.00000f80::2011/08/05-13:47:42.480 INFO [RCM] rcm::RcmGroup::Move: Сначала переводим группу "ag" в офлайн...

000011d0.00000f80::2011/08/05-13:47:42.496 INFO [RCM] TransitionToState(ag) Online-->вызван переход в состояние Offline.
RcmApi/ClusAPI Вызов API, который обычно означает, что SQL Server запрашивает действие 000011d0.00000f80::2011/08/05-13:47:42.465 ИНФО [RCM] rcm::RcmApi::MoveGroup: (ag, 2)

Отладка библиотеки ресурсов AlwaysOn в изоляции

Это рекомендации по отладке, позволяющие настроить кластер для выполнения библиотеки ресурсов AlwaysOn (hadrres.dll) в изоляции от других библиотек ресурсов. По умолчанию кластер WSFC выполняет все библиотеки ресурсов в одном экземпляре rhs.exe. При этом все ресурсы в кластере совместно используют один экземпляр rhs.exe. При попытке отладки hadrres.dll с помощью отладчика приостановка в точке останова может привести к тому, что другие ресурсы, совместно использующие экземпляр rhs.exe, также будут приостановлены. Кроме того, при запуске нескольких групп доступности в одном кластере аналогичная конфигурация может привести к приостановке всех групп доступности, когда вы останавливаетесь в точек останова для отладки одной группы доступности.

Чтобы изолировать группу доступности от других библиотек ресурсов кластера, включая другие группы доступности, сделайте следующее для запуска hadrres.dll внутри отдельного процесса rhs.exe:

  1. Откройте редактор реестра и перейдите к следующему разделу: HKEY_LOCAL_MACHINE\Cluster\Resources. Этот раздел содержит ключи для всех ресурсов, каждый из которых имеет собственный GUID.

  2. Найдите ключ ресурса, содержащий значение Name , соответствующее имени группы доступности.

  3. Измените значение SeparateMonitor на 1.

  4. Перезапустите кластерную службу для своей группы доступности в кластере WSFC.