Desde que tomei a sábia decisão de migrar o meu ambiente de testes para Hyper-V, tive a oportunidade de ensaiar novos cenários, nomeadamente a possibilidade de ter máquinas virtuais de 64 bit.
E foi exactamente enquanto estava a instalar o Exchange Server 2007 num servidor virtual Windows Server 2008, que também é Domain Controller e Global Catalog, que enfrentei um desafio interessante.
Começo por lembrar que a instalação de Exchange em Domain Controllers não é de todo recomendada, há uma série de problemas que podem ocorrer, nomeadamente os descritos no artigo KB940845.
Mas os meus problemas ocorreram durante o processo de instalação do Exchange Server 2007 SP1. Tendo eu cumprido os requisitos para o setup em Windows 2008, conforme o descrito neste artigo TechNet, arranquei com o wizard de instalação.
Tudo parecia correr bem, até que durante a instalação do Hub Server Role o processo parou com o seguinte erro: Service 'MSExchangeTransport' failed to reach status 'Running' on this server.
Uma análise ao Application Event Log, revelou os seguintes eventos:
Source: MSExchange ADAccess
Event ID: 2114
Task Category: Topology
Level: Error
Description:
Process MSEXCHANGEADTOPOLOGYSERVICE.EXE (PID=1784). Topology discovery failed, error 0x80040a02 (DSC_E_NO_SUITABLE_CDC). Look up the Lightweight Directory Access Protocol (LDAP) error code specified in the event description. To do this, use Microsoft Knowledge Base article 218185, "Microsoft LDAP Error Codes." Use the information in that article to learn more about the cause and resolution to this error. Use the Ping or PathPing command-line tools to test network connectivity to local domain controllers.
Source: MSExchange ADAccess
Event ID: 2604
Task Category: General
Level: Error
Description:
Process MSEXCHANGEADTOPOLOGY (PID=1784). When updating security for a remote procedure call (RPC) access for the Exchange Active Directory Topology service, Exchange could not retrieve the security descriptor for Exchange server object E2K7-X64 - Error code=80040a01.
The Exchange Active Directory Topology service will continue with limited permissions.
Event ID: 2601
Source: MSExchange ADAccess
Category: General
Type: Warning
Description: Process MSEXCHANGEADTOPOLOGY (PID=1784). When initializing a remote procedure call (RPC) to the Microsoft Exchange Active Directory Topology service, Exchange could not retrieve the SID for account <WKGUID=DC1301662F547445B9C490A52961F8FC,CN=Microsoft Exchange,CN=Services,CN=Configuration,...> - Error code=80040a01. The Microsoft Exchange Active Directory Topology service will continue starting with limited permissions.
Após uma pesquisa na Internet, rapidamente cheguei à conclusão que a origem do problema tinha a ver com o facto de o protocolo IPv6 estar inactivo nas propriedades da rede.
O Exchange Server 2007 precisa do IPv6 activo para correr em Windows Server 2008 (a menos que se desactive completamente o IPv6). Há uma série de componentes do Exchange que dependem do IPv6, conforme descrito neste artigo TechNet: IPv6 Support in Exchange 2007 SP1.
Se decidirem desactivar completamente o IPv6, sigam os passos descritos por David Chen neste Forum TechNet (eu não tive oportunidade de testar):
- Open Registry with "Regedit"
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
- Create a dword (32-bit) value and name it as "Disabled Components" and then click OK
- Double click "Disabled Components" and type 0xffffffff(hexadecimal value) or 4294967295 (Decimal value)
Please note: The above value 0xffffffff(hexadecimal value) or 4294967295 (Decimal value) will disable all IPv6 components, except the IPv6 loopback interface.
E embora algumas pessoas afirmem que é necessário configurar um endereço IPv6 fixo (como Alexander Zammit), o facto é que eu deixei as opções por omissão (obtain an IPv6 address automatically), reiniciei o processo de instalação e tudo correu optimamente.