Exchange 2k-Datenbanken

Es gibt in Exchange natuerlich Datenbanken, welche die Daten enthalten. Für den Postfachspeicher existieren die *.edb- und die *.stm-Dateien. Für öffentliche Ordner gelten ebenfalls zwei Datenbankdateien mit derselben Endung. Für den Standardpostfachspeicher heissen die Daten genaugenommen ...\exchsrvr\MDBData\priv1.edb und priv1.stm. In demselben Ordner gelten für den öffentlichen Speicher pub1.edb und pub1.stm. Die Endung edb ist älter und steht für Eigenschafts-Database. Die Streaming-Datenbank (stm) ist erst seit Ex2k dazugekommen. In der Ex2k-Datenbank werden Nachrichten und Dokumente für MAPI-Clients abgelegt und von denen genutzt. Nicht-MAPI-Clients benutzen die STM-Datenbank, welche die Daten enthält. Da in der edb alle Daten (auch Nicht-MAPI-Client-Mails) drinstehen, sind dort die Informationen eingetragen, welche auf die stm-Datembank verweisen. Diese Informationen in der edb nennt man Umschlagsinformationen und sie enthalten Daten wie die Adresse und den Betreff. Die Umkonvertierung erfolgt automatisch zwischen den Datenbanken. Kommt eine Nachricht von einem MAPI-Client, wird diese in der edb gespeichert. Kommt sie von einem Nicht-MAPI-Client, wird sie in der stm gespeichert.

Das heisst aber auch, alles doppelt zu speichern, oder alles umzukonvertieren. Mann muss also alle beiden Datenbanken sichern.

Speichergruppen bestehen aus bis zu 5 Informationsspeichern (IS). Es können bis zu vier Speichergruppen angelegt werden. (siehe Exchange 2000.doc Seite 17). Pro Speichergruppe werden eigene Transaktionsprotokolle geführt, das heisst aber auch, die IS in einer Speichergruppe verwenden dieselben Transaktionsprotokolle. Diese Informationen beziehen sich auf die Enterprise-Version. Die normale Ex2k-Version kann, entgegen einiger Bücher, auch 20 IS anlegen, allerdings nur bis zu einer Gesamtgrösse von bis zu 16GB. Die Vorteile mehrerer IS liegen in der Performance, da kleinere Datenbanken. Ebenfalls findet eine bessere Aufteilung von Benutzern statt. Das heisst, dass Benutzer, die häufig miteinander kommunizieren, in einer Datenbank zusammenfassbar sind. Dass eine höhere Verfügbarkeit durch die Datenbanken aufgrund ihrer Anzahl auftritt und ebenfalls eine schnellere Wiederherstellung und Sicherung möglich ist, ist obligatorisch, möchte Microsoft aber gerne erwähnt wissen. Die IS arbeiten unabhängig voneinander, sie können also einzeln betrieben, gesichert und wiederhergestellt werden.

Da die IS in einer Speichergruppe ein- und dasselbe Transaktionsprotokoll benutzen, sind die Gruppen als eine Einheit getrennt verwaltbar. So lassen sich Postfachspeicher verschiedener Firmen komplett trennen, oder verschiedene Grössen bzw. Aufgaben (Austauch von CAD-Zeichnungen in einer Personengruppe) zuordnen.

Für die Transaktionsprotokollierung gibts zwei Modi: normal und Umlauf.

ESE (Extensible Storage Engine)

Die ESE verwendet RAM, die IS (*.stm, *.edb), Prüfpunktdateien (*.chk) und Transaktionsprotokolldateien (*.log). Die ESE führt Änderungen an Datenbankseiten im RAM durch, und schreibt diese danach in die log-Datei, und zwar inkrementell (nach- bzw. untereinander). Das ist wesentlich schneller als gleich die Änderungen zu speichern. Dieses Datenbanksystem ist dem von ADS ziemlich identisch. Eine Speicherung an der Datenbank findet bei Bedarf statt, wie z.B. herunterfahren des Systems oder des Dienstes, RAM-Freigabe durch andere Dienste, o.ä. Die Prüfpunktdatei ist ein Zeiger und gibt an, welche Aktionen der Transaktionsprotokolldateien bereits in der Datenbank verarbeitet wurden. Eine Protokolldatei ist max. 5MB gross, danach wird sie umbenannt und eine weitere angelegt. (Bei ADS waren sie 10MB gross...) Die Umbenennung erfolgt aufwärts (E0...01.log, E0...02.log), aber die aktuellste ist immer E0...00.log.

Beim Start des Systems werden die Daten der Transaktionsprotokolldateien, welche hinter dem Zeiger in der Checkpointdatei stehen, auf die Datenbank angewendet. Ausserdem werden unvollständige Transaktionen rückgängig gemacht. Ohne die Checkpoint-Datei würde alles, was in der Transaktionsdatei steht, an der Datenbank angewendet werden. Das ist die normale Protokollierung und der Standard im System. Es werden alle log-Dateien aufbewahrt und es kann eine Wiederherstellung nach den log-Dateien erfolgen.

Bei der Umlaufprotokollierung werden die Transaktionsprotokolldateien immer wieder überschrieben, allerdings sind immer vier Log-Dateien vorhanden, und es werden nur die Aktionen überschrieben, die laut der Checkpointdatei schon abgearbeitet wurden. Diese Protokollierung spart Platz im Gegensatz zur normalen Protokollierung, geht aber auf Kosten der Sicherheit. Sinnvoll ist diese Möglichkeit laut Microsoft für Informationsspeicher für öffentliche Ordner, der Newsgroups aus dem Internet bereitstellt. In diesem Beispiel sind ja die Daten nur eine Kopie, können also nach einem Absturz wieder kopiert werden.

Hier kann man wieder Speichergruppen nutzen, eine mit normaler Protokollierung und eine mit Umlaufprotokollierung.

Auf unserem Server findet sich in dem Verzeichnis ...\exchsrvr\mdbdata eine e00.log, welche die aktuelle Trans.-datei ist, und eine e00.chk (die aktuelle Prüfpunktdatei). Die alten Dateien werden hexadezimal nach E0000001.log gespeichert und hochgezählt.Zwei Platzhalterdateien namens res1.log und res2.log finden sich auch noch und sind Platzmangel-Platzhalter bei HDD-Speicherplatzmangel. Sie sind jew. 5MB gross. Sind diese beiden Dateien vollgeschrieben, fährt der Exchange-Dienst runter.

Als Administrator hat man mit Exchange folgende Aufgaben:

Allerdings muss beim Verschieben der Datenbanken oder des Trans-protokolls die Bereitstellung des IS aufgehoben sein.