Exchange 2010: Multi-datacenter DAG

Стандартная, вроде бы, ситуация с добавлением нового узла (из другого датацентра) в DAG вываливается ошибкой:

Error: An error occurred while attempting a cluster operation. Error: Cluster API
'"AddClusterNode() (MaxPercentage=12) failed with 0x35. Error: The network path was not found

DagTask ситуацию не особо проясняет:

[] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState,
ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational,
dwPercentComplete = 12, szObjectName = MBX3, dwStatus = 0x0 )
[] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState,
ePhaseType = ClusterSetupPhaseContinue, ePhaseSeverity = ClusterSetupPhaseFatal,
dwPercentComplete = 12, szObjectName = MBX3, dwStatus = 0x35 )
[] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState,
ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseFatal,
dwPercentComplete = 12, szObjectName = MBX3, dwStatus = 0x35 )
[] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFailureCleanup,
ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational,
dwPercentComplete = 12, szObjectName = MBX3, dwStatus = 0x0 )
[] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFailureCleanup,
ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational,
dwPercentComplete = 12, szObjectName = , dwStatus = 0x0 )

[] The preceding log entry comes from a different process running on computer 'MBX2.domain.ru'
[] The operation wasn't successful because an error was encountered. You may find more
details in log file "C:ExchangeSetupLogsDagTasksdagtask____.log".
[] WriteError! Exception = Microsoft.Exchange.Cluster.Replay.DagTaskOperationFailedException:
A database availability group administrative operation failed. Error: The operation failed.
CreateCluster errors may result from incorrectly configured static addresses. Error:
An error occurred while attempting a cluster operation. Error: Cluster API '"AddClusterNode()
(MaxPercentage=12) failed with 0x35. Error: The network path was not found"' failed. --->
Microsoft.Exchange.Cluster.Replay.AmClusterApiException: An Active Manager operation failed.
Error An error occurred while attempting a cluster operation. Cluster API '"AddClusterNode()
(MaxPercentage=12) failed with 0x35. Error: The network path was not found"' failed.. --->
System.ComponentModel.Win32Exception: The network path was not found

Видно, что добавление в DAG прерывается на фазе проверки (eSetupPhase = ClusterSetupPhaseValidateNodeState). Ради интереса попробовал запустить проверку узлов из оснастки Failover Cluster. Проверка проходит.

Потом подумал на проблему с разным количеством сетевых интерфейсов на Primary Active Manager и новом узле DAG. В Planning for High Availability and Site Resilience явно не указано, что количество сетевых интерфейсов на всех узлах DAG должно быть одинаково. Однако, знающие люди сказали, что в DAG можно добавлять серверы с разным количеством сетевых интерфейсов, хотя, вроде бы, это и не поддерживаемая конфигурация.

Пришлось слушать трафик. Тут пошли более интересные результаты. например:

1027     ip2     ip3     SMB2     SMB2:C   TREE CONNECT (0x3), Path=\MBX3IPC$
1028     ip3     ip2     SMB2     SMB2:R   TREE CONNECT (0x3), TID=0x11
1029     ip2     ip3     SMB2     SMB2:C   IOCTL (0xb), FID=0xFFFFFFFFFFFFFFFF
1030     ip3     ip2     SMB2     SMB2:R  - NT Status: System - Error,
Code = (34) STATUS_ACCESS_DENIED  IOCTL (0xb)

PAM пытается подключиться к IPC$ на новом узле и получает ACCESS_DENIED. Согласно спецификации SMB3 запрос IOCTL, в котором содержится FID=0xFFFFFFFFFFFFFFFF фактически является запросом на согласование Security-диалектов между узлами перед разрешением SMB-сессии. Подробнее эта процедура описана тут. ACCESS_DENIED возвращается, в частности, когда сервер не может подтвердить запрос, и, скорее всего, это является следствием того, что возникла ошибка аутентификации.

Тут внезапно оказывается, что между датацентрами есть небольшое расхождение во времени (около минуты). Это быстро исправляют. Ошибка уходит…

Полезные ссылки:
SMB3 Secure Dialect Negotiation
Planning for High Availability and Site Resilience
[MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3

2 thoughts on “Exchange 2010: Multi-datacenter DAG

  1. Добрый день! А каким инструментом слушали трафик?

Leave a Reply

Your email address will not be published. Required fields are marked *