Monday 29 July 2013

White Space in Exchange 2010

When items are removed from the Exchange database, the space that is freed up in the database is called white space. Exchange will use the available white space in its database for new database content before having to grow the size of the database.

With Exchange 2007 and older versions, one of the key elements that an Exchange administrator needed to keep an eye on, and caused confusion for newcomers to Exchange was the amount of white space in the database.
This is reported as free space in the event viewer via event ID 1221 during the night and is the result of content being removed from the database by the online maintenance process.
With Exchange 2010, the behavior of the database has changed.
Instead of performing an online maintenance during a fixed time window, it now does it constantly. This means that content that has passed the deleted item retention period, is removed from the database shortly afterwards, rather than waiting for the next online defrag window.

However because the process is running constantly, event ID 1221 isn’t written to the event log. Therefore an administrator may not have a clue as to how much of the database is white space, and how much is actual content.

This question can be easily answered, using EMS, as the amount of free space in the database is available via get-mailboxdatabase -Status:

Get-MailboxDatabase -Status | Select Servername, Name, AvailableNewMailboxSpace

This command will show you the name of the Server the database is mounted on, the name of the database (which is unique across the Exchange org with Exchange 2010) and the amount of space available in the database for new content.
The result will be something along the lines of this:

ServerName         Name Available            NewMailboxSpace
————–            ——————–            ————————
EXCH10       Mailbox Database        27.75 MB (29,097,984 bytes)

The command used get-mailboxdatabase -status can provide quite a bit of information about the databases in your Exchange org, use the |fl command to see the full list.

Always remember that when you perform stress testing/sizing for your Exchange 2010 environment, the IOPS created by this online maintenance should be kept in mind. Jetstress is a tool to play with.

In Earlier versions of Exchange, admins used to run the switch eseutil /d for offline defragmentation on exchange databases.

To know this better, we need to discuss about event id: 1221 and its relevance.

Event Type:        Information
Event Source:    MSExchangeIS Mailbox Store
Event Category:                General
Event ID:              1221
Date:     01/01/2005
Time:     00:04:16
User:     N/A
Computer:          SERVER
Description:        The database “First Storage Group\Mailbox Store (SERVER)” has 3.4 megabytes of free space after online defragmentation has terminated.

Exchange has performed a routine maintenance and any old data that is past the delete thresholds has been deleted from the database.
The space it has left behind has then been converted into “white space”. No difference in the size of the database.
This “white space” will be used by Exchange, before expanding the database any larger


Online defragmentation is an automated defragmentation process as a part of its scheduled maintenance which we specify on a mailbox store level in ESM where the actual database size remains the same wherein Offline defragmentation is the process we use to shrink the database size removing white spaces using the eseutil /d switch.

To determine the whitespace using eseutil command by using eseutil /ms

Refer 1 2

No comments:

Post a Comment