MSXFAQ Archivkonzept

Durch die Beschäftigung mit dem Thema Archiv habe ich meine eigenen Vorstellungen, welche Leistungen ein Archivsystem erbringen soll. Es muss natürlich den gesetzlichen Vorschriften genügen, aber es muss auch helfen, den Exchange Betrieb zu vereinfachen und an anderer Stelle kosten zu sparen. Ich denke, dass dazu folgende Funktionsweise geeignet wäre:

Konzeption

Folgende Überlegungen liegen der Archivlösung zugrunde:

Archivkopie über Transport ist genug

Exchange erlaubt durch die Journalmailboxfunktion als auch durch Transportsinks ein Zugriff auf Nachrichten während der Übertragung. Sicher wäre es auch wünschenswert, jede Veränderung eines Termins oder z.B. eines Eintrags in einem öffentlichen Ordner als neue Version zu archivieren. Dies ist aber aufwändig und erzeugt immense Datenmengen ohne letztlich einen großen Vorteil zu erbringen. Allerdings muss sichergestellt sein, dass die Mail wirklich sofort als Kopie im Archiv landet. Allerdings sollte die Mail im Postfach dadurch nicht sofort auch "archiviert" werden. Denn schaut man sich die Zugriffe und Größe auf die Mails nach dem Alter an, dann zeigt sich in etwa folgendes Bild:

 Alter und Zugriffe

Die hellgrüne Fläche zeigt die Zugriffe auf Elemente abhängig vom Alter. Die meisten Zugriffe erfolgen auf Objekte, deren Zeitpunkt aktuell sind. Dazu gehören gerade angekommene Mails aber auch Termine, die in der nahen Zukunft liegen. Auf Objekte die einige Wochen älter sind, wird fast gar nicht mehr zugegriffen bzw. nur gezielt gesucht.

Bezogen auf die Datenmenge gehen wir von einem Wachstum der Mails aus, d.h. ältere Objekte sind entweder kleiner oder wurden vom User schon aus dem Store gelöscht, während Aktuelle Objekte einen großen Anteil ausmachen und die Termine und Aufgaben in der Zukunft doch viel geringer sind. Ein Archiv könne nun die Exchange Datenbank um den violetten Anteil erleichtern.

Verzögertes Replace der Attachments

Erst ein zweiter Prozess sollte entsprechend einstellbarer Regel dann nachlaufend die Mails im Postfach durch platzsparende Ersatzobjekte austauschen. Aufgrund meiner Analysen mit MBReport wird durch ein Entfernen der Anlagen durch einen Link auf die Archivversion sehr viel Platz im Exchange Store gespart., was Zeit und Kapazität beim Backup und vor allem beim Restore spart. Hier "verdient" das Archiv das Geld, welches es selbst kostet. Alle älteren Daten die im Archiv sind, sind nicht mehr komplett im "teuren" Store, d.h. bei einem Ausfall müssen nur der kleine Teil der aktuellen Mails und die Pointer der archivierten Mails restauriert werden.

Optional könnte noch etwas später ein anderer Prozess die Mails komplett entfernen, so dass der Anwender sehr alte Mails nur noch über das Archivsystem einsehen, finden oder wiederherstellen kann. Dies sollte helfen, dass die Anzahl der Elemente pro Ordner verringert wird, denn die Performance von Exchange ist weniger von der Größe als der Anzahl in einem Ordner abhängig. Denkbar wäre auch ein serverseitiges Verschieben der alten Elemente in einen Unterordner, damit die "produktiven Ordner" einfach weniger Inhalte haben.

Archiv Backend als Dateisystem mit SIS als Store, SQL als Index

Nachdem ich einige Systeme gesehen habe, bin ich ein Befürworter eines dateibasierten Archivs. Das Ablegen von archivierten Elementen komplett in einer Datenbank verlagert nur die Probleme. Mehrere Produkte nutzen eine Verzeichnisstruktur mit Datum und Zeit. Über Mountpoints kann man verschiedene Festplatten vorhalten und entsprechende Massenspeicher die Veränderungen verhindern sind schon länger im Markt verfügbar. Gerne kann ein Archivsystem auch ein MO oder WORM schreiben, wenn es ein entsprechendes Management mitbringt.

Für die Verwaltung bietet sich natürlich ein SQL-Server an, während der Zugriff durch den Client per HTTP erfolgen kann. Da Mails sehr oft an mehrere Personen gesendet werden, dürfte es sich lohnen, über jedes archivierte Element einen Hashwert zu bilden um Dubletten nur einmal abspeichern zu müssen.

