Postfachaufteilung

Exchange 2010 wird so eine ähnliche Funktion (ArchivMailbox) enthalten.

Waren früher schon Mail mit zwei Megabyte sehr groß, so scheint sich diese Grenze von Jahr zu Jahr weiter nach oben zu verschieben. Immer mehr und immer größere Nachrichten lass das Exchange Postfach mehr und mehr anwachsen. Zwar nutzt Exchange 2007 und neuer als 64bit System nun auch große Speichermengen, um die Performance hoch zu halten, aber oft wird vergessen, dass diese große Datenmenge nicht nur regelmäßig gesichert werden muss (oder zumindest repliziert), sondern bei einer Wiederherstellung der Faktor Zeit wichtig wird. Datenbanken über PST-Dateien künstlich zu verkleinern ist aber auch keine Lösung und eine kommerzieller Archivsoftware ist mangels Budget nicht immer möglich. Aber ein Administrator kann sich behelfen, wenn er einige Einschränkungen in Kauf nimmt.

Lösungsansatz Archivprodukt Exchange 2010 Exchange 200-2007 Selbstbau
Rechtssicherheit für abgelegte Elemente

Ja

Ja durch Dumpster 2.0

NEIN

Rechtssicherheit für gesendete und Empfangene Elemente

Ja, Journalfunktion

Ja, Journalfunktion oder Dumpster 2.0

eingeschränkt. Journal ist nutzbar.

"Löschschutz"

Ja, (nur bei Journal)

Ja, Dumpster 2.0

Nein. Journal teilweise

Speicherplatz für "archivierte Elemente"

Archivprodukt, ausgelagert

zweites Postfach in gleicher Exchange Datenbank

zweites Postfach in gleicher oder anderer Datenbank oder anderer Server

Kosten
  • Software
  • Server
  • Speicherplatz
  • Dienstleistung
  • Exchange Lizenz
  • Speicherplatz
  • Dienstleistung
  • Speicherplatz
  • optional weiterer Exchange Server
  • Dienstleistung
Offline mit PC

Produktabhängig

Nein (?)

Nein

OWA

Produktabhängig

Ja

Ja

Management

Produktabhängig

Integriert

Manuell

Durchsuchen

Produktabhängig

Ja, Multi Mailbox Search

Nein

HSM

Produktabhängig

Nein

eigener zweiter Server

Sichtbarkeit im Adressbuch

Nein, kein extra Postfach

OFFEN

Ja, damit User das Archiv einbinden kann

Umleitung von Falschadressierungen

Nein, kein extra Postfach

OFFEN

Weiterleitung für interne Adressen. Entfernen der externen SMTP-Adressen

Einbindung im Client

Archivierte Elemente über Links im Postfach weiter erreichbar

Outlook 2010 und OWA werden wohl das Archivpostfach direkt mit einbinden.

Manuelle Einbindung in Outlook, OWE über "anderes Postfach öffnen".

Archivprozess

Produktbestandteil

Produkt

Skript oder Manuell per Drag&Drop

Import von PST-Dateien

Produktabhängig

Offen

Durch den Anwender oder per Exmerge/Outlook durch den Admin

Größe und SLA für Wiederherstellung

Wenn in meinem Postfachspeicher mehrere Gigabyte Mails liegen und ich mehrere Kollegen gleichen Kalibers habe, dann wird auch eine Datenbank locker mal 100 GB oder mehr. Zwar erlauben Empfehlungen von Microsoft bis zu 100 GB Datenbank (200 GB mit Replikation per CCR, LCR oder SCR), aber selbst diese Datenmenge kann mehrere Stunden Restore bedeuten.

Selbst wenn also Exchange 2007 oder neuer auch sehr große Datenbestände vorhalten kann und Outlook seit Office 2007 SP2 auch OST-Dateien über 2 GB zügig verarbeiten kann, sind die SLAs der eigentliche Schlüssel und Antreiber für ein Datenmanagement.

Ablage, Archiv oder HSM

