Exchange Geek's Weblog

I'm a Geek!

Archive for the ‘Setup’ Category

Crypto API fix KB KB974571 can break your OCS 2007 R2 install

Posted by Milind Naphade on 15/06/2010

I was installing OCS 2007 R2 yesterday on one of the servers which is a Windows Server 2008 R2 machine, I faced a problem activating the OCS EE server during the installation. Everything looked good until I started adding the server into the pool I configured. The add server to pool wizard couldn’t complete with an error in OCS deployment log.

[0xC3EC78D8] Failed to read the Office Communications Server version information. This can happen if the computer clock is not set to correct date and time. 

This error was totally unexpected when I knew that I had the clock setup correctly. Turns out it is a known problem while installing OCS 2007.

Normally when we install any server application we run windows updates so that the OS is fully updated with latest patches. However, for installing OCS 2007 or OCS 2007 R2 you have to little careful. An update described in KB974571 causes failures in OCS setup during the server activation.

Resolution:

IF you encounter such problem then you must uninstall KB974571 from the computer where you are installing OCS and install it after you have completed the installation. Wait… you are not done yet. You also have to apply the fix from the same KB in order to keep your OCS server running after activation of services.

Read more about this at KB974571

You can download the OCSASNFix.exe from Here. Which fixes the problem after installing the hotfix. Remember, this fix does not work unless you have an OCS installed on the computer. It is a simple command line utility you have to run from an elevated command prompt window.

Advertisements

Posted in OCS 2007, Setup | 6 Comments »

Installing Exchange 2010 SP1 (beta) on DAG members

Posted by Milind Naphade on 11/06/2010

Microsoft released another feature packed exchange update for exchange 2010. The service pack 1 (beta) for exchange 2010 contains many newly added features and fixes to identified bugs.

Installing SP1 on a standalone exchange 2010 server is not a very big deal but when it comes to applying an update or service pack on clustered servers exchange always needed a special procedure. This blog post discusses the steps that you need to follow while installing service pack 1 on a server which is a part of a DAG.

The steps are as below:

  • Identify which server you want to update first. This is normally a server which hosts only passive copies of databases. You may also have a situation where all DAG members host at least one active copy of any database. In such situations follow the next step.
  • This step can be skipped in future if MS comes with some solution and consolidates the hotfix in exchange installer itself. Download and install hotfix KB981002. This hotfix requires a system reboot. :-).
  • Another hotfix required for the OS is http://www.microsoft.com/downloads/details.aspx?FamilyId=87f72529-d316-42e8-bf77-a46951f66dda&displaylang=en. This can be downloaded when you run windows update. If you have run windows update lately then it is not required.
  • Once you have identified the server where you want to update first; suspend activation for the database copies on the server being updated.
  • Open EMS and run

Get-MailboxDatabaseCopyStatus -Server E1402 | Suspend-MailboxDatabaseCopy -ActivationOnly -Confirm:$False -SuspendComment "Install  SP1 for Exchange 2010"

E1402 is my server name in the DAG you must replace it with your server name.

  • Then the next step is to switch over the server being updated to another server. To switch over the server open EMC and locate the server being updated under Server Configuration –> Mailbox.
  • Highlight the server and then select Switchover Server from the actions pane. Refer the image below:

image

  • Select Automatically choose a target server. If you want to specify a target server manually then you can use the browse button by selecting Use the specified server as target for switchover option button

image

  • Close all MMC instances open on the server including EMC.
  • Now extract the SP1 installer from the file you downloaded to a convenient location and run the setup.exe

image

  • Select the languages to be installed and click on Install Microsoft Exchange Server Upgrade link on the page.
  • After you accept the license agreement installer runs a BPA check as usual.

08

  • Now you are ready to upgrade. You may not see that warning abut SMTP send connector if you have it configured correctly.

image

  • Here you can see that the SP1 is going through the Org Preparation one more time. You can read about the AD changed SP1 makes here. It is important that you review these changes as your organization may have custom schema extensions depending on the existing exchange 2010 schema extensions.

image

That greenery looks good 🙂

Alright, now you can simply resume the suspended database copies on this server by running

Get-MailboxDatabaseCopyStatus -Server E1402 | Resume-MailboxDatabaseCopy

You can also perform the database switchovers as necessary using EMC after this.

And simply repeat these steps for all other servers in the DAG.

