< Day Day Up > |
This section describes the different types of Exchange servers and provides a model that will allow you to get a feel for sizing and placement of Exchange servers. For the purpose of this section, we will reference a fictitious company named WeirMoving, which is moving from Exchange 5.5 to Exchange 2003. One of the primary goals for WeirMoving's migration is the same as many companies today: consolidate servers and datacenters to lower costs. The WeirMoving's Exchange 5.5 deployment was very distributed, and the company wants to move to either a single datacenter or to a few datacenters. Because of the network requirements associated with moving users further away from the servers, the company needs to plan for both the single datacenter option and the multidatacenter option. The scenario will present clustering as a solution for high availability. Clustering, of course, is not required, but with more eggs in one basket , some sort of high-availability solution is needed. So, with that as a base, let's address server placement for WeirMoving. Server placement will be primarily based on network constraints. The rule for capacity planning is that each user accessing an Exchange server via Outlook 2003 will require 4Kbps of available bandwidth. Therefore, a single datacenter will require enough bandwidth from all user locations to support that level of traffic. The same bandwidth requirement holds true for multiple datacenters as well. So, before you can determine the appropriate placement of servers, and therefore the level of server and site consolidation, the current and future available bandwidth from every location must be well understood . Additionally, if political, legal, financial, or technical reasons require a server to be deployed outside of a datacenter environment, then server sizing will need to be given to incorporate such a deployment. The key design element for this example Exchange 2003 migration project is centralization. Storage GroupsOne major difference from Exchange 5.5 is that Exchange 2000/2003 introduces storage groups . A storage group is a set of Exchange Server databases that all share the same transaction log files. Exchange 2003 can contain up to four storage groups for each server. Each storage group can contain up to five databases. As a result, each server can host a maximum of 20 databases. Because disk and memory are reasonably cheap, the choice of filling a storage group first with the maximum number of databases or creating multiple storage groups to host the same number of databases depends on the restore requirements and SLA. Because transaction logs are associated with storage groups, the number of transaction logs can be quite large for a single storage group with five databases; thereby increasing restore time and transaction log playbacks. In such instances, it is advisable to create multiple storage groups to allow for parallel backups and faster recovery times. For our example, the storage group design is as follows :
DatabasesAn Exchange 2003 database actually consists of two files: the properties store (*.EDB) and the streaming store (*.STM). These files have different access characteristics depending upon the type of clients that will be supported. For MAPI clients interchanging e-mail with each other, the STM is not the final resting place for messages, even though the messages might have traversed SMTP when traveling between servers. This is because the message is tagged as Transfer Neutral Format (TNF), and the entire message (header information as well as content) is promoted to the .edb. For IP clients (such as IMAP, POP3, HTTP, and SMTP), the streaming store is the primary storage location with certain properties being stored in the properties store. Although clients have their preferred file type, cross conversions can occur. For example, if a POP3 client submits a message via SMTP, the message data is physically stored in the .stm file. There is property promotion to the .edb file of the message header data. This takes place automatically. However, now assume that a MAPI client attempts to read the message. In this scenario, the message data in the .stm file is converted on-the-fly for reading purposes (the message and attachments are left in the .stm file and converted in memory). Promotion of an entire message happens only from the .stm file to the .edb file if the message is modified. There are no circumstances where data is promoted to the .stm file. All client conversions are performed in memory. In the majority of scenarios, there is no real benefit to splitting the .edb files and .stm files on separate spindles. Database size can be controlled by limiting the number of mailboxes on each database as well as setting mailbox quotas through mailbox store policies. Users in the example environment have been categorized into three classes:
Based on best practices from an operations perspective with respect to management, backup, recovery, and defragmentation, the following database or store design guidelines have been defined for the Exchange environment:
Based on the answers to these three questions, our environment can alter the maximum database size based on the support that can be provided. For example, if a restore solution restores data at 15GB/ hour , it will take two hours to restore a 30GB database. Factor in additional time for transaction log playback and other factors (getting the right people, process, delays, and so on), and it might require four hours to restore a 30GB database. There must be at least 30GB (or whatever the size is of the largest mailbox store) of free space to conduct any offline maintenance operations. For the purpose of this design, four categories of Exchange servers will be defined for database and server sizing:
note These numbers are specific to this fictitious environment and will likely be very different from your environment. The HP and Microsoft recommended method for predicting the maximum size of an Exchange 2003 mailbox store is ((Mailbox Quota * Number of Mailboxes)/ Sharing Ratio) + % Allocated to Deleted Items The following values are used in the calculations:
Based on this theory, the total message store size per database will be kept at a level to support 300 users and a database size of less than 30GB. Smaller numbers of users per database will exist in the nonclustered servers, although that number can be increased if needed. Transaction Logs and Circular LoggingEach storage group has a set of transaction log files. The log files contain all the page modifications applied to the databases belonging to the storage group. There is no practical limit to the quantity of log files per storage group; however, it is critical to monitor the growth of these log files: If an Extensible Storage Engine (ESE) instance (that is, a storage group) cannot write transactions to the log files, it stops, and therefore blocks any access to the databases belonging to the group. A log file is 5MB in size. Any difference in file size indicates a corruption of some sort. There is only one supported means of removing transaction logs, and this is to back up the entire storage group (that is, with an Exchange-aware agent and a full normal online backup). Because transactions for the different databases within a storage group are mixed in a single transaction log file set, it is necessary to back up all the databases of the storage group to truncate the log files. The STORE process uses a write-ahead logging mechanism to modify the contents of the database. It first proceeds to create transactions in the current transaction log file. A separate thread of execution then updates the database page in the database, as the checkpoint or memory pressure in the cache dictates. Exchange 2003 introduces a new checksum process for transaction logs. From the beginning, ESE has been using checksum on the database pages to detect page corruptions. With Exchange 2003, checksums are also used for the transactions stored in the transaction log files. It is very important to protect the transaction log files. They represent the most up-to-date status of the database. Because the write process to the databases is asynchronous, the current state of an Exchange database is represented by the set of modified pages buffered in memory, and the pages committed to disk. Only the transaction logs keep track of which pages have been modified in the Exchange database. In fact, it is better to lose a database than to lose the set of transaction logs. It is always possible to recover a database from the previous backup and the current transaction log. Circular logging is configurable on a storage group basis and is disabled by default. When enabled, it does not maintain all transaction log files. Instead, it maintains a window of a few log files. These are overwritten with newer transactions after they are committed to the database and the log becomes full. This helps manage disk space by preventing transaction logs from building up. However, it does prevent data recovery from past transactions that have been overwritten. As a result, we will ensure circular logging is disabled on all mailbox (data) servers to ensure maximum data recovery. Connector servers and Outlook Web Access (OWA) servers store only transient data and will not be backed up or restored to/from tape. As a result, we will enable circular logging on connector and OWA servers to prevent the transaction logs from consuming disk space. ClusteringDuring a design workshop, the pros and cons of a clustered exchange environment should be discussed. Clustering is certainly useful while performing maintenance or upgrades on any one node of the cluster. Because in our example environment, we are moving to a single, or at least a few, datacenter(s), clustering will be used as a means of high availability. Clustering is more complex than single-server deployments, so it's imperative that you have your personnel appropriately trained. Testing all clustering configurations before production deployment is also critical. Processes and procedures specific to the cluster must also be developed and tested . Although clustering is a viable option, certain factors must be kept in mind; some items are repeated in an effort to signify their importance. Exchange clustering is very picky about the hardware and software revision levels for it to work efficiently . Therefore, clusters must be tested thoroughly and, ideally , you should have a similar configuration in the test environment at all times to test any future patches, supporting software, or upgrades to firmware levels in the test lab prior to deploying it in production. A clustered solution requires that you have expertise, and good knowledge and understanding of the different concepts in detail for troubleshooting and managing the Exchange cluster. Recovery processes for a failed clustered must be well documented and executed in the test lab. Future upgrades of clusters to future versions of Exchange might be complex. This held true for Exchange 5.5 clusters, which could not be directly upgraded to Exchange 2000 clusters. Failover duration from one node to another depends on the number of concurrent connections at that time. With Exchange 2003, however, cluster failover is much faster than in previous versions as the STORE process is " killed " after a maximum of three minutes. From there, failover will be as fast as the passive server can take over the service. Server Sizing ConsiderationsThe performance of Exchange 2003 servers is critical to uphold SLAs and provide an acceptable user experience. The following will be used as guidelines for sizing Exchange 2003 servers in the example environment:
These guidelines will be used to size the various types of exchange servers in the environment such as mailbox servers, connector/Bridgehead Servers (BHSs) and OWA front-end servers. The object of this exercise is to come up with different sizing guidelines, and then you can pick and choose the right configuration to host their user populations. Server Categories and Hardware SizingFor the purpose of this design, four categories of Exchange servers will be defined for database and server sizing:
Based on the database size considerations and the server categories for hosting exchange, the hardware configuration shown in Table 12.5 is being used for this sample environment. Table 12.5. Exchange Server Types
Some things to keep in mind related to the hardware recommendations being made:
Server PlacementThere are two basic contradictory approaches to server placement:
The goal is to centralize servers while maintaining an adequate user experience. This is heavily dependent upon the available network bandwidth. As part of this design effort, some key server placement guidelines have been developed. We will deploy Exchange servers based on these guidelines only:
Based on the server placement guidelines in the previous list, in our example we will deploy servers in either of the following scenarios:
As part of the design, a list of all exchange servers by location and scenario should then follow, similar to that shown in Table 12.6. Table 12.6. Central Datacenter: Exchange Server Placement
It is important to restate that a central datacenter will require a network infrastructure that can support 4Kbps of available bandwidth from every user's desktop to the datacenter. |
< Day Day Up > |