2-Server-DAG
Die Exchange 2010 Database Availability Group löst die Exchange 2007 Funktionen LCR, CCR und SCR komplett ab. Gerade für den Mittelstand ist die DAG aber bei einer ersten Betrachtung am ehesten mit dem Exchange Cluster zu vergleichen. Nun weiß ich selbst, dass gerade beim Thema "Cluster" bei vielen Firmen erst mal vorbehalte bestehen, weil dazu zum einen Windows Enterprise Server erforderlich sind und der Betrieb eines Clusters auch für gewöhnlich die Komplexität steigert.
Bei der neuen Exchange Database Availability Group ist das aber etwas anderes gelagert. Zugegeben, sie benötigen mindestens zwei Windows Enterprise Server Lizenzen und zwei Server. Im Gegensatz zu Exchange 2007 können aber die zusätzlichen Rollen CAS und HT mit auf dem Cluster installiert werden und die Funktion des Clusters ist so stark vereinfacht, dass Sie eigentlich gar nichts mehr davon bemerken.
Ich sehe ein großes Potential einer Exchange 2010 Cluster Lösung auch gerade im klassischen Mittelstand, zumindest wenn Sie über mehr als einen Server nachdenken und die Verfügbarkeit nicht in Stunden oder gar Tagen gefordert wird. Meine ersten Exchange 2010 haben mich darin bekräftigt.
Achtung:
Es gibt noch keine Bestätigung, dass diese Konfiguration "supported"
ist.
Zudem ist der Zugriff auf öffentliche Ordner damit nicht abgedeckt, da
Outlook dazu auf den Mailboxserver zugreift.
Wenn Sie allerdings die offiziellen Dokumentationen und Anleitungen studieren, dann finden Sie sich da nicht immer gleich wieder. Dort wird sehr gerne von großen Umgebungen mit zigtausend Postfächern, mehreren Exchange Postfachservern die sogar auf Redundanz bei Disks (RAID) und Backup verzichten und mehreren CAS-Servern als Array gesprochen. Aber es geht auch etwas "kleiner" und mit wenigen Einschränkungen.
Fakt ist natürlich, dass Sie zwei Server benötigen, die sich aber bei geschickter Konfiguration die Last teilen und die Funktion des jeweils anderen Server übernehmen können. Sie gewinnen die Skalierung und eine automatisch Ausfallsicherheit. Nur wie kann so eine Konfiguration aussehen ?
Ich möchte ihnen auf dieser Seite zwei Konfigurationen aufzeigen, die eine interessante Option darstellen könnte. Der Kniff besteht darin, wie die Kombination aus den Rollen ClientAccess/HubTransport und Postfachrollen konfiguriert werden, damit die Clients einen "virtuellen CAS"-Server erreichen, obwohl man auf dem Cluster kein NLB einrichten kann und die wenigsten kleinen Firmen einen vorgeschalteten Loadbalancer haben.
- DAG mit zusätzlicher Cluster-IP für CAS
Eine Variante besteht darin, dem durch Exchange eingerichteten Cluster eine weitere IP-Adresse zugewiesen wird, welche auf einem Knoten aktiv ist und im Fehlerfall "umfällt". - Hyper-V Konfiguration
Da für den Cluster sowieso "Windows Enterprise" erforderlich ist, können Sie auf einer Hardware auch bis zu vier Server virtuell betreiben. So lassen sich geclusterte Postfachserver und per NLB redundant konfigurierte CAS-Server logisch von einander trennen.
Bitte verstehen Sie diese Beschreibungen aber nicht als Detailbeschreibung.
Hyper-V Konfiguration
Die Lizenzierung eines Windows Enterprise Servers erlaubt auch den Betrieb von bis zu vier virtuellen Windows Enterprise Servern auf der gleichen Hardware mittels Hyper-V. Das eröffnet natürlich den Weg, auf zwei physikalischen Servern einfach je einmal Hyper-V (ohne Cluster !) zu installieren. Jeder Server hat dabei seinen eigenen lokalen Speicher.
- Exchange DAG
In dieser Hyper-V Umgebung kann nun in einer virtuellen Maschine auf jedem Knoten ein Windows Enterprise Server mit Exchange Standard installiert und als Cluster konfiguriert werden. - CAs per NLB
Zwei weitere Server werden als CAS/HT-Server installiert und per NLB "hochverfügbar" gemacht. Damit die Clients diesen "neuen" Server nutzen, müssen wir noch ein CAS-Array konfigurieren, was weiter unten beschrieben ist. - Optional: DCs
Wer mag kann natürlich auf den Hyper-V-Host noch je einen weiteren Gast mit entsprechenden Domaincontrollern betreiben.
Vereinfacht sieht das wie folgt aus.