Please note: It is highly recommended that you perform the backup of your AD servers before applying Exchange Service Packs.

Posted in Exchange 2010, Setup | 2 Comments »

Exchange 2010 Installation Fails with Event ID 5023 and 5003 MSExchangeTransport

Posted by Milind Naphade on 21/05/2010

This was really weird for me to see but I was installing Exchange 2010 Hub Transport and Mailbox Server Role on the same box today and I faced a setup failure a couple of times. Assuming that it would run correctly next time I uninstalled and reinstalled it too. But, it didn’t seem to help.

Here is what happened during install:

HT Sever role failed to install and when I reviewed the application logs I got some series of errors like below:

Log Name:      Application
Source:        MSExchangeTransport
Date:          5/21/2010 11:57:41 AM
Event ID:      5003
Task Category: Routing
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Exchange2010.exchange.local
Description:
Microsoft Exchange couldn’t load configuration information for routing. The process will block and retry the operation in 10 seconds.

Log Name:      Application
Source:        MSExchangeTransport
Date:          5/21/2010 11:57:51 AM
Event ID:      5023
Task Category: Routing
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Exchange2010.exchange.local
Description:
A transient configuration error was detected while the routing configuration was loading. Exception details: Unable to determine the local Active Directory site : Microsoft.Exchange.Transport.Categorizer.TransientRoutingException: Unable to determine the local Active Directory site
   at Microsoft.Exchange.Transport.Categorizer.AdSiteRelayMap.ValidateConfig(ExchangeTopology topology, ExEventLog eventLogger, DateTime timestamp)
   at Microsoft.Exchange.Transport.Categorizer.RoutingTables.ValidateConfig(RawRoutingConfigData rawConfigData)
   at Microsoft.Exchange.Transport.Categorizer.RoutingTables.PopulateTables(RawRoutingConfigData rawConfigData)

and ExchangeSetup.log showed some entries like below:

[05/21/2010 13:34:56.0667] [2] Service checkpoint has progressed. Previous checkpoint=’0′ – Current checkpoint=’1′.
[05/21/2010 13:34:56.0667] [2] Will wait ‘90000’ milliseconds for the service ‘MSExchangeTransport’ to reach status ‘Running’.
[05/21/2010 13:36:26.0839] [2] Service ‘MSExchangeTransport’ failed to reach status ‘Running’ on this server after waiting for ‘90000’ milliseconds.
[05/21/2010 13:36:26.0839] [2] The remaining time for service status change is ’00:13:05′.
[05/21/2010 13:36:26.0839] [2] [WARNING] Service checkpoint has not progressed. Previous checkpoint=’1′- Current checkpoint=’1′.
[05/21/2010 13:36:26.0839] [2] Previous service status query time is ‘5/21/2010 9:34:56 AM’.
[05/21/2010 13:36:26.0839] [2] Current service status query time is ‘5/21/2010 9:36:26 AM’.
[05/21/2010 13:36:26.0839] [2] Will wait ‘90000’ milliseconds for the service ‘MSExchangeTransport’ to reach status ‘Running’.
[05/21/2010 13:37:57.0012] [2] Service ‘MSExchangeTransport’ failed to reach status ‘Running’ on this server after waiting for ‘90000’ milliseconds.
[05/21/2010 13:37:57.0012] [2] The remaining time for service status change is ’00:11:35′.
[05/21/2010 13:37:57.0012] [2] Service ‘MSExchangeTransport’ failed to start. Check the event log for possible reasons for the service start failure.
[05/21/2010 13:37:57.0012] [2] [ERROR] Unexpected Error
[05/21/2010 13:37:57.0012] [2] [ERROR] Service ‘MSExchangeTransport’ failed to start. Check the event log for possible reasons for the service start failure.
[05/21/2010 13:37:57.0012] [2] Ending processing.
[05/21/2010 13:37:57.0012] [1] The following 1 error(s) occurred during task execution:
[05/21/2010 13:37:57.0012] [1] 0.  ErrorRecord: Service ‘MSExchangeTransport’ failed to start. Check the event log for possible reasons for the service start failure. 
After doing some research and reading on internet I found a resolution to this. The cause of the problem is that the msExchServerSite attribute on the server object does not get updated automatically and the Microsoft Exchange Service Fails to start. Just because the service fails to start in the way it is expected to setup thinks that it did not complete and stops installing everything else.

Fix to this problem:

Is not really a very convenient way in fact so I would call it a work around instead of a FIX.

