Exchange Fragen & AntwortenTransaktionsprotokolle, Cmdlets, Remotemanagement und mehr

KC Lemson and Nino Bilic

F: Warum wurde die Transaktionsprotokollgröße in Microsoft® Exchange Server 2007 auf 1 MB herabgesetzt?

A: Exchange 2007 bietet den Protokollversand. Dies ist eine Technologie, auf der mehrere neue Features mit dem Namen „Fortlaufende lokale Replikation“ (Local Continuous Replication, LCR) und „Fortlaufende Clusterreplikation“ (Cluster Continuous Replication, CCR) beruhen. Wenn dies auf der Ebene einer Speichergruppe (Storage Group, SG) aktiviert ist, werden die Speichergruppen-Transaktionsprotokolle aus der ausgeführten Speichergruppe in die Kopiespeichergruppe kopiert. Die Protokolle in der Kopiespeichergruppe werden in der Datenbank wiedergegeben, um sie auf dem neuesten Stand halten. Dies ist die grundlegende, vereinfachte Erklärung.

Das Problem besteht darin, dass Transaktionsprotokolle nicht an die Kopiespeichergruppe gesendet werden können, es sei denn, das Protokoll ist für die Produktionsspeichergruppe geschlossen. Das heißt, dass das e00-Protokoll (das aktuelle Protokoll in der ersten Speichergruppe) erst gesendet werden kann, wenn es vollständig, geschlossen und umbenannt ist. Darüber hinaus sind Einstellungen verfügbar, mit denen Sie die Anzahl der Protokolle in diesem Prozess steuern können, da ein Kompromiss zwischen Verfügbarkeit und Leistung erforderlich ist. (Diese Einstellungen sind verfügbar, indem Sie das Set-MailboxServer-Cmdlet in der Exchange-Verwaltungsshell ausführen. Die Hilfedatei enthält Details zu den genauen erforderlichen Parametern.)

Die Transaktionsprotokollgröße wurde reduziert, um die Datenmenge zu minimieren, die zwischen den beiden Kopien der Speichergruppe möglicherweise nicht synchron ist. Dies spielt eine Rolle, wenn beispielsweise die Festplatte der Produktionsdatenbank abstürzt und Sie daraufhin den Start der Speichergruppe von der Kopie in Angriff nehmen müssen. Bei kleineren Transaktionsprotokollen ist die Wahrscheinlichkeit geringer, dass großer Datenverlust entsteht.

Das bedeutet jedoch nicht, dass Sie maximal 1 MB Daten verlieren. In Anbetracht der Tatsache, dass es sich um Transaktionsprotokolle handelt, ist es möglich, dass die verloren gegangene Protokolldatei mit 1 MB beispielsweise eine COMMIT-Transaktion für 5 MB enthalten könnte. In diesem Fall würden Sie die 5 MB Daten auf der Kopie verlieren. Obwohl Sie möglicherweise bereits fünf der Protokolle mit den Daten erhalten haben, sind das letzte Protokoll mit den wenigen Daten und die benötigte COMMIT-Transaktion wichtig.

Letzten Endes liegt es an Ihnen zu beurteilen, ob es sich angesichts Ihrer Geschäftsanforderungen um ein annehmbares Risiko handelt. Ein kleiner Datenverlust mit einer Wiederherstellungszeit von nur wenigen Minuten kann durchaus im Vergleich zu stundenlanger Wiederherstellungsarbeit akzeptabel sein. Weitere Aspekte dieses Themas werden in Zukunft an dieser Stelle eingehender behandelt.

F: Da die Transaktionsprotokolle nun kürzer sind: Werden sie zu einem früheren Zeitpunkt „knapp“, das heißt, reichen sie nicht mehr so lange aus?

A: „Knapp werden“ bezieht sich in Exchange auf die Transaktionsprotokollnamen. In Exchange Server 2003 werden Transaktionsprotokolle folgendermaßen benannt:

E nn fffff.log

