logo

IT Blog

Exchange 2010 "Whitespace" / Der belegte Speicherplatz von Exchange Mailbox Datenbanken

Hier erfahren Sie, wie Sie eine Exchange 2010 Datenbankdatei defragmentieren können, um den belegten Speicherplatz auf dem Datenträger zu reduzieren.

Exchange 2010 "Whitespace"
Der belegte Speicherplatz von Exchange Mailbox Datenbanken

20Juni

Wieso belegt meine Mailbox Datenbank so viel Speicherplatz?

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:

Freien Speicher in der Datenbankdatei anzeigen Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto

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"):

Ansicht der Speicherbelegung der Datenbankdatei
														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)
													
Wie kann ich die Größe der Datenbankdatei reduzieren?

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:

Datenbankeinbindung aufheben Dismount-Database EXCHANGE-DB-01
In das Verzeichnis der Datenbankdatei wechseln cd E:\Mailbox\
Defragmentierung starten eseutil /d EXCHANGE-DB-01.edb /t\\TEMP-STORAGE-SERVER\FREIGABE\Temp-EXCHANGE-DB-01.edb
Datenbank wieder einbinden Mount-Database EXCHANGE-DB-01

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.

Weitere Informationen

http://www.msexchange.org/articles/Exchange-Databases-Disk-Consumption.html http://exchangeserverpro.com/defrag-exchange-2010-mailbox-database

author Über den Autor
Niclas Kühne ist Geschäftsführer und Mitgründer der solutionsense OHG. Die solutionsense OHG bietet Ihnen rund um Ihre IT Infrastruktur kompetent und unabhängig Beratung, Management, Service und Support an. Vom kleinen Netzwerk mit 15 Computern bis hin zur überregional IT Infrastruktur großer Firmen bieten wir Ihnen die passende Lösung für Ihre individuellen Anforderungen.
Niclas Kühne, solutionsense OHG