1. The Importance of Server Roles
The concept of an Exchange server role is not really
a new concept. Microsoft officially introduced the concept in Exchange
Server 2007, but in Exchange Server 2003 we did have server roles, such
as a Mailbox server, a front-end server, or a bridgehead server.
What was different is that for an Exchange 2003
front-end server, you installed the entire Exchange Server 2003
installation package, including the database engine, the message
transport (SMTP), and other Exchange server functions.
Once all the Exchange Server 2003 software was
installed, you then had to make configuration changes and disable
services to make the server provide only the services you required of
that specific "role."
Exchange administrators may want to know why server
roles are so important and why the change from the way we used to
configure servers. Granted, the architecture of Exchange Server 2003
was fairly monolithic, but the process of securing and configuring an
Exchange 2003 bridgehead or front-end server was fairly well understood.
Now, during installation, we are prompted to choose which server roles a particular Exchange server will be providing. Figure 1
shows the screen that you will see if you choose a custom setup of
Exchange Server 2010. You are prompted for which server roles you need
to install.
There are some clear and important advantages to this approach, such as the following:
Server configuration complexity is reduced.
Unnecessary components are no longer installed. Additional steps to disable services or lock down a component are not necessary.
Server
security is improved because now unnecessary components are not even
installed, thus reducing a server's potential attack surface.
Servers that have only the specific components necessary for their required role are more scalable.
2. Exchange 2010 Server Roles
Now let's take a look at the specific Exchange Server 2010 roles that you may find in your organization:
Mailbox server
Client Access server
Hub Transport
Unified Messaging
Edge Transport
If you have worked with Exchange Server 2007, you
may be wondering where the active clustered mailbox and passive
clustered mailbox server roles are. They are no longer necessary:
clustering can be achieved after installation because the concept of a
clustered mailbox server no longer exists as it did in previous
versions.
2.1. Mailbox Server
The Mailbox server role is at the center of the
Exchange Server 2010 universe. The Mailbox server role hosts Exchange
mailbox and public folder databases. Figure 2
shows the interaction with other messaging system components. Outlook
MAPI clients still connect to the Exchange server but only for public
folder access; for mailbox access, Outlook MAPI clients now connect to
the Client Access server. Public Folder server referrals are provided
by the Client Access server, though.
Mail delivery (even mail going from one mailbox on a
local database to another mailbox on the same database) is routed
through the Hub Transport server. The Unified Message server role
connects directly to the Exchange Mailbox server to retrieve a user's
outgoing voicemail message.
On the Mailbox server role, the Microsoft
Information Store service will almost always be the number one consumer
of systems resources; this is especially true of RAM usage. In Figure 3, this service shows up as store.exe. Don't be alarmed if you see this service consuming 90 percent of the RAM on a server; it is not uncommon for store.exe
to use 24 GB of RAM on a server that has a total of 32 GB. This RAM
usage enables the database to cache more data and interact with the
disk subsystem more efficiently.
On an Exchange 2010 server that is dedicated to
providing only Mailbox server functionality, you will still find quite
a few Exchange services running. The Exchange 2010 Mailbox server
services are listed in Table 1.
Table 1. Exchange Server 2010 Mailbox Server Services
Service Display Name, Short Name, and Executable | Function |
---|
Microsoft Exchange Active Directory Topology/MSExchangeADTopology/ADTopologyService.exe | Locates
Active Directory domain controllers and global catalog servers, and
provides Active Directory topology information to Exchange services.
Most Exchange services depend on this service; if it does not start,
the Exchange server will probably not function. |
Microsoft Exchange Information Store/MSExchangeIS/store.exe | The
information store is the actual Exchange database engine (also known as
ESE). This service manages the mailbox and public folder databases. If
the store.exe service does not start, databases will not be mounted. |
Microsoft Exchange Mail Submission/MSExchangeMailSubmission/MSExchangeMailSubmission.exe | Handles
message submission to the Exchange message transport service running on
Exchange servers handling the Hub Transport role. If this service is
stopped, email will not flow. |
Microsoft Exchange Mailbox Assistants/MSExchangeMailboxAssistants/MSExchangeMailboxAssistants.exe | Handles background processing functions for Exchange mailboxes. |
Microsoft Exchange Monitoring/MSExchangeMonitoring/Microsoft.Exchange.Monitoring.exe | Handles
the interaction between management and troubleshooting tools and the
Exchange server. Used by tools such as the Exchange Management Shell
diagnostic cmdlets. |
Microsoft Exchange Replication/MSExchangeRepl/msexchangerepl.exe | Provides
the continuous replication service to copy log files from an active
database to a server that hosts a passive copy of the database and
handles log replay on passive servers. |
Microsoft Exchange RPC Client Access/MSExchangeRPC/Microsoft.Exchange.RpcClientAccess.Service.exe | Handles the interaction between Outlook MAPI clients and public folder databases. |
Microsoft Exchange Search Indexer/MSExchangeSearch/Microsoft.Exchange.Search.ExSearch.exe | Handles content indexing for mailbox data. |
Microsoft Exchange Server Extension for Windows Server Backup/wsbexchange/wsbexchange.exe | Allows the Windows Server Backup utility to back up and restore Exchange Server data. |
Microsoft Exchange Service Host/MSExchangeServiceHost/Microsoft.Exchange.ServiceHost.exe | Provides
a service host for Exchange components that do not have their own
service. These include components such as configuring Registry and
virtual directory information. |
Microsoft Exchange System Attendant/MSExchangeSA/mad.exe | Provides
general management tasks for the Exchange server, including generating
offline address books, updating free/busy information, and maintaining
group memberships for the server's computer account. |
Microsoft Exchange Throttling/MSExchangeThrottling/MSExchangeThrottling.exe | Handles the limits on the rate of user operations to prevent any single user from consuming too many server resources. |
Microsoft Exchange Transport Log Search/MSExchangeTransportLogSearch/MSExchangeTransportLogSearch.exe | Handles the remote search capabilities for the Exchange server transport log files. |
Microsoft Search (Exchange)/msftesql-Exchange/msftesql.exe | Handles full-text creation for mailbox content and properties. |