Wie ich aber schon Archivieren mit Exchange geschrieben habe, nutzen viele Personen ihre Postfach als "Ablage" und führen jahrelang Elemente mit sich, die zwar alle so wichtig sind, dass Sie nicht gelöscht oder in ein Archiv verschoben werden können, aber im Falle eines Restore vielleicht nicht in erster Reihe wieder hergestellt werden müssen. Gelingt es nun, Nachrichten nach ihrer Bedeutung in "schnelle Bereitstellung" und "weniger schnelle Bereitstellung" zu trennen, dann könnten Sie bei einem Desaster erst die wichtigen Mails wieder herstellen und dann die weniger relevanten Mails.

Ein User = zwei Postfächer

Leider kann ein Exchange Postfach nicht auf verschiedene Datenbanken oder gar Server verteilt werden. Ein Ausgliedern einzelner Ordner oder Mails nach Alter ist so erst einmal nicht möglich. Allerdings könnte natürlich den Benutzer mit großem Postfach einfach ein zweites Postfach in einer anderen Datenbank oder gar einem anderen Server erhalten und alte Elemente verschieben. Technisch könnte dies so aussehen:

Postfach Aufteilung 

  • Primärer Benutzer
    Der Anwender hat wie bisher ein primäres Postfach, mit der auch arbeitet und Mails bekommt und versendet.
  • Archivpostfach
    Zusätzlich wird ein zweites Konto in z.B. einer eigenen OU angelegt, welches nicht für eine interaktive Anmeldung genutzt werden kann. Es ist nur ein Platzhalter für ein zweites Postfach, welches dem Benutzer zugewiesen wird. Der Anwender bekommt quasi "Vollzugriff" auf das Postfach und über eine Weiterleitung (z.B.: TargetAddress oder Alternate Recipient) wird sichergestellt, dass jede Mail an dieses Postfach an das primäre Postfach weiter geleitet wird.
  • ServerSkript
    Wenn man das verschieben nicht dem Benutzer überlassen will, kann man über ein weiteres Skript auf dem Server Elemente von dem primären Postfach in das Archivpostfach verschieben. Natürlich sind hier entsprechende Filter denkbar, z.B. nach Alter, Größe, Anlagen etc.

So könnte es schon mit Bordmitteln von Exchange 5.5 und höher möglich sein, das primäre Postfach auf einem hoch verfügbaren und schnell wiederherstellbaren Server vorzuhalten und weniger wichtige Nachrichten auf einem anderen Server mit weniger Performance, günstigeren Festplatten und geringerem SLA vorzuhalten.

Archivpostfach und Speicherplatz

Da das Archivpostfach ein ganz gewöhnliches Postfach ist, können Sie dessen Datenmenge natürlich auch auf anderen Exchange Servern in der Organisation anlegen lassen. Sie haben also die Wahl zwischen:

  • Gleiche Datenbank
    Leider die einzige Möglichkeit, wenn Sie einen Exchange 2003 Standardserver haben, da Sie hier nicht mehrere Datenbanken anlegen können.
  • Eigene Archivdatenbank
    Diese Datenbank könnte dann auch auf einem anderen Massenspeicher liegen, welcher "günstiger" ist. Da in der Datenbank tagsüber eigentlich nur gelesen wird und erst nachts beim "Archivieren" neue Objekte angelegt werden, ist die Performance der Transaktionsprotokoll-LUN nicht kritisch. Und da nur wenige Zugriffe zu erwarten sind, ist auch die Datenbank meist "idle". Am wichtigsten ist aber, das diese Datenbank seltener gesichert werden muss, wenn die Anwender nichts selbst verschieben und sie nur einmal die Woche den Move-Job aktivieren. Beim Serverausfall muss diese Archivdatenbank auch erst später wieder hergestellt werden.
  • Eigener Exchange Server
    Wer es sich leisten kann und will, darf natürlich auch einen eigenen Exchange Server für die Archivdatenbanken bereit stellen. Dann ist der produktive Exchange Server natürlich noch stärker entlastet und sie können vielleicht sogar noch Kosten sparen, wenn die Daten nicht auf einem CCR-Cluster mit replizierten SAN-Disks liegen, sondern einfach ein Standardserver mit lokalen Disks zum Einsatz kommt, für den entspannte SLAs gelten. Nebenbei könnte der Server auch gut für die Recovery Storage Group herhalten, wenn dies erforderlich werden sollte. Allerdings kostet diese Option zumindest eine Exchange und Windows Server Lizenz und Serverhardware.
    Interessant wird dieser extra Server, wenn ein Journalpostfach für die gesendeten und empfangenen Mails ebenfalls auf diesem Server landet. Damit erhalten Sie zwar noch keine Rechtssicherheit, da auch diese Datenbank und Inhalte von Administratoren geändert werden könnten, aber in den meisten Fällen haben Sie eine Kopie eingegangener Mails und können diese wieder dem Benutzer zur Verfügung stellen.

