среда, 3 июня 2015 г.

Ошибки: SMBWitnessClient Event id 8 и SMBWitnessClient Event id 5


В рамках внедрения кластеризованных решений удалось отловить ошибки: SMBWitnessClient Event id 8 и SMBWitnessClient Event id 5.


Ошибка возникает по причине: 
DNS именя ресурса %NetworkName1% и сетевого имени ресурса %DNSName1% не совпадают.

Скриншоты для ресурсов Network Name, пример:

 


 

Можно проверить с помощью команд:

Get-ClusterResource -Name %NetworkName1% | Get-ClusterParameter

Get-ClusterResource -Name %NetworkName2% | Get-ClusterParameter

 
 

В Failover Cluster можно использовать разные имена для DNS имени ресурса и сетевого имени ресурса, это не приводит к проблемам в работе кластера. Однако служба SMB3 witness server по умолчанию считает, что данные имена должны совпадать. Данное поведение by-design в Windows Server 2012 (R2).

 

Ошибку можно устранить назначив для DNS имени ресурса и сетевого имени ресурса одинаковые имена.

 

Сделать это можно командами:

 

Get-ClusterResource “SQL Network Name (%ObjectName1%)” | %{ $_.Name = “%DNSName1%”}

Get-ClusterResource “SQL Network Name (%ObjectName2%)” | %{ $_.Name = “(%DNSName2%”}


Публикую пример:

 
 
 
 
 
 

6 комментариев:

  1. команда Get ни чего не изменит! Вы сами то проверяли данный запрос?!

    ОтветитьУдалить
  2. Специально для Вас выложил пример, который проделал на стенде :)
    см. обновление статьи

    ОтветитьУдалить
    Ответы
    1. Ок! Спасибо за оперативный ответ! Значит я был не прав!
      Но вопрос все еще остается. Есть 2 ноды в кастере. Node1 и Node2. Имя кластера Cluster.
      При выводе команды
      Get-ClusterResource
      там будет параметр name SQL Network Name (Cluster)
      а при выводе команды
      Get-ClusterResource -Name "SQL Network Name (Cluster)" | Get-ClusterParameter
      покажет полные характеристики кластера SQL.
      Это все хорошо и правильно.
      Такие же команды Вы давали в приведенном Вами примере в консоли PowerShell.
      Но ни какой информации по каждой ноды кластера при выполнении команды
      Get-ClusterResource -Name Node1 | Get-ClusterParameter
      НЕТ и НЕ БУДЕТ. И ни чего Вы этими командами не проверите.
      И если посмотреть Ваши команды в PowerShell, то в них указывается имя кластера, а не ноды кластера.

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

      Удалить
  3. У меня подобная проблема, но сервер не кластерный. PS такую команду вообще не признает

    ОтветитьУдалить
  4. Добрый день, Анна.
    Данная статья касается только исправлении ошибки в кластерной конфигурации и все команды привязаны к работе с кластерными объектами (причём определённой версии ОС). В Вашем случае надо проводить отдельную диагностику. Один и тот же код ошибки, но с нюансами возникновения и описания, может иметь разные способы разрешения.

    ОтветитьУдалить

Уважаемый коллега, Ваш комментарий пройдёт модерацию, чтобы избежать спам-атак в ленте. Спасибо за понимание.