Beachten Sie, dass es keinen Failover von einem Hyper-V-Gast von einem Host auf einen anderen Host erfolgt. Die virtuellen Maschinen sind fest mit dem Gastgeber verbunden. Die Verfügbarkeit erfolgt allein innerhalb der Gastsysteme.
Achtung:
Wenn Sie Hyper-V selbst noch "clustern", oder auf dem Host weitere
Anwendungen installieren, dann betreiben Sie keine von Microsoft
unterstützte Konfiguration.
Wenn Sie sich nun daran erinnern, dass Sie für all dies kein SAN oder anderen schnellen teuren Massenspeicher benötigen und Sie quasi mit Standard Hardware ein solches System aufbauen können, dann ist diese Lösung schon interessant. Allerdings kostet sie diese Konfiguration vier Exchange Server Lizenzen. (2x Standard für CAS und 2x Standard für bis zu 5 Datenbanken in der DAG, Enterprise für bis zu 100 Datenbanken)
DAG mit zusätzlicher Cluster-IP für CAS
Eine anderen Alternative kommt ohne Hyper-V aus. Ich installiere dazu zwei Exchange 2010 Server mit den üblichen Rollen Mailbox, ClientAccess und HubTransport und konvertiere diese in eine DAG. Soweit ist das alles noch Standard. Bei dieser Konfiguration wird ihnen aber jeder Consultant erzählen, dass Sie die beiden CAS-Server nicht wirklich hochverfügbar haben, da Sie diese nicht per NLB mit einem gemeinsamen Namen und IP-Adresse veröffentlichen können. Dabei geht es nicht nur um OWA und ActiveSync aus dem Internet sondern auch der Zugriff von Outlook über MAPI, die seit Exchange 2010 auch über die CAS-Rolle erfolgen.
Das hindert uns aber nicht, dem Cluster, der bislang nur aus dem Clustername, dem Quorum und einer IP-Adresse besteht, einen "generischen Dienst" zu konfigurieren, welcher NUR eine IP-Adresse hat. Wir brauchen keinen Namen und auch sonst keine Abhängigkeiten. Diese Gruppe ist einfach auf einem der Knoten "online" und wenn der Knoten ausfällt, dann schwenkt die IP-Adresse auf den anderen Knoten. Dann veröffentlichen wir im DNS noch einen Namen für diese Ressource und schon sind wir fast am Ziel: Wir haben einen Namen und eine IP-Adresse, hinter der sich ein CAS-Server meldet, auf einem der beiden Systeme online ist und sogar automatisch ein Failover macht.
Die Mailbox Server sind also wie bisher mit dem physikalischen Namen des Clusterknotens und seiner IP-Adresse erreichbar, während die Clients für den CAS-Zugriff einen dritten, vom physikalischen Knoten unabhängigen, Namen mit eigener IP-Adresse verwenden.

