Сегодня я попытался войти в свою учетную запись OWA (Outlook Web Access) и получил следующую ошибку. Я попытался инициировать подключение к удаленному рабочему столу для перезапуска служб, но не смог (у меня черный экран), и единственное, что я мог сделать, - это физически перезагрузить сервер. Это происходит каждые 20 дней, и я не знаю почему!
problem occurred while trying to use your mailbox. If the problem continues, contact technical support for your organization.
Request
Url: https:owa/default.aspx
User host address:
Exception
Exception type: Microsoft.Exchange.Data.Storage.StorageTransientException
Exception message: There was a problem accessing Active Directory.
Call stack
Microsoft.Exchange.Data.Storage.ExchangePrincipal.FromUserSid(ADRecipientSession recipientSession, SecurityIdentifier userSid)
Microsoft.Exchange.Clients.Owa.Core.OwaWindowsIdentity.CreateExchangePrincipal()
Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.GetExchangePrincipal(OwaContext owaContext, ExchangePrincipal& exchangePrincipal)
Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.PrepareRequestWithoutSession(OwaContext owaContext, UserContextCookie userContextCookie)
Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext)
Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext)
System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Inner Exception
Exception type: Microsoft.Exchange.Data.Directory.ADTransientException
Exception message: Could not find any available Global Catalog in forest xxxx
Call stack
Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType, ADObjectId domain, String serverName, Int32 port, NetworkCredential credential)
Microsoft.Exchange.Data.Directory.ConnectionPoolManager.GetConnection(ConnectionType connectionType)
Microsoft.Exchange.Data.Directory.ADSession.GetConnection(String preferredServer, Boolean isWriteOperation, Boolean isNotifyOperation, ADObjectId& rootId)
Microsoft.Exchange.Data.Directory.ADSession.GetReadConnection(String preferredServer, ADObjectId& rootId)
Microsoft.Exchange.Data.Directory.ADSession.Find(ADObjectId rootId, String optionalBaseDN, ADObjectId readId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 maxResults, IEnumerable`1 properties, CreateObjectDelegate objectCreator, CreateObjectsDelegate arrayCreator)
Microsoft.Exchange.Data.Directory.ADSession.Find(ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 maxResults, IEnumerable`1 properties, CreateObjectDelegate objectCtor, CreateObjectsDelegate arrayCtor)
Microsoft.Exchange.Data.Directory.ADSession.Find[TResult](ADObjectId rootId, QueryScope scope, QueryFilter filter, SortBy sortBy, Int32 maxResults, IEnumerable`1 properties)
Microsoft.Exchange.Data.Directory.Recipient.ADRecipientSession.FindBySid(SecurityIdentifier sId)
Microsoft.Exchange.Data.Storage.ExchangePrincipal.FromUserSid(ADRecipientSession recipientSession, SecurityIdentifier userSid)
Соответствующая строка такая:
Exception message: Could not find any available Global Catalog in forest xxxx.
В сочетании с черным экраном RDP это указывает на потенциальные проблемы с RPC (или сетью в более широком смысле). Проверьте свои журналы - отображается ли что-нибудь в средстве просмотра событий в то время, когда сервер перестает работать?
РЕДАКТИРОВАТЬ: Судя по вашим комментариям, вы теряете подключение к контроллеру домена. (Я предполагаю, что здесь один - если у вас их несколько, вы не разговариваете ни с одним из них.) Это объясняет невозможность получения почты, а также черный экран RDP (он запускает сеанс, затем пытается аутентифицироваться и зависает. Однако вход на почтовый сервер с локальной учетной записью должен работать.)
Узнайте, что происходит на контроллере домена в этом 20-дневном цикле. Это также может быть проблема с сетью. Если вы не видели никаких ошибок, связанных с отказом служб или нехваткой памяти, вероятность того, что это проблема почтового сервера, несколько менее велика. Все это временные ошибки, поэтому, если вы устраните основную проблему, Exchange сразу же вернется в норму.
Я думаю, что это может быть больше проблема "зависания сервера", чем "неисправности службы / сети". Сбои вашего Exchange на самом деле могут быть симптомом более общей проблемы на этом сервере (например, утечки памяти), которая медленно увеличивается от запуска сервера до точки, когда службы начинают сбой, все зависает, и вы не можете даже RDP в коробка. Это настоятельно подразумевается тем фактом, что задача повторяется с полурегулярными интервалами.
Если это не так, то вам следует каждые 20 дней проверять, что еще происходит в вашей сети; перезагрузка контроллера домена после обновления Windows может нанести ущерб вашей сети, особенно если это делается на нескольких контроллерах домена одновременно. Или, может быть, кто-то убирает серверную и отключает сетевые устройства (я видел, как это действительно происходит!) ...