„nn“ ist das Präfix, das sich von Speichergruppe zu Speichergruppe ändert. Da „nn“ während der gesamten Lebensdauer der Speichergruppe gleich bleibt, stellt der „fffff“-Wert die Anzahl eindeutig bezeichneter Transaktionsprotokolle dar, die für die Speichergruppe erstellt werden können. Er beträgt etwa eine Million Protokolle. Einige unserer Kunden haben bereits auf ausgelasteten Postservern diese Beschränkung erreicht.

Seit Exchange Server 2000 stellen wir einen Hotfix zur Verfügung, damit ein Ereignis im Anwendungsprotokoll angezeigt wird, wenn diese Grenze beinahe erreicht wird. (Weitere Informationen hierzu erhalten Sie unter support.microsoft.com/kb/896001.)

Was passiert in Exchange 2007? Oben wurde beschrieben, dass die Größe der Transaktionsprotokolle von 5 MB (die Größe in früheren Versionen von Exchange) auf 1 MB (die Größe in Exchange 2007) reduziert wurde. Bedeutet dies, dass eindeutige Transaktionsprotokollnamen bereits nach einem Fünftel der Daten nicht mehr genügend Platz haben?

Die Antwort lautet: Nein. In Exchange 2007 weist der Name des Transaktionsprotokolls das folgende Format auf:

E nn ffffffff.log

Beachten Sie, dass im Gegensatz zu den in früheren Versionen von Exchange zur Verfügung stehenden „fffff“ nun „ffffffff“ Protokolle verfügbar sind. Wegen der internen Berechnungsmethode der Extensible Storage Engine (ESE) kann Exchange 2007 nicht alle „ffffffff“ Protokolle erstellen. Stattdessen werden „7fffffec“ Protokolle erstellt, was auch eine hohe Anzahl darstellt. (Bei der Konvertierung von Hexadezimalzahlen in Dezimalzahlen wird dies noch deutlicher.)

Was bedeutet dies in der Praxis? Es bedeutet, dass Sie mit Exchange 2007 etwa 2048 Mal mehr Protokolle erstellen können als in früheren Versionen von Exchange. Was die Protokolle betrifft, die ein Fünftel der Größe besitzen:

2048 / 5 = 409.6

Sie können mit dem neuen Protokollbenennungsschema 409 Mal mehr Daten verarbeiten als mit dem alten Schema. Beachten Sie, dass sich diese Einheiten auf Speichergruppen und nicht auf Server beziehen, weil jede Speichergruppe ein anderes Protokolldateipräfix besitzt (wie e00, e01 usw.). Darüber hinaus können Sie in der Enterprise-Version von Exchange 2007 50 Speichergruppen pro Server erstellen. Es sieht also nicht so aus, als ob in naher Zukunft die Transaktionsprotokolle knapp werden könnten.

F: Wie kann ich meine Exchange 2007-Server von einem Remotestandort aus verwalten?

A: Es steht Ihnen eine Anzahl von Optionen zur Remoteverwaltung von Exchange 2007-Servern zur Verfügung. Erstens können Sie die Exchange 2007-Verwaltungstools auf einem anderen Computer als Ihrem Exchange-Server installieren, wenn dieser Computer entweder die 32-Bit- oder die 64-Bit-Version von Windows Server® 2003 Service Pack 1 (SP1) oder höher oder Windows Server 2003 R2 oder Windows XP SP2 oder höher ausführt. Beachten Sie, dass in Produktionsumgebungen die Installation von Serverrollen (Clientzugriff, Postfach, Edge usw.) auf 32-Bit-Hardware nicht unterstützt wird. Sie wird jedoch für die Installation von Verwaltungstools auf einem 32-Bit-Computer unterstützt. Denken Sie auch daran, dass die Verwaltungstools ab der ersten Version von Exchange Server 2007 nicht unter Windows Vista™ unterstützt werden.