Auch hier muss über eine weitere Konfiguration dem Client diese Änderung mitgeteilt werden. Im MAPI-Profil des Clients darf nicht der Clusterknoten auftauchen, ansonsten ist noch etwas nicht korrekt.
Wer das Prinzip durchschaut hat, wird nun aber feststellen, dass ein Knoten nun nach außen auch die CAS-Last aufnimmt und die Zugriff entweder an die lokalen Postfachspeicher oder die Mailboxrolle auf dem anderem Knoten weiter gibt. Je nach dem wo die aktive Datenbank gerade liegt. Es könnte daher sinnvoll sein, die primären Datenbanken auf dem anderen Knoten zu betreiben und zwischen den Knoten eine gute Verbindung zu haben. Dann entspricht diese Konfiguration ein Stück dem Betrieb eines Postfachservers mit einem zweiten Server als CAS. Allerdings mit dem wesentlichen Unterschied, dass beide Rollen hochverfügbar sind, d.h. beim Ausfall eines Knotens der andere Knoten automatisch und schnell übernimmt.
Sie könnten diese Konstellation natürlich noch weiter entwickeln und einfach zwei IP-Adressen mit zwei virtuellen CAS-Servern konfigurieren um so die Last und die Zugriffe zu verdoppelt. Das ist sogar möglich und bei einer geschickten Konfiguration erreichen Sie damit so gar eine Lastverteilung
Einrichten des CAS-Arrays
Damit die Clients aber nicht die Rechnernamen der Clusterknoten sondern diese virtuelle Namen nutzen, müssen Sie ein CAS-Array einrichten.
New-ClientAccessArray -Name CAS -Fqdn cas.msxfaq.de -Site Paderborn Get-MailboxDatabase | Set-MailboxDatabase -RpcClientAccessServer cas.msxfaq.de
All diese Änderungen sind nicht in der GUI sichtbar. Dokumentieren Sie daher, was sie tun. Aber dann können Sie in Outlook einfach "CAS" bzw. cas.msxfaq.de als Server eintragen und Outlook behält auch den Namen.
Achtung:
Beim Zugriff auf CAS Server ist die "Affinity" zu beachten. Wenn mehr
als ein Server im CAS-Array aktiv ist, muss sichergestellt sein, dass
Zugriffe eines Clients immer auf dem gleichen CAS landen. DNS-Round
Robin ist daher kein gangbarer Weg.
Wer also unbedingt zwei CAS-Server bereit stellen
möchte, könnte auf den Gedanken kommen und je zwei CAS-Arrays mit genau einem virtuellen CAS-Server
als Mitglied zu definieren um dank auf 50% der Clients wird dann der Namen des
einen CAS-Arrays und auf den anderen Clients das andere CAS-Array
eingetragen.
Das funktioniert aber nicht, da es pro AD-Site immer nur genau ein
CAS-Array geben darf.
Exchange Konfiguration abstimmen
Die Verwendung weiterer IP-Adressen mit weiteren Namen beeinflusst natürlich auch an anderen Stellen die Exchange Konfiguration
- Zertifikate
Wer mehr als nur die physikalischen Namen der Server in der Konfiguration verwendet und mit virtuellen geclusterten IPs und CAS-Arrays agiert, muss auf den Exchange Servern natürlich auf "passende" Zertifikate einrichten, die den Namen enthalten, der von den Clients verwendet wird. - External-URL
An verschiedenen Stellen der Konfiguration ist eine External-URL gepflegt, damit Autodiscover die richtigen Pfade an die Clients melden kann. Diese müssen auf ihre gewählte CAS-Konfiguration passen
Eine gewissenhafte Planung und Konfiguration ist hier unterlässlich, aber würde den Rahmen dieser kurzen Anleitung sprengen.
Vergleich zu Exchange 2007
Vergleichen Sie diese beiden Alternativen einmal mit einer Exchange 2007 Verfügbarkeitslösung wie SCR oder CCR. Im Vergleich zu CCR ist die DAG natürlich schnell als Gewinner ausgemacht, da nun beide Server aktiv Daten betreiben können und die Kombination mit der CAS-Rolle die bei Exchange 2007 noch erforderlichen zusätzlichen Server bei der zweiten Variante überflüssig macht.
Aber selbst den Vergleich zu SCR muss die DAG nicht scheuen. Auch SCR benötigt zwei Exchange Server Lizenzen und zwei Server. Zwar kann auch ein SCR-Server "über kreuz" die Datenbanken eines anderen Servers replizieren aber der Failover ist dabei nicht dynamisch. Hier muss ein Administrator immer aktiv werden, selbst wenn er "geplant" einen Server für Updates nur kurz offline nehmen möchte. Dafür ist der Aufpreis einer Windows Enterprise Lizenz sicher zu verkraften.
Für mich stellt sich beim Kunden eigentlich nur noch die Frage, ob der Kunde mit den Einschränkungen eines noch günstigeren "Single Servers" arbeiten möchte. Ich gehe aber davon aus, dass aufgrund der Bedeutung eines Mailsystems die Exchange 2010 DAG schon fast zum Massenprodukt werden kann.
Weitere Links
- Database Availability Groups
- Cluster Continuous Replication
- Standby Continuous Replication
- Verfügbarkeit
- NLB
-
Database Availability Group Design Examples
http://technet.microsoft.com/en-us/library/dd979781.aspx









