Designing a Multi-Server Environment based on High Availability and Role Based Setup
When thinking about the implementation of Exchange Server 2007 in your environment, you will soon start thinking about how many servers you will really need. In addition, if you need high availability in your environment, you will have to add these needs to your server design, too. This article will discuss all these issues and by the end you should have an idea of what is relevant for designing a best of breed environment for your network. All topics discussed in this article are based on Microsoft Best Practice and real life implementations.
Exchange Server 2007 Roles
Exchange Server 2007 setup is designed to support server roles. These server roles have been created based on the most common server tasks in a messaging environment. The roles you can choose during the setup procedure are:
- Mailbox Server Role
- Client Access Server Role
- Hub Transport Role
- Unified Messaging Role
- Edge Server Role
To choose if you need to implement more than one server for a specific role, it is important to know which tasks each role performs and how it works internally. We will not discuss that within this article since there is already a lot of information freely available on this.
- Introduction to Exchange 2007 Server Roles
- Exchange Server 2007 Email Routing, Part 1 – Theoretical Basics
- Exchange Server 2007 Email Routing, Part 2 – Exchange Server Configuration
High Availability Features
How can we define “high availability” within the Information Technology sphere? Windows Server High Availability can provide up to 99.99% of availability. Neither Microsoft Cluster Service nor Network Load Balancing (NLB) can provide more than this due to restrictions that occur during a failover (planned or unplanned). When failover occurs there is a short timeframe when the service is unavailable until the node restarts and its services work properly.
Microsoft Cluster Service provides high availability for everything that is based on databases, e.g. Exchange or SQL Server. You can deploy up to 8 nodes that can be set as either active or passive. With Exchange Server 2007, Microsoft only supports up to seven active nodes and one passive node. We will talk about the characteristics of each clustering solution later.
Network Load Balancing provides high availability based on IP-Addresses and Ports (also known as Windows Sockets). This means we can run up to 32 nodes that will represent an active service in our network environment within a virtual cluster name and IP. This service is the best solution for designing IP-based high availability.
Choosing the best combination of Roles and High Availability
Based on the possibilities we have discussed, we now have to choose the best combination of high availability and roles for our design. If you do not need a high availability solution for your Exchange Server 2007 environment, you will not have to think about how many servers you will need: one server is enough.
We will now go through the five roles and talk about how to provide high availability for each.
High Availability for Mailbox Servers
Mailbox Servers perform the most important role in an environment. In general every administrator needs to provide some high availability to make it easier for anyone to recover from an unplanned downtime or database problem.
Exchange Server 2007 provides the following high availability features:
- Local Continuous Replication (LCR)
- Cluster Continuous Replication (CCR)
- Standby Continuous Replication (SCR)
- Single Copy Cluster (SCC)
Local Continuous Replication allows us to create “Transaction Log Shipping” for Exchange Server. This means that Exchange Server 2007 copies each transaction log file to another cheaper storage in your environment, attached to your server. So if you choose this solution you will not need a second server, you will only need to attach a second data storage to your single server.
Cluster Continuous Replication means that we enhance “Transaction Log Shipping” to another server system running Microsoft Cluster Service without any shared device in-between. But we need a third device (called a witness system) that monitors both nodes. If you choose this solution, you will need at least a second server and a maximum of seven more.
Standby Continuous Replication uses the same log shipping and replay technology used by local continuous replication and cluster continuous replication to provide added deployment options and configurations. Standby Continuous replication is a new feature with Exchange Server 2007 Service Pack 1.
Single Copy Cluster is the solution formerly known as “Exchange Cluster” in earlier releases. You need a minimum of two and a maximum of eight servers to make things work. With the Datacenter Edition of Windows Server 2003 even 32 nodes are possible. In addition you will need a shared storage device (in general a SAN implementation).
All other server roles are based on windows sockets and therefore can be made highly available using Network Load Balancing Services. The minimum number of machines is two the maximum is 32. When designing a solution like this, you will just have to decide what “Operational Level Agreements” are suitable in your environment and in addition you will have to think about the performance you will need on your messaging systems. Another thing you should make clear is the possibility of Load Balancing.
Real Life Experiences
In most of my Exchange Server 2007 designs we ran two to three boxes in a Network Load Balancing Cluster to make our solution highly available. When designing your solution you should think of the limitation that the Hub Transport Role is not running on a Microsoft clustering solution, so you have to use role separation on some of your servers. Regarding what high availability solution you choose, you will have to think about the number of users, the number of emails and needed performance are relevant for your design plans. Very often this decision is based on the investment plans your company is providing for your project. We can choose from a cheap solution (LCR) to a more expensive one (SCC).
As you have seen in this article we have a lot of possible solutions to create a high availability Exchange Server 2007 Service Pack 1 environment based on what you want and need to configure. Every role has high availability functionality and you can end up running a huge amount of servers in your environment.
I hope that you now have enough knowledge to choose the best design for your messaging environment. If you still need more information, please do not hesitate to contact me directly.