In einigen Organisationen erstellt die IT-Abteilung einen einzelnen Server, der als Verwaltungsserver dient und auf dem die notwendigen Verwaltungstools für verschiedene Produkte installiert werden. Anschließend greifen Administratoren, die diese Tools benötigen, für die Remoteverwaltung über Terminalserver auf den Verwaltungsserver zu. In anderen Situationen installieren die Benutzer die Verwaltungstools auf ihren eigenen Desktops.

Von der Konsole oder der Shell aus können Sie Vorgänge auf den Servern in Ihrer Organisation ausführen. In der Konsole sind die Server sichtbar, sodass Sie auf allen Servern Vorgänge von einem Remotestandort aus durchführen können. In der Shell unterstützen viele Aufgaben ein Filterkennzeichen wie -server, wenn ein Vorgang auf einem einzelnen Server durchgeführt werden soll. Für Befehle, die lokal ausgeführt werden müssen, wie z. B. der Get-NetworkConnectionInfo-Befehl, gelten einige Ausnahmen.

F: Der letzte Artikel enthielt Informationen über den empfohlenen Arbeitsspeicher für einen Exchange 2007-Server. Wie groß sollte die Auslagerungsdatei sein?

A: Um potenzielle Fehler wegen Mangels an virtuellem Arbeitsspeicher zu vermeiden, werden die folgenden Richtlinien für die Festsetzung der Größe Ihrer Systemauslagerungsdatei empfohlen.

Wenn der Server über weniger als 8 GB RAM verfügt, sollte die Mindestgröße der Auslagerungsdatei der RAM-Größe plus 10 MB entsprechen. Wenn der Server folglich 4 GB RAM besitzt, beträgt die Mindestgröße 4 GB plus 10 MB. Die empfohlene Größe für die Auslagerungsdatei setzt sich jedoch aus der RAM-Größe mal 1,5 zusammen. Das wären für einen 4 GB-Server 6 GB.

Darüber hinaus wird für einen Server mit mehr als 8 GB RAM die Mindestgröße für die Auslagerungsdatei auf die gleiche Weise berechnet, also die RAM-Größe plus 10 MB. Die empfohlene Größe wird jedoch anders bestimmt. Grundsätzlich sollten Sie auf einem Server mit 8 GB RAM die RAM-Größe mit 1,5 multiplizieren, wenn Sie bei kleineren Auslagerungsdateien Fehlermeldungen wegen eines Mangels an virtuellem Speicher erhalten.

Beachten Sie, dass die hier aufgeführten Fehler keinen Bezug zur Fragmentierung von virtuellem Speicher haben (ein Problem bei Exchange 2000- und Exchange 2003-Servern). Hierbei handelt es sich um vom System protokollierte Popupfehler, denen zufolge die Größe der Auslagerungsdatei erhöht wird oder die Auslagerungsdatei zu klein ist.

F: Ich würde gerne mehr über die Verwendung der Exchange-Verwaltungsshell erfahren, habe jedoch noch nie zuvor eine Befehlszeile für die Verwaltung meiner Systeme verwendet. Wo beginne ich?

A: Zuerst sollen grundlegende Dinge erläutert werden. Jedes Cmdlet in der Exchange-Verwaltungsshell besteht aus einem einzelnen Verb und einem einzelnen Substantiv. Es gibt nur ein paar Verben, die von der Exchange-Verwaltungsshell verwendet werden: „Get“ wird verwendet, um Eigenschaften von Objekten abzurufen. „Set“ wird verwendet, um die Eigenschaften eines Objekts zu ändern, „New“, um neue Objekte zu erstellen usw. Zu den Substantiven der Exchange-Verwaltungsshell gehören viele Begriffe, mit denen alle Exchange-Administratoren bereits vertraut sind (z. B. Mailbox, Contact, Queue und OWAVirtualDirectory). Einige Begriffe sind jedoch in Exchange Server 2007 neu (wie TransportRule, StorageGroupCopy und UMAutoAttendant). In der Praxis sieht ein grundlegendes Cmdlet etwa folgendermaßen aus: New-Mailbox (Erstellen eines Postfachs) oder Get-Mailbox (Abrufen einer Liste der Postfächer in der Organisation).

