Exchange 2010 "Whitespace"
Der belegte Speicherplatz von Exchange Mailbox Datenbanken
20Juni
Der belegte Speicherplatz von einer Exchange 2010 Mailboxdatenbank wird mit der Zeit immer größer, auch wenn Mailboxen aus der Datenbank gelöscht oder verschoben werden. Unter anderem sind die "Mailbox Retention Time", also der Aufbewahrungszeitraum für gelöschte Mailboxen sowie das "Recoverable Items Quota", der Aufbewahrungszeitraum für gelöschte Elemente wie beispielsweise E-Mails dafür verantwortlich, dass der Speicherplatz direkt nach dem Löschen weiterhin auf der Festplatte belegt bleibt. Generell enthält der belegte Speicherplatz einer Exchange Datenbank neben den eigentlichen sichtbaren Daten noch die gelöschten Elemente gemäß der eingestellten Aufbewahrungsrichtlinien sowie "Whitespace", auch "Recylable Space" genannt. Dieser Anteil bezeichnet den bereits freigegebenen Speicherplatz in der Datenbankdatei auf der Festplatte, der für neu eingehende Daten verwendet werden kann. Ist in einer Exchange Datenbankdatei erst einmal Speicherplatz belegt, wird dieser nicht wieder automatisch auf der Festplatte freigegeben, wenn die darin enthaltenen Elemente gelöscht werden. Somit wächst eine Exchange 2010 Datenbankdatei eigentlich nur und kann nie "schrumpfen". Der in einer Datenbankdatei nutzbare Speicherplatz kann über ein Powershell-Kommando angezeigt werden:
Das Kommando zeigt einem die Größe der Datenbankdatei auf der Festplatte ("DatabaseSize") sowie der darin enthaltene freie Speicherplatz für zukünftige Daten an ("AvailableNewMailboxSpace"):
Name DatabaseSize AvailableNewMailboxSpace ---- ------------ ------------------------ EXCHANGE-DB-01 18.26 GB (19,604,766,720 bytes) 9.544 GB (10,247,766,016 bytes) EXCHANGE-DB-02 15.63 GB (16,785,670,144 bytes) 3.696 GB (3,968,761,856 bytes)
Sollte es zu Engpässen im Storagesystem auf einem Mailboxdatenbankserver kommen oder muss aus anderen Gründen Speicherplatz auf der Festplatte freigegeben werden, so kann eine Exchange Datenbank "defragmentiert" werden. Hierbei wird der "Whitespace" der Datenbankdatei konsolidiert und wieder freigegeben. Der Prozess ähnelt dem Defragmentieren eines regulären Dateisystems auf einer Festplatte.
Die Defragmentierung einer Exchange Mailboxdatenbank kann nur offline erfolgen, daher können Benutzer mit Mailboxen in dieser Mailboxdatenbank zur Zeit der Defragmentierung nicht auf Ihre Emails zugreifen.
Des Weiteren ist zu beachten, dass für eine Defragmentierung ca. 110% der erwarteten neuen Datenbankdateigröße (derzeitige Größe abzüglich des "Whitespace") vorhanden sein muss, da die Datenbank temporär neu geschrieben wird. Dieser benötigte Speicherplatz kann jedoch auch auf einem separaten Volume liegen oder per UNC Pfad auf einer externen Storage angesprochen werden.
Die Defragmentierung der Datenbankdatei kann mit den folgenden Befehlen über die Exchange Management Shell eingeleitet werden:
In diesem Beispiel liegt die Datenbankdatei "EXCHANGE-DB-01.edb" im Verzeichnis E:\Mailbox und es wird die Freigabe "FREIGABE" auf dem Server "TEMP-STORAGE-SERVER" als temporärer Speicherort für die Defragmentierung verwendet. Generell empfiehlt sich jedoch die Verwendung lokaler Storage, wenn vorhanden, aufgrund der besseren Performance.
Folgendes sollten Sie unbedingt bei der Defragmentierung einer Mailboxdatenbank beachten:
Backups! - Sichern Sie die Exchange Datenbank unbedingt mit einer für die Exchange Server Sicherung vorgesehenen Software. Somit werden vor und nach der Sicherung die Transaktionsprotokolle zurückgesetzt und Sie haben außerdem bei einem Fehler während der Defragmentierung noch eine Datensicherung.
DAG! - Führen Sie diese Schritte nicht einfach so aus, wenn Ihre Mailboxdatenbank Mitglied in einer "Database Availability Group" ist! In diesem Szenario empfiehlt es sich, eine neue Datenbank mit entsprechender Replikation aufzusetzen und die Daten dorthin zu migrieren.
Downtime! - Bitte beachten Sie, dass während der Defragmentierung kein Zugriff auf die Mailboxen innerhalb der Datenbank besteht. Diese ist während der Defragmentierung offline. Die Defragmentierung kann je nach Größe der Datenbank durchaus mehrere Stunden dauern. Planen Sie also ein entsprechend langes Wartungsfenster ein.
http://www.msexchange.org/articles/Exchange-Databases-Disk-Consumption.html http://exchangeserverpro.com/defrag-exchange-2010-mailbox-database