Exchange Virtual Servers

 

Exchange Virtual Server is a clustered Exchange installation. When Exchange is installed on a Windows Server 2003 cluster, it is configured as an Exchange Virtual Server that can be passed between cluster nodes transparently to Exchange clients.

When you install Exchange on a cluster node, the Exchange Setup program copies the program files to the local disk of the cluster node. In a cluster with two nodes, such as Node A and Node B, Setup copies the Exchange program files to the hard disk of Node A. You then run Setup a second time to install the Exchange program files on the local hard disk of the second node.

After the Exchange program files are copied to the hard disks of each node, you then configure a resource group for the Exchange resources. As mentioned earlier, a resource group is defined as a logical container that holds resources for an instance of Exchange Virtual Server. This Exchange Virtual Server instance has many of the same resources that physical Exchange servers have, such as:

  • A network name

  • An IP address

  • Storage (SCSI or Fibre Channel)

After you create a minimum of the above Exchange Virtual Server resources, you must create a System Attendant resource. System Attendant creates the additional resources that compose an Exchange Virtual Server. These resources can be taken offline, which mimics the stopping of the service, or brought online, which mimics the starting of the service. You can also change the current resource owner (the cluster node). For example, you can configure Node B to own and run this resource instead of Node A.

The System Attendant resource is always created manually. Other Exchange service-related resources are automatically created after you create the System Attendant resource. On completion, these changes are written to the Microsoft Active Directory® directory service and an object for this Exchange-based server is listed in the Servers container of your administrative group.

Note

Exchange Server 2003 introduced several security-related changes that harden the security model compared to that of Exchange 2000 Server. For example, when you create an Exchange Server 2003 virtual server in a cluster environment, IMAP4 and the POP3 cluster resources are not created by default. If you want to use these services on a cluster, you must start the appropriate service on the cluster node, and then manually create the resource. For more information, see Microsoft Knowledge Base article 824127, "HOW TO: Create an IMAP4 or a POP3 Cluster Resource on an Exchange Server 2003 Virtual Server."

An Exchange Virtual Server is a collection of Exchange resources. Each resource has properties, such as resource dependencies, possible owners, and retry values. Each resource in an Exchange Virtual Server represents a different component of Exchange.

Exchange Components in a Cluster

Components and virtual servers that run inside a Windows Server 2003 cluster support active/active or active/passive functionality, or both. The Exchange-specific resources available for Windows Server 2003 clusters are listed in the following table.

Exchange Server 2003 Components in a Server Cluster

Component Functionality Notes

Microsoft Exchange System Attendant service

Active/Active

Multiple virtual servers per node in clusters of 2 or fewer nodes. Clusters with more than 2 nodes only support active/passive System Attendant resources.

Microsoft Exchange Information Store service

Active/Active

Maximum of four storage groups per node.

Message Transfer Agent

Active/Passive

One instance per cluster; always owned by first Exchange Virtual Server created in a cluster.

Routing Engine

Active/Active

 

POP3

Active/Active

Multiple virtual servers per node. Must be manually created by administrator.

IMAP4

Active/Active

Multiple virtual servers per node. Must be manually created by administrator.

SMTP

Active/Active

Multiple virtual servers per node.

HTTP

Active/Active

Multiple virtual servers per node.

Microsoft Search

Active/Active

 

NNTP

Not Supported

Internet Information Service (IIS) Network News Transfer Protocol (NNTP) component still required for installation of Exchange.

Exchange Connector for Novell GroupWise

Not Supported

 

Exchange Connector for Lotus Notes

Not Supported

 

Microsoft Exchange Event

Not Supported

 

Active/Active Clusters

Exchange 2003 supports active/active clustering for two-node clusters. Clusters with more than two nodes must use active/passive clustering. In an active/active Exchange cluster, there are multiple Exchange Virtual Servers that can be moved, with certain restrictions, between the different nodes that belong to the cluster and can simultaneously run on one node.

In active/active clusters, applications and resources can exist in multiple instances in a cluster. Therefore, both nodes can actively service clients. In Exchange 2003 active/active clusters, the number of Exchange Virtual Servers in a cluster is equal to or greater than the number of physical nodes in the cluster. Active/active Exchange clusters can be created only in clusters comprised of two or fewer nodes. If you have more than two nodes in your cluster, you must use the active/passive cluster model.

In most cases, each Exchange Virtual Server in the cluster runs on a separate node. If hardware fails or a node is taken offline, the other node detects the change and takes actions according to configured failover policies. Generally, this means that the remaining node assumes ownership of the Exchange Virtual Server that was running on the first node. In a two-node cluster (for example, Node A and Node B), when Node A is offline, Node B assumes ownership of the Exchange Virtual Server. Node B then has ownership of both shared disk systems, both IP addresses, both network names, and all other Exchange resources in the cluster. When Node A is back online, failback action might or might not be taken, depending on the configured failback policies.

Although active/active clusters are supported, you should use active/passive Exchange clusters for the following reasons:

  • Scalability   In an active/active Exchange cluster, each physical node cannot have more than 1,900 simultaneous MAPI connections, or consistently use more than 40 percent of the overall available CPU time.

  • VM Fragmentation   Active/active clusters are more prone to virtual memory fragmentation than active/passive clusters and non-clustered Exchange servers. This is because in the active/active cluster model, multiple instances of Extensible Storage Engine (ESE) run inside the same STORE.EXE process.

  • Performance   When failover occurs in an active/active Exchange cluster, the remaining node owns more than one Exchange Virtual Server. This causes performance degradation for users of both Exchange Virtual Servers until the offline node resumes its workload.