Die meisten Cmdlets benötigen jedoch weitere Einzelheiten zur gewünschten Verwendung. Wenn Sie beispielsweise eine Eigenschaft in einem Postfach ändern möchten, müssen Sie den Namen des Postfachs und der Eigenschaft angeben. Dies geschieht über Parameter. Wenn „New-Sandwich“ ein Cmdlet wäre, dann könnten die Parameter, die den Inhalt des Sandwichs genauer beschreiben, „-AnzahlderTomatenscheiben 4“, „-Brot Weizen“ usw. heißen.

Wenn Sie die Verb-/Substantivaufteilung verstehen, können Sie die Befehlszeilenbereitstellung im Assistenten der Exchange-Verwaltungskonsole (Exchange Management Console, EMC) verwenden, um zu erfahren, mit welchen Cmdlets welche Vorgänge durchgeführt werden können. Führen Sie in der EMC den Assistenten aus, um einen neuen Benutzer zu erstellen. Nach Abschluss des Vorgangs wird am Ende des Assistenten eine Kopie des Befehls angezeigt, der im Inneren ausgeführt wurde (siehe Abbildung 1). Durch Drücken von STRG+C wird der Inhalt des Dialogfelds kopiert, sodass Sie das Cmdlet anschließend in Editor einfügen und eigene einfache Batchdateien zusammenstellen können.

Abbildung 1 Befehlszeilenbereitstellung zum Erstellen eines neuen Benutzers

Abbildung 1** Befehlszeilenbereitstellung zum Erstellen eines neuen Benutzers **(Klicken Sie zum Vergrößern auf das Bild)

Wenn Sie die Verwendung von Cmdlets üben möchten (ohne einen Schaden zu verursachen), können Sie den Befehl mit einem -WhatIf am Ende abschließen. Dadurch erfahren Sie, welche Aktionen das System durchführen würde, ohne dass diese Änderungen tatsächlich vorgenommen werden.

Sobald Sie mit den grundlegenden Cmdlets wie *-Mailbox vertraut sind, möchten Sie sicherlich auch andere ausprobieren. Verwenden Sie das Get-ExCommand-Cmdlet, um nach weiteren Cmdlets zu suchen. Dadurch wird eine Liste aller Cmdlets der Exchange-Verwaltung angezeigt. (Dies muss während der Ausführung der Exchange-Verwaltungsshell durchgeführt werden. Wenn Sie einfach nur die Microsoft-Befehlsshell oder Windows PowerShell™ öffnen, können Sie diese Aufgabe oder andere Aufgaben der Exchange-Verwaltung nicht durchführen.) Die Liste ist lang. Deshalb empfiehlt sich die Verwendung von Platzhaltern, um die Suche anzupassen. Beispielsweise gibt „Get-ExCommand *database*“ eine Liste aller Exchange-Cmdlets zurück, die „database“ in ihrem Namen haben, wie Dismount-Database, Move-DatabasePath und New-MailboxDatabase.

Wenn Ihnen ein Teil des gesuchten Substantivs bekannt ist, können Sie die Optionen durchlaufen. Sie können beispielsweise „Get-Mailbox“ eingeben und anschließend die Tabulatortaste drücken, um alle Cmdlets mit „mailbox“ im Substantiv des Aufgabennamens zu durchlaufen. Sie können sogar die Verwendung von Platzhaltern mit der Vervollständigung durch die Tabulatortaste kombinieren. Zum Beispiel können Sie „Get-*Mailbox*“ eingeben und mit der Tabulatortaste die möglichen Optionen durchlaufen.