Administratives Recovery

Für die Geschäftsführung ist das Archiv aufgrund legislativer Gründe gefordert aber als Administrator kann ich das Archiv als legitimes Backup und Recovery-Werkzeug verstehen. Wenn jede Mail, die übertragen wird, sofort als Kopie im Archiv landet, dann kann ein Ausfall eines Servers den Schrecken verlieren. Zumindest dann, wenn das Archiv die Mails einfach wieder generieren kann. Ist mein Backup von 22:00 Uhr und der Server fällt tags darauf um 18:00 Uhr aus, dann haben die meisten Firmen mangels Differenzsicherung unter Tagen der Verlust der Mails des gesamten Tags zu verkraften. Kann ich aber nun den Server von 22:00 Uhr restaurieren und aus dem Archiv die Mails der Zwischenzeit neu generieren lassen, dann habe ich den Schaden stark reduziert. Nur Änderungen der Anwender selbst z.B.: im Kalender sind natürlich so nicht zu retten. Übrigens bietet z.B.: Microsoft selbst mit Exchange Hosted Services eine ähnliche Funktion an: Jede Mail wird über deren System nicht nur nach Viren und Spam gefiltert, sondern auch in einem Puffer vorgehalten, so dass ich als Administrator ein "Erneut Senden" anstoßen kann.

Als zweite Lösung kann solch ein Archiv auch die ansonsten oft durchgeführten "Single Mailbox Backups" überflüssig machen, da es ja die einzelnen Mails schon im Archiv hat. löscht ein Anwender eine einzelne Mail, dann kann er diese ja aus dem Archiv wieder herstellen lassen.

Im Extremfall sollte es sogar möglich sein, einen Exchange Server mit defekter Datenbank mit einer leeren Datenbank zu starten und alle Inhalte aus dem Archiv wieder aufbauen zu lassen. Das wäre dann der perfekte "Dialtone"-Restore. Allerdings wird ein Archivsystem sicher keine Regeln, Stellvertreter, Ansichten, Formulare etc. "sichern".  Ein Backup der dank Archiv verkleinerten Datenbank ist also immer noch angebracht.

Client Outlook Form, OWA, Suchfunktion und Intranet

Für die Anwender sollte das Thema Archiv natürlich "einfach" sein. Ein Outlook Formular, welches die Anzeige der archivierten Anlagen vereinfacht und über Erweiterungen eine einfache Funktion zur Wiederherstellung der Originalmail anbietet, sollte Pflicht sein. Die meisten Anwender greifen per OWA und ActiveSync sowieso nur auf die Mails der letzten Tage oder Wochen zurück. Insofern ist eine Lösung für OWA eher wünschenswert. Wichtig ist aber die Möglichkeit einer ordentlichen Suche. Die Suche in Outlook ist nicht immer so leistungsfähig wie dies Firmen und Mitarbeiter wünschen. Daher indexieren schon viele Firmen mit Sharepoint ihre Intranets, Dateiserver und Exchange Server. Über den Umweg einer Archivlösung ist es natürlich auch möglich, dem Anwender hier eine leistungsfähige Suche anzubieten. Eine Integration z.B.: in ein Sharepoint Portal oder Ordnerhomepage ist hier sehr gefragt.

Modell

Ich versuche einfach diese Anforderungen in ein großes Bild zu packen.

Archiv Konzeptbild

Die Idee dahinter ist, dass eingehende und ausgehende Mails entweder über einen Transportsink oder die Journalmailbox dem Archivsystem in quasi Echtzeit zu geführt werden. Das Archiv kann diese Mail direkt in das Archivsystem übernehmen. Dazu dient das Modul "Journal2Archiv" bzw. "Sink2Archiv". Aufgabe des Archivsystems ist es, die Nachrichten dem Absender bzw. Empfänger entsprechend dem Posteingang bzw. gesendete Objekte zuzuordnen, obwohl die Nachrichten ja nicht aus diesen Ordnern stammen, sondern unterwegs kopiert wurden.

Ein Crawler hingegen kann zyklisch laufen, um aus dem Exchange Store die Elemente entsprechend der Richtline zu verarbeiten. Hier gibt es zwei mögliche Optionen:

Zurückholen

Um wieder an die Daten des Archivs zu kommen, sollte es drei Wege geben:

Natürlich ist es ein langer Weg von einer Idee zu einem fertigen Produkt. Ich werde sicher kein Archivprodukt entwickeln können aber vielleicht ist der ein oder andere Hersteller offen für meine Ideen.

Weitere Links

Keywords:Archiv Konzept