Einrichtung

Sie können heute schon komplett ohne Zusatzsoftware und Skripte solche eine "Archivmailbox" einfach mal testen. Hier die wesentlichen Schritte, welche Sie natürlich auch mit der Exchange 2007 Verwaltungskonsole (GUI) ausführen können. Mit Exchange 2000/2003 sind die Schritte die gleichen, aber werden natürlich mit Active Directory Benutzer und Computer verwaltet.

  • Archivmailbox einrichten
    Zuerst legen wir einen Benutzer mit Postfach an. Dies kann die Exchange Verwaltung in einem Schritt erledigen:
New-Mailbox 
   -Name 'Carius, Frank - Archiv' 
   -Alias 'fcarius-archiv' 
   -OrganizationalUnit 'netatwork.de/Archiv'
   -UserPrincipalName 'fcarius-archiv@netatwork.local' 
   -SamAccountName 'fcarius-archiv' 
   -FirstName 'Frank ' 
   -Initials '' 
   -LastName 'Carius' 
   -Password 'System.Security.SecureString' 
   -ResetPasswordOnNextLogon $false
    -Database 'NAWSV002\First Storage Group\Mailbox Database'
  • Berechtigungen für den Benutzer selbst vergeben
    Wenn ihnen "Vollzugriff" zu viel ist, weil die Mails vielleicht von einem automatischen Prozess verschoben werden und der Benutzer nur "lesen" soll, dann sind individuelle Rechte auf den Ordnern ein Weg (Siehe auch FolderPermission)
Add-MailboxPermission
   -Identity 'CN=Frank Carius - Archiv,OU=Archiv,DC=netatwork,DC=de'
   -User 'MSXFAQ\fcarius'
   -AccessRights 'FullAccess'
  • Berechtigungen für den Hintergrundprozess vergeben, welcher Elemente aus dem einen Postfach in das andere Postfach verschiebt
Add-MailboxPermission
   -Identity 'CN=Frank Carius - Archiv,OU=Archiv,DC=netatwork,DC=de'
   -User 'MSXFAQ\mbsplit'
   -AccessRights 'FullAccess'

Add-MailboxPermission
   -Identity 'CN=Frank Carius - Archiv,OU=Archiv,DC=netatwork,DC=de'
   -User 'MSXFAQ\mbsplit'
   -AccessRights 'FullAccess'
  • Weiterleitung einrichten
    Da das Archivpostfach "sichtbar" ist, könne es passieren, dass jemand dieses Postfach als Empfänger auswählt. Dann wird über diese Funktion die Mail in das richtige Postfach weiter geleitet.
