Home Menu Search

Saqwel

IT and other things blog

Failed to bind to Domain Naming Op Master

Share

Доброго времени суток. Сегодня расскажу как расследовал предупреждения Failed to bind to Domain Naming Op Master и Failed to ping Schema Op Master, которые создавал агент SCOM на контроллере домена (RODC 2012 R2) в филиале.

  • Description: AD Op Master Response : Failed to bind to Domain Naming Op Master
  • Log Name: Operations Manager
  • Source: Health Service Script
  • Event ID: 3
  • Level: Warning

И

  • Description: AD Op Master Response : Failed to bind to Schema Op Master
  • Log Name: Operations Manager
  • Source: Health Service Script
  • Event ID: 19
  • Level: Warning

В консоли SCOM было следующее разъяснение для этого события: «The AD Op Master Response monitor failed consecutive attempts to bind or ping the schema operations master (also known as the schema flexible single master operations (FSMO) role holder). This is more than a transient error, and it should be investigated. However, because the schema master does not have a high-availability requirement, short-term outages are not necessarily a priority, and they can be deferred.»

Как видно, из разъяснения AD Op Master Response monitor не может пинговать или биндить держателя Schema Master Role. Самое простое – это выяснить, кто держатель этой роли и пингануть его из командной строки. Так я и сделал.

netdom query fsmo

Как и ожидалось обе недоступные роли Schema master и Domain naming master находятся на одном сервере (DC). Пинг сервера DC с сервера RODC не выявил проблемы. Надо было понять как выглядит bind в скрипте, запускаемом агентом SCOM. Для этого было проделано следующее:

  1. Экспортировать Management Pack, который содержит правило Failed to ping or bind to the Schema Master FSMO role holder. Следующий скрипт необходимо выполнить в Operations Manager Shell.
    Get-SCOMManagementPack -Name "Microsoft.Windows.Server.AD.2008.Monitoring" `
    | Export-SCOMManagementPack -Path "e:\temp"
  2. Открыть файл e:\temp\Microsoft.Windows.Server.AD.2008.Monitoring.xml в обычном текстовом редакторе.
  3. Найти в нём скрипт vbs, который запускается для диагностики (AD_Op_Master_Response.vbs).
  4. В этом скрипте необходимо найти как он делает ping и bind, что и было проделано. Дальше я написал соответствующий короткий скрипт vbs для проверки сервера с IP 192.168.0.2:
    Set objAD = CreateObject("McActiveDir.ActiveDirectory")
    MsgBox( objAD.Ping( "192.168.0.2" ) ) 'Должно быть неотрицательным числом
    MsgBox( objAD.BindObject("LDAP://192.168.0.2/RootDSE") 'Должно вернуть true
    

Оказалось, что метод objAD.BindObject(“LDAP://192.168.0.2/RootDSE”) выдавал ошибку, причиной которой был закрытый порт 389 между RODC и DC.

Leave a Reply