Minimum HA Exchange 2010 configuration


There is some confusion on the minimum number of Exchange 2010 servers that are required for running a Exchange 2010 in a High Available configuration. This seems logical, because with Exchange 2007 you could not mix a clustered Mailbox role with one of the other Exchange roles. That meant for a minimum Exchange 2007 HA configuration you need 2 clustered Mailbox servers and 2 Exchange servers with the CAS en Hub role, where you load balanced the CAS role using Network Load Balancing (NLB).

With Exchange 2010 you can add CAS and HUB roles to a Mailbox server that is part of a Database Availability Group (DAG). So this might lead people to think you can suffice with 2 servers with Exchange 2010, each server holding the Mailbox, CAS and Hub role, part of a DAG and with load balancing configured for CAS (Hub roles are load balanced automatically within a site).

However, there’s a caveat: NLB and Failover Clustering (on which DAGs are build) are mutually exclusive. This means you can’t have both.

The solution is to install the CAS and Hub roles on DAG’ed Mailbox servers, but instead of load balancing client requests on the server, you use an external load balancer or ISA Server. When using a load balancer you need to configure the CAS servers in a CAS array, but I’ll devote another article to that at a later time.

So, when asked what’s the minimum number of Exchange 2010 servers required for a HA solution, the answer is 2½.

Update: The mentioned article on CAS Arrays is located here.

ForeFront Protection 2010 SP1 64-bit?


In a statement on the issue with ForeFront being 32-bit or 64-bit, ForeFront Senior Program Manager Carolyn Liu announced today that the upcoming releases of Microsoft ForeFront Protection for SharePoint 2010 (FPSP) and Microsoft ForeFront Protection for Exchange Server (FPES) 2010 with Service Pack 1 will be native 64-bit. The statement came after questions rose on the 32-bit parts in for instance FPE 2010, while Exchange 2007 and 2010 may only be installed on 64-bit platforms in production environments. This is their intent, as the blog also states that scanning engines not yet available in 32-bit will remain hosted in a seperate process with FPSP and FPE 2010 SP1. SP1 will introduce the possibility to alternate between using 32-bit or 64-bit engines. This way you can make the switch when a 64-bit engine becomes available or switch back to the 32-bit engine when required.

Performance Analysis of Logs (PAL)


When performance troubleshooting Exchange 2003 or Exchange 2007 you may, without System Center, end up using performance monitor, generating performance log files, checking what to look for and analyse logs accordingly correlating events in the process and know what to look for when trying to zoom in on the potential performance issues. Performing this analysis might be a lengthy process as you need to go through several counters looking for specific values, trends or tresholds within a certain period.

Performance Analysis of Logs (PAL) tool to the rescue. This tool, from Microsoft Services, tries to speed up the process for administrators. It can analyse performance log files and use certain sets of preconfigured XML treshold files for certain applications files to report on potential issues. All you need to do is configure logging, feed the performance log file to PAL, configure the application the system is running and generate the report. There are also files for Exchange 2003 and 2007 (not yet for 2010).

PAL installs on Windows XP, Windows Vista, Windows Server 2003 or Windows Server 2008 and Windows 7. In addition it requires  LogParser 2.2 as well as Office Web Components 11 and .NET Framework 2.0 (for the UI). The setup of PAL checks the prerequisites and directs you to the proper location to download these if required.

To start using the PAL tool proceed as follows:

  1. Start PAL;
  2. Select tab Counter Log. Here you specify which performance counter log file (blg or csv) to analyze. If required select a timeframe;
  3. Select tab Treshold File and select the .XML file to use for analysis. For Exchange, select the Exchange version as well as the role(s) of the server you are troubleshooting, e.g. Microsoft Exchange 2007 – HUB:

    Note that the XML file also can contain interactive elements in the form of questions, e.g. was the system 64-bit, how many CPUs are present etc. You need to configure these by setting the proper values in the Question Variable Names section;

  4. Select Analysis Interval tab. This is the interval to determine the min, average, maximum and trends when analysing. By default the whole time window is divided in 30 slices when you leave this setting to AUTO;
  5. Select Output Options tab to configure where and how you want the report to be saved;
  6. If you select Queue you can see the constructed commandline with all the options you configured. Yes, you can run PAL from the commandline, which might be convenient when you need to repeat the same job, run it for a different server or different time window;
  7. When you’re all set, select tab Execute and click Finish. A window will open where the output of the commandline and progress of the job will be shown. After the job is finished you will be presented an HTML report with information on relevant events and charts.

If you want to configure or inspect the tresholds, select Edit in the Treshold File tab or have a peek directly in the XML files; they are located in the PAL installation folder. When you select edit you might see something like the screen below. Its an overview of counters, instances, descriptions and tresholds.

The tresholds really are snippets of VB code which can process the available numbers and information taken from the questions to determine if a warning or alert should be generated. These snippets of VB code can be accessed by selecting a treshold and clicking Edit.

In the example above we see that a warning condition is to be generated for a certain number of CPU utilization. We also see that information from questions is taken into account, e.g. NumberOfProcessors. For each treshold we can specify the condition to raise, e.g. if the minimum (IsMinTresholdBroken), average (IsAvgTresholdBroken), maximum (IsMaxTresholdBroken) or trend (IsTrendTresholdBroken) has been reached.

I think PAL isn’t a “Poor Man’s SCOM” tool and believe PAL can be a real valuable time saver for administrators. At the moment PAL comes with files for Active Directory, Biztalk 2004+2006, Exchange 2003+2007,  Hyper-V, IIS 5+6, MOSS 2007, Project Server, SQL 2000+2005 and (generic) Windows Server OS. You can download the tool  from codeplex here. The Exchange 2003 and 2007 treshold files are maintained by Mike Lagase; you can download the latest PAL Exchange XML files here. To update these files, extract them in the location where you installed PAL, e.g. “C:\Program Files\PAL\PAL v1.3.5”. Note that the PAL team is working on a 2.0 PowerShell version of PAL.

Deploying Windows Mobile 6.5 on Exchange 2010


Windows Exchange Server 2010 and Windows Mobile 6.5 released, Microsoft published a Windows Mobile 6.5 on Exchange Server 2010 deployment guide. The guide contains best practices as well as procedures to configure and connect both worlds.

You can download the “Deploying Windows® phones with the Windows Mobile® 6.5 operating system on Microsoft® Exchange Server 2010″ document here; the related Technet pages are located here.

Speedup Exchange 2010 Rollup 1 setup


Normally, the setup of Exchange 2010 Rollup 1 is a no-brainer. However, not all Exchange systems have access to the internet. As with Exchange 2007 Rollups, Exchange 2010 Rollup 1 contains managed code of which the assemblies need to be compiled during setup. This requires an internet connection to verify the certificates. If you have no internet connection the setup is very slow because it needs to wait for certificate revocation checks to timeout.

To prevent this behaviour, you can disable the check as follows:

  1. Go to Internet Explorer > Tools > Internet Options or Control Panel > Internet Options
  2. Navigate to Advanced > Security
  3. Make sure the Check for publisher’s certificate revocation and Check for server certificate revocation options are unchecked

You can re-enable the checks afterwards when required.