If you configure a single database server, your disk design is similar to that of Exchange Server 5.5 and Exchange 2000 Server. Your first priority is to split the transaction logs and database onto separate disk spindles. Not only should the logs be on a different spindle set, but that spindle set should be dedicated only to logs. For example, you do not receive the performance benefits of the split if you put the pagefile or the Windows® 2000 Server or Windows Server™ 2003 operating system on the same spindle set as the logs.
If you intend to create multiple storage groups on the server, your number one priority, again, is to split the logs on to dedicated spindles. However, to gain any performance, you must have a dedicated spindle set for each storage group. After you have a dedicated spindle set, determine how many spindles you have left. On the majority of servers, not many disk slots will be available. Therefore, your best option may be to put all databases on the same partition.
If you spread databases from multiple storage groups over the same array and that array becomes unavailable, all databases from those storage groups (even those databases located on other arrays) temporarily become unavailable. The bad database is marked as down, and the good databases reconnect. The outage should last only a few minutes, and then MAPI clients such as Microsoft Outlook® recover their connections.
With sufficient disks, you can split the properties database (.edb) files from the streaming database (.stm) files. The types of clients that your server accommodates dictate the performance benefit of splitting these files. For example, if you expect to service only Internet Message Access Protocol version 4rev1 (IMAP4) and Post Office Protocol version 3 (POP3) users with large attachments, the read/write size might be larger than the 4 KB that is typically seen with MAPI users on an .edb database. In this case, splitting these files is recommended. You can optimize your disks for .stm files to support the large attachments.
MAPI and Microsoft Outlook Web Access clients read and write data to and from the .edb file. Technically, clients communicate to the Store.exe process. Therefore, they have no understanding of .edb files versus .stm files. All other clients use the .stm file. The following table shows the preferred location that is used by different clients.
Preferred client storage locations
|
Client type
|
Submitting data
|
Retrieving data
|
|---|
|
Outlook in MAPI mode
|
.edb files
|
.edb files
|
|
POP3
|
.stm files (through SMTP)
|
.stm files
|
|
IMAP4
|
.stm files (through SMTP)
|
.stm files
|
|
Outlook Web Access
|
.stm files (but full promotion to .edb files)
|
.edb files
|
|
Installable File System (IFS)
|
.stm files
|
.stm files
|
|
SMTP
|
.stm files
|
Not applicable
|
|
SMTP (with MAPI data)
|
.stm files (but full promotion to .edb files)
|
Not applicable
|
|
Microsoft ActiveX® Data Objects (ADO) or OLE DB
|
.stm files
|
.stm files
|
|
Collaboration Data Objects (CDO) for Exchange 2000 Server
|
.stm files
|
.stm files
|
|
CDO 1.21
|
.edb files
|
.edb files
|
Although this table indicates the preferred file type, cross conversions may occur. For example, if a POP3 client submits a message, the message data is physically stored in the .stm file. There is some automatic property promotion to the .edb file of the message header and other data. However, now assume that a MAPI client attempts to read the message. In this scenario, the message data in the .stm file is fully promoted to the .edb file (attachments are left in the .stm file and converted in memory). Promotion only occurs from the .stm file to the .edb file. There are no circumstances where data is promoted to the .stm file; all client conversions are performed in memory in these scenarios (with the aid of temporary files).
In the majority of scenarios, there is no real benefit to splitting the .edb files and .stm files on separate spindles. For example, if you have six disks, you must decide whether creating two RAID5 partitions over three disks each would give better performance than a single RAID0+1 (stripe and mirror) partition. In this case, RAID0+1 provides better write performance.
As disks become larger, it is tempting to purchase fewer larger disks to handle user data. Unfortunately, the speed of disks is not relative to the size. Therefore, you may have sufficient physical disk space, but the performance may not be sufficient for the user load. Allocate sufficient physical disk spindles for mailbox servers. It should be noted that specialized storage subsystems that use gigabytes of cache and many racks of hard disks typically have their own partition management and fault-tolerant operating system. When you work with these devices, seek specialist assistance from the hardware vendor.
In summary, the following are your best guidelines for configuring mailbox servers:
-
Create a RAID1 partition for Windows and Exchange binary files.
-
Put the pagefile on a separate RAID1 spindle. For mailbox servers, you should never put the pagefile on a non-RAID partition because the loss of the volume causes the server to stop.
-
Create one dedicated fault-tolerant partition for each storage group for the transaction logs (for example, RAID1 or RAID 0+1). A two-disk RAID1 partition should yield approximately 300 sequential write I/O operations a second. This capacity should be more than sufficient for a busy five-database storage group.
-
Create at least one fault-tolerant partition for your databases. If you have only one array, put all databases on this array. If you have multiple arrays, use one array for each storage group (databases only).
Databases, SMTP queues, and transaction log files can be moved to different partitions by using Exchange System Manager.
For more information about moving databases and logs, see Microsoft Knowledge Base article 257184, "XADM: How to Move Exchange Databases and Logs in Exchange 2000 Server."