1. I used SMS Trace utility to monitor the progress of setup. This is shipped with SCCM Resource Kit and indeed is a great utility to monitor .log files in real time.

2. Opened ExchangeSetup.log file and continued monitoring it. Before the setup could reach the stage where above entries are logged in the setup log I opened ADSIEDIT and did following:

a. Browsed to location: CN=USA,CN=Sites,CN=Configuration,DC=exchange,DC=local

b. Copied the distinguishedName value of the site and pasted it in a notepad.

c. Again browsed to location: CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Exchange,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exchange,DC=local

d. Kept refreshing this location until my Exchange 2010 HT server name papered there. The moment it appeared I did the below steps real quick.

e. Opened Properties and located attribute: msExchServerSite

f. Double clicked on the attribute and pasted the value that I copied from site distinguishedName.

After investigating it further the problem turned out to be with AD. You must have the replication working correctly indeed but also the AD sites should also have correct configuration. Site configuration must contain correct subnets associated with it as well at least one GC in the site where you are installing the Exchange 2010 HT server role.

 

Posted in Exchange 2010, Setup, Transport | Comments Off on Exchange 2010 Installation Fails with Event ID 5023 and 5003 MSExchangeTransport

Processor and Memory Recommendations for Exchange 2010

Posted by Milind Naphade on 29/09/2009

Being on 32 bit platform Exchange 2003 always had limitations of memory sizes though not for the processors. Yet, the standard processor ratio for DS:Exchange can significantly affect your Exchange Server performance as well as the end user experience. You can recall that Microsoft recommended 1:4 processor ratio for an Exchange Server 2003 deployment. Now here in this ratio Microsoft recommended using at least 1 core of CPU for your domain controller/global catalog if you have an exchange server which runs on a CPU having 4 cores in it.

These recommendations have few more additions since Exchange 2007 and a bit for Exchange 2010 too. Due to the x64 architecture of both products and the platform’s capacity to address more memory along with Exchange’s its own bifurcated server roles it is necessary to review it. Well, the recommendations per server role for Exchange 2010 are below:

Server role Minimum Maximum Recommended
Edge Transport 1 x processor core 12 x processor cores 4 x processor cores
Hub Transport 1 x processor core 12 x processor cores 4 x processor cores
Client Access 2 x processor core 12 x processor cores 8 x processor cores
Unified Messaging 2 x processor core 12 x processor cores 4 x processor cores
Mailbox 2 x processor core 12 x processor cores 8 x processor cores
Multiple server roles (combinations of Hub Transport, Client Access, and Mailbox server roles) 2 x processor core 16 x processor cores 8 x processor cores

Table 1

Apart from above recommendations you still need to maintain the ratio of processor cores per server role to each other below is another table which talks about it.

Server role ratio Recommended processor core ratio Memory Per core
Mailbox:Hub 7:1 (no antivirus scanning on Hub)

5:1 (with antivirus scanning on Hub)

1 GB for each core on HT
Mailbox:Client Access 4:3 2 GB for each core on CAS
Not applicable for Edge Refer Table 1 1 GB for each core

Table 2

Again, the old days still have their importance in life. Domain controllers providing services to an exchange organization should still maintain the 4:1 ratio if you have a domain controller running a 32 bit operating system. This scenario changes a little bit for a domain controller running a 64 bit operating system. The ratio for an domain controller with 64 bit OS is 1:8. Here the exchange server’s CPU cores are for every server role. That means if you have a 3 different servers named MBX – mailbox server role, CAS – your CAS server role, HT – your HT server role, and UM – your Unified messaging server role having 4 cores in each which should be 16 cores in total then you should have at least one domain controller running 2 cores of CPU. For more information on choosing a right CPU for your 64 bit infrastructure you can refer the supported processor manufactures websites. Intel or AMD

Addition to this, each mailbox server should have 4GB of memory plus 2-10MB per mailbox, based on if the mailbox is in light, average, or heavy use. To calculate the memory requirement and storage requirement for the mailbox server role you can always refer the mailbox storage calculator: http://msexchangeteam.com/files/12/attachments/entry453145.aspx

References:

http://technet.microsoft.com/en-us/library/dd346701(EXCHG.149).aspx

http://technet.microsoft.com/en-us/library/dd346699(EXCHG.149).aspx

Posted in Active Directory, Exchange 2010, Setup | 1 Comment »