Zwei Exchange-Server sind noch keine Hochverfügbarkeit
Bei einer Bestandsaufnahme fragen wir irgendwann immer nach der Mail. Die Antwort war beruhigend: zwei Exchange-Server, hochverfügbar.
Der Admin vor Ort lachte. Genau das hatte ihm ein Kollege auch erzählt, damals, als einer der beiden ausgefallen war. Seine Frage an den Kollegen: „Dann erklär mal, wie die zwei hochverfügbar sein können." Die Antwort: „Weil es zwei sind."
Was zwei Server nicht sind
Zwei Exchange-Server werden nicht dadurch hochverfügbar, dass es zwei sind. Bei Exchange heißt Hochverfügbarkeit: Die Postfachdatenbanken liegen in einer Database Availability Group, kurz DAG, und werden laufend auf den zweiten Server repliziert. Fällt der erste aus, übernimmt der zweite seine Datenbankkopien. Davor steht in der Regel ein Load Balancer, damit die Clients gar nicht merken, welcher Server gerade antwortet.
Hier gab es nichts davon. Keine DAG, keine replizierten Datenbanken, kein Load Balancer. Der zweite Server stand da, war installiert und lief faktisch nicht mit. Beim Ausfall des ersten hätte er nichts übernehmen können, weil er nichts hatte.
Warum das so lange niemand merkt
Weil es im Alltag keinen Unterschied macht. Ob da ein Server arbeitet und einer daneben steht, oder ob zwei Server sich die Last teilen, sieht der Nutzer nicht. Die Mail kommt an, Outlook ist zufrieden, und im Inventar stehen zwei Server. Der Satz „wir sind hochverfügbar" bleibt so lange wahr, bis man ihn braucht.
Auffallen kann es nur auf zwei Wegen: beim echten Ausfall, wie hier, oder bei einem Test, den niemand gern macht.
Wie man es prüft, bevor es wehtut
Eine Frage und zwei Befehle reichen.
Die Frage: Was passiert, wenn ich jetzt den ersten Server ausschalte? Kann das niemand sicher beantworten, ist die Antwort wahrscheinlich „dann ist die Mail weg".
Die Befehle, in der Exchange Management Shell:
Get-DatabaseAvailabilityGroup
Get-MailboxDatabaseCopyStatus *Gibt der erste keine DAG zurück, gibt es keine. Und der zweite zeigt für jede Datenbank, ob es überhaupt eine Kopie gibt, auf welchem Server sie liegt und ob sie gesund ist. Steht da pro Datenbank nur eine Zeile, gibt es nichts, was bei einem Ausfall übernehmen könnte.
Zwei Server sind eine Anzahl, keine Eigenschaft. Hochverfügbar ist erst, was einen Ausfall übersteht, und das weiß man erst nach einem Test.
Das Muster ist nicht auf Exchange beschränkt. Zwei Switche sind auch noch keine Redundanz , aus demselben Grund.