Ein anderer einfacher Trick besteht in der Verwendung von Eingabeaufforderungen. Jedes Cmdlet besitzt einen Satz an Parametern, die von den grundlegenden Standardparametern für die Durchführung des Vorgangs benötigt werden. Get-Cmdlets, wie Get-Mailbox, benötigen keine Parameter. Standardmäßig gibt Get-Mailbox eine Liste aller Postfächer in der gesamten Organisation zurück. (Standardmäßig beschränkt sich diese Liste auf 1000 Einträge. Um diesen Höchstwert zu ändern, können Sie beispielsweise „Get-Mailbox -ResultSize 2000“ eingeben.) Sie erhalten von Cmdlets, die Objekte erstellen oder ändern (wie Set oder New), eine Aufforderung, die benötigten Informationen über das zu erstellende oder zu ändernde Objekt einzugeben. Wenn Sie beispielsweise New-Mailbox ausführen, werden Sie von der Shell aufgefordert, nacheinander das Kennwort, die Datenbank, den Namen usw. einzugeben.

Um mehr über die möglichen Parameter in einem bestimmten Cmdlet herauszufinden, verwenden Sie das Hilfesystem: Help Move-DatabasePath. (Sie können auch einfach nur „Move-DatabasePath“, „Move-DatabasePath -?“ usw. eingeben.) Sie erhalten eine Beschreibung des Cmdlets und eine Liste der Parameter mit dem Zweck eines jeden. Sie können auf die Hilfe ebenso über das Get-Help-Cmdlet zugreifen.

Eine andere Methode, mögliche Parameter für ein Cmdlet zu ermitteln, besteht in der Verwendung der Tabulatorvervollständigung für Parameternamen. Geben Sie „Get-Mailbox -S“ ein, und drücken Sie die Tabulatortaste. Sie durchlaufen alle möglichen Parameter, die mit S beginnen.

Darüber hinaus steht Ihnen selbstverständlich das umfangreiche Hilfesystem zur Verfügung. Wenn Sie etwas offline nicht finden können, sollten Sie es im regelmäßig aktualisierten Hilfeinhalt unter go.microsoft.com/fwlink/?linkid=79421 sowie in der Kurzübersicht unter go.microsoft.com/fwlink/?linkid=64647 suchen (jeweils auf Englisch).

Auf diese Weise können Sie die Arbeit mit der Exchange-Verwaltungskonsole beginnen. Die hier aufgeführten Informationen beschränken sich jedoch nur auf das Wesentliche und können die tatsächliche Leistung und Flexibilität des Tools nur oberflächlich behandeln. Aus diesem Grund werden wir dieses Thema ausführlicher in einem anderen Artikel besprechen.

F: In Exchange Server 2003 ESM (Exchange System Manager) konnten wir leicht die Postfachgröße aller Benutzer erkennen. Dieses Feature scheint in Exchange 2007 abhanden gekommen zu sein. Gibt es eine Möglichkeit, diese Informationen in Exchange 2007 anzuzeigen?

A: In der neuen Exchange 2007-Konsole können Sie die Größe eines Postfachs der allgemeinen Eigenschaftenseite des Postfachs entnehmen. Wenn Sie diese Informationen für mehrere Benutzer anzeigen möchten, müssen Sie die Exchange-Verwaltungsshell verwenden.

Wenn Sie Get-MailboxStatistics ausführen, können Sie die Daten eines ganzen Servers abrufen (nicht nur einer bestimmten Datenbank). Standardmäßig wird die Größe nicht gezeigt. Sie müssen das Cmdlet mit Format-List ausführen, um die Größe abzurufen.

get-mailboxstatistics | format-list

Manchmal empfiehlt es sich auch, die Anzeige auszuwählen und in eine Tabelle zu leiten. Im folgenden Beispiel wird der Anzeigename des Postfachs, die Gesamtgröße des Elements, die Gesamtgröße der gelöschten Elemente sowie die Datenbank des Postfachs abgerufen:

Get-MailboxStatistics | Select-Object 
displayname,totalitemsize,
totaldeleteditemsize,databasename 
| Format-Table

Je nachdem, welche Informationen Sie suchen, können Sie für die Ausgabe unterschiedliche Formate festlegen. In diesem Beispiel funktioniert Format-Table besser als Format-List.

KC Lemson ist leitende Programm-Managerin im Exchange Server-Team.

Nino Bilicist Technical Lead.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.