The following example illustrates appropriate sizing for an environment in which there are 24,000 2-GB 100 messages per day profile mailboxes spread across six Mailbox servers that are participating within a DAG with each database having three copies. These mailboxes receive an average of 37 MB of mail per five-day work week, with an average message size of 75 KB. Single item recovery is enabled with a 14-day deleted item retention window. The following calculations are used to determine the mailbox size:
Mailbox Size = Mailbox Limit + Whitespace + Dumpster
Whitespace = 100 messages per day x 75/1024 MB = 7.32 MB
Dumpster = (100 messages per day x 75/1024 MB * 14 days) + (2048 MB x 0.012) + (2048 MB x 0.03) = 188.6 MB
Example values for determining actual mailbox size on disk
|
Mailbox quota
|
Dumpster size (two weeks)
|
White space
|
Total size on disk
|
|---|
|
2 GB
|
188.7 MB
|
7.3 MB
|
2.19 GB (+12%)
|
Because this environment leverages JBOD storage, the maximum database size that can be deployed is dependent on the size of the disk. To determine the maximum database size for the JBOD scenario, use the following formula where the formatted capacity of a 1TB disk is 931 GB, the Free Space Percentage Requirement is 20 percent, and the Content Index Percentage is 10 percent:
Maximum Database Size = [Formatted Disk Capacity x (1 – Free Space Percentage Requirement)] / (1 + Content Index Percentage)
= [931 GB x (1 - .2)] / ( 1+ .10)
= 744.8 GB / 1.1
= 677 GB
In this environment, each user’s mailbox consumes 2.25 GB of disk space. To support 24,000 mailboxes, with a 677 GB database size, it's necessary to have 102 databases. This requirement results in a final count of 235 mailboxes per database.
However, because this solution is leveraging a JBOD storage architecture, it's vital to ensure that the number of mailboxes per database not exceed the amount of random I/O that can be achieved on the single disk. Because this solution is leveraging large form factor 7.2K SATA spindles, the spindle can achieve a maximum of 55 random I/O per second (IOPS) when fully utilized. Factoring in a 20 percent I/O overhead growth buffer, this means that the spindle can handle a total of 44 random IOPS.
Provided that the user base has a 100 messages per day profile, each mailbox is expected to consume 0.1 IOPS; therefore, the disk can support a maximum of 440 mailboxes with this IOPS profile. Because the capacity calculations determined that the maximum number of mailboxes that can be supported is 235 and this is below the 440 mailboxes determined based on the IOPS profile, this solution can be deployed on a single disk.
To determine the actual database size, use the following formula:
Database Size = Number of Mailboxes x Mailbox Size on Disk x Database Overhead Growth Factor
Based on the number of mailboxes, the actual size of the mailboxes, and the database growth overhead factor of 20 percent, the database size is 619 GB as shown in the following table.
Database capacity requirements
|
Mailboxes per database
|
Total number of databases
|
Database size requirements
|
|---|
|
235
|
102
|
619 GB
|
To ensure that the Mailbox server doesn't sustain any outages as a result of space allocation issues, the transaction logs also need to be sized to accommodate all of the logs that will be generated during the backup set. Provided that this architecture is leveraging the mailbox resiliency and single item recovery features as the backup architecture, the log capacity should allocate for three times the daily log generation rate in the event that a failed copy isn't repaired for three days. (Any failed copy prevents log truncation from occurring.)
A 100 messages per day profile mailbox generates 20 transaction logs per day on average, so a 24,000 mailbox environment will generate 576,000 transaction logs each day. Therefore, each database will generate 5,647 logs per day. One percent of the mailboxes are moved per week on one day (Saturday). The solution makes use of the native data protection features within Exchange and, therefore, doesn't perform backups and is sized to tolerate three days without log truncation.
As shown in the following table, this server requires 23 GB of space for each database copy.
Log capacity requirements
|
Logs per database
|
Log file size
|
Daily log size
|
Move mailbox size ÷ database
|
Truncation failure tolerance
|
Log size requirements
|
|---|
|
5647
|
1 MB
|
5.65 GB
|
6 GB
(240 × 2.19 GB x 1.2 / 102)
|
16.5 GB
(3 × 5.65 GB)
|
23 GB
(16.5 GB + 6 GB)
|
Provided that this is a Mailbox Resiliency and JBOD configuration with three copies, each database and its corresponding transaction logs will be placed on the same LUN. The LUN size required is:
LUN Capacity = Database Size ÷ (1 - Free Space Percentage Requirement)
= (Database Size + Transaction Log Size + Content Index Size) ÷ (1 - 0.2)
= (619 GB + 23 GB + 61.9 GB) / 0.8
= 879 GB
Determining required LUN size
|
Database size
|
Transaction log size
|
Content index size
|
Database LUN size
|
|---|
|
619 GB
|
23 GB
|
61.9 GB
|
879 GB
|
Return to top