Set-Mailbox `
   -Identity fcarius-archiv `
   -ForwardingAddress 'frank.carius@netatwork.tld' `
   -DeliverToMailboxAndForward $false
  • Benutzer deaktivieren
    Nachdem all die Einstellungen vorgenommen wurden, können Sie das Active Directory Konto des Archivpostfachs zur Sicherheit sogar deaktivieren.

Damit ist das Archivpostfach erst einmal eingerichtet und für den Benutzer vorbereitet. Aber es ist noch keine einzige Mail verschoben worden.

Skripte

Damit dieses "Archivpostfach" rund wird, fehlen natürlich noch drei Bausteine, die allesamt noch entwickelt werden müssten.

  • Archivpostfach automatisch pflegen
    Es wäre mehr als wünschenswert, wenn ein Administrator einen Benutzer z.B. in eine Gruppe aufnimmt und ein Skript im Hintergrund legt die Archivmailbox an, vergibt die Berechtigungen und sorgt für die Mailweiterleitung
  • Elemente verschieben
    Ein zweites Skript müsste dem Benutzer die Arbeit abnehmen, Elemente nach bestimmten Kriterien in die Archivmailbox zu verschieben. Dabei könnte es z.B. nach dem Alter der Elemente oder nach der Größe des primären Postfachs gehen und entsprechend aggressiv Elemente in das Archiv übertragen. Allerdings sollte es dabei auch sicherstellen, dass das Archivpostfach selbst nicht "explodiert" und notfalls nichts mehr archivieren, so dass das Postfach selbst doch an die Quotagrenzen stößt. Auch Sonderfälle wie verschlüsselte Mails müssen beachtet werden.
  • Outlook Profil anpassen
    Ein Skript auf dem Client sollte erkennen, dass der Benutzer ein "Archivpostfach" hat (z.B. Anhand der Gruppe oder einem anderen Kriterium) und das lokale Outlook Profil um dieses zusätzliche Postfach erweitern.

All diese Skripte sind aber noch nicht in einer Form, dass ich diese als Download bereitstellen könnte.

Outlook Ansicht

In Outlook können Sie dieses Archivpostfach nun ganz einfach mit einbinden. In Outlook erscheint das Postfach wie ein zweites Postfach in der Ordnerstruktur:

Outlook mit Archivpostfach

In Outlook Web Access kann der Benutzer in Exchange 2007 relativ einfach rechts oben ein anderes Postfach öffnen. Hier sieht man, dass es in meiner Exchange Organisation neben meinem primären Postfach und einem Archivpostfach noch ein Testpostfach gibt

 Archivpostfach in OWA

Diese Zugriffs sind zwar nicht so sehr bequem aber ein durchaus gangbarer weg.

Postfach verstecken

Es ist denkbar, das Archivpostfach auch zu "verstecken" (HidefromAB), so dass es nicht mehr für die Anwender sichtbar ist. Allerdings ist das Postfach dann auch nicht mehr so einfach per CDO anzusprechen und die Anwender können es in OWA oder Outlook nur dann einbinden, wenn Sie den internen "LegacyExchangeDN" korrekt blind eintippen. Das Postfach kann also durch eine "Suche" auch nicht mehr gefunden werden. Das sind alles Einschränkungen, die Exchange 2010 und Outlook 2010 hoffentlich nicht hat, da hier der Hersteller Microsoft natürlich auf seine Archivpostfächer Rücksicht nehmen kann.

Wenn es aber ausreicht, die Postfächer "nur" in Outlook einzubinden, dann könnten Sie das Postfach "nach" der Einrichtung auf dem Client unsichtbar machen. Alternative wäre sicher auch ein Skript möglich, welches z.B. per Gruppenrichtlinie (User) oder Anmeldeskript gestartet werden, und das Archivpostfach über den LegacyExchangeDN direkt in das MAPI-Profil als zusätzliches Postfach integrieren.

Einschränkungen

Heute gibt es aber noch Einschränkungen, die primär in Outlook begründet sind:

  • Durchsuchbarkeit
    Die Outlook Suche kann nur das primäre Postfach direkt selbst durchsuchen., Wer also ältere Mails sucht, muss sich nach Alternativen umsehen. Exchange 2010 wird eine Funktion "MultiMailboxSearch" enthalten, die diese Einschränkung nicht mehr hat.
  • Offline Ordner
    Outlook kann nur das primäre Postfach und öffentliche Ordner Favoriten "offline" verfügbar machen. Das zweite Postfach ist also unterwegs nicht erreichbar.

Der Zugriff per OWA ist aber möglich.

Weitere Links