For more information about clustering with Windows Server 2003 and Exchange 2003, see Using Clustering with Exchange 2003: An Example.

Active/Passive Clusters

In an active/passive cluster, clients connect to an Exchange Virtual Server that is currently owned by one node of the cluster (for example, Node A). The node has control over the shared disk system that contains the Exchange databases. If Node A experiences a hardware failure or otherwise goes offline, Node B detects this failure and takes ownership of Exchange Virtual Server and all its associated resources.

In the active/passive cluster model, applications run as a single instance in a cluster. This means that one node typically sits idle (passive) until a failover occurs. In the context of Exchange 2003 clusters, active/passive clustering indicates that the number of Exchange Virtual Servers in the cluster is fewer than the number of physical nodes in the cluster. An example of the active/passive cluster model is shown in the following figure.

Four-node active/passive Exchange 2003 server cluster

c815d9a2-67bc-4ab6-834e-cf17486b1cc3

Active/passive is the strongly preferred clustering model for Exchange 2003. Active/passive cluster configurations are highly scaleable and have less administrative overhead than active/active clusters for several reasons:

  • Active/active clusters are limited to 1,900 simultaneous MAPI client connections per node.

  • Active/active clusters must be continuously monitored to make sure that the STORE.EXE process does not exceed 40 percent of the overall available CPU time on each node.

  • Active/active clusters are more prone to virtual memory fragmentation because multiple instances of ESE run in the same STORE.EXE process.

Active/passive Exchange clusters, regardless of their size, must include at least one passive node. In addition, at any given time, each node must only run one Exchange Virtual Server.

Resource Dependencies

As shown in the figure below, Exchange-related resources are directly dependant on the System Attendant resource. The System Attendant resource is in turn dependent on the Physical Disk, and Network Name resources, and the Network Name resource is dependent on the IP Address resource. In the case where an Exchange Virtual Server includes multiple Physical Disk resources, the System Attendant resource must have a dependency on all of them.

Microsoft Exchange System Attendant Service

The default dependencies shown in the following figure are created when Microsoft Exchange System Attendant service is created. System Attendant is the fundamental resource that controls the creation and deletion of all resources in Exchange Virtual Server.

Exchange resource dependencies in Exchange Virtual Server

64566397-1571-4fd9-a47c-43f342b7e148

These resources are created when you create the System Attendant resource. To delete the server and its object from Active Directory, you remove Exchange Virtual Server using Cluster Administrator. The IsAlive call to System Attendant checks Service Control Manager to obtain the immediate state of System Attendant.

Microsoft Exchange Information Store Service

When the Microsoft Exchange Information Store service is brought online, the service (STORE.exe) starts and begins to mount the storage groups. When all the storage groups are mounted, and the store has processed the existing transaction logs, the resource is considered to be online. The IsAlive call to the Microsoft Exchange Information Store service sends an RPC call to the STORE.exe process. On the store process side, the check only verifies that the virtual server name exists in the list of active virtual servers.

Message Transfer Agent

The message transfer agent (MTA) resource is an active/passive resource. There can be only one MTA per cluster. The MTA is created in the first Exchange Virtual Server in a cluster and cannot be moved to a different Exchange Virtual Server. For this reason, the first Exchange Virtual Server that you create in a cluster is also the last Exchange Virtual Server that can be removed from the cluster.

Although the MTA is an active/passive resource, it serves all virtual servers in the cluster while it is online. The IsAlive call to the message transfer agent checks Service Control Manager to obtain the immediate state of the MTA.

Protocols

The IsAlive call acts the same way for all protocols. EXRES.DLL opens a TCP port to the protocol by using the bindings that are provided from the Internet Information Service (IIS) metabase. It waits for a response in the form of a banner. If the start of the banner matches the expected value, the resource is considered to be online. If the banner is not returned before the time-out period, the Cluster service determines that the protocol virtual server is unavailable, and the IsAlive call is unsuccessful.

None of the protocols may be set to reject all connections from all servers, or the protocol virtual server will reject IsAlive calls from itself. Because of this, each protocol virtual server must accept connections from its own IP address. For the HTTP protocol, EXRES.DLL sends a WebDAV Track command to obtain a response.

When an Exchange Virtual Server is taken offline, all instances of the SMTP protocol virtual server on the node are briefly stopped and restarted to make sure that the store driver is correctly registered. This means that the SMTP resources of all Exchange Virtual Servers on the node quickly go offline and restart. The SMTP resource does not restart automatically if the do not restart option is selected in its properties.

The MSSearch resource provides content indexing for Exchange Virtual Server. The IsAlive call to the MSSearch process returns a pointer to the data structure for the database that is being indexed. If the pointer is valid, the resource is determined to be working correctly.

To re-create the MSSearch resource after it is deleted, you must delete and then re-create the Microsoft Exchange Information Store service resource for that Exchange Virtual Server. For more information, see Microsoft Knowledge Base article 830189, "Exchange Server 2003 computer cannot bring the Microsoft Search resource online."