none
DAG - Automatische Aktivierung einer Datenbank verhindern RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    leider kann mir der MS Support an dieser Stelle nicht wirklich weiterhelfen.

    Wir haben einen 3 Knoten DAG (Exchange 2013) im Einsatz wobei der dritte Knoten ausschließlich manuell aktiv werden soll und nur eine Kopie der Datenbank halten soll für den absoluten Disaster Fall.

    Die Frage ist:

    Wie kann ich gewährleisten, dass die Datenbank im 3. Knoten keinesfalls automatisch aktiviert wird, aber im Fall, dass Knoten 1 und 2 ausfallen manuell aktiviert werden kann?

    Die Einstellung Suspend MailboxDatabase Activation Only verhindert im beschriebenen Szenario eine Aktivierung auch manuell, da der Active Manager nicht vorhanden ist und (zumindest meines Wissens und meiner Tests zufolge) auch nicht geändert werden kann wenn Knoten 1 und 2 ausgefallen sind.

    Die Möglichkeit die Autoactivation Policy auf Serverebene zu blocken führt zum gleichen Fehlerbild und die Datenbanken können beim Ausfall der beiden ersten Knoten nicht manuell gemountet werden.

    Zur Umgebung:

    Es ist ein Subnetz und eine AD Site, somit fällt eine Separation auf AD Site Basis leider aus.

    Falls alle Datenbanken gleichberechtigt sind funktioniert beim Ausfall der Knoten 1 und 2 alles problemlos weiter.

    Vielen Dank für Eure Hilfe im Voraus und viele Grüße

    • Typ geändert Teodora MilushevaModerator Montag, 11. Januar 2016 09:55 Die Threads die keine Aktivität haben, werden als Diskussion geändert. Das machen wir, um die Suche in dem Forum zu verbessern. Sie können den Typ jede Zeit ändern.
    Mittwoch, 30. Dezember 2015 12:07

Alle Antworten

  • Moin,

    normalerweise sollte das schon mit "ActivationOnly" laufen.

    Bist Du sicher, dass der Active Manager da das Problem ist und nicht eventuell der FSW?

    Merkwürdige finde ich, dass die DB nicht gemountet werden können. Warum sind sie es denn nicht? Sie sind doch online, müssen nur aktiviert werden.


    Gruesse aus Berlin schickt Robert - MVP Exchange Server

    Mittwoch, 30. Dezember 2015 15:55
  • Sorry, für die späte Antwort, ich hab das soeben nochmal in meiner Testumgebung durchgespielt.

    Status zu Testbeginn ist wie folgt:

    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus *
    
    Name                                          Status          CopyQueue ReplayQueue LastInspectedLogTime   ContentIndex
                                                                  Length    Length                             State
    ----                                          ------          --------- ----------- --------------------   ------------
    PoC-MDB01\SRVXCH01                            Mounted         0         0                                  Healthy
    PoC-MDB02\SRVXCH01                            Mounted         0         0                                  Healthy
    PoC-PDB01\SRVXCH01                            Mounted         0         0                                  Healthy
    PoC-MDB01\SRVXCH02                            Healthy         0         0           05.01.2016 15:38:27    Healthy
    PoC-MDB02\SRVXCH02                            Healthy         0         0           05.01.2016 15:26:20    Healthy
    PoC-PDB01\SRVXCH02                            Healthy         0         0           05.01.2016 15:33:15    Healthy
    PoC-MDB01\SRVXCH03                            Healthy         0         0           05.01.2016 15:38:27    Healthy
    PoC-MDB02\SRVXCH03                            Healthy         0         0           05.01.2016 15:26:20    Healthy
    PoC-PDB01\SRVXCH03                            Healthy         0         0           05.01.2016 15:33:15    Healthy
    
    
    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus * | ft Name,Activedatabasecopy,Activationsuspended,Activationpref
    erence,AutoActivationPolicy
    
    Name                    ActiveDatabaseCopy          ActivationSuspended    ActivationPreference    AutoActivationPolicy
    ----                    ------------------          -------------------    --------------------    --------------------
    PoC-MDB01\SRVXCH01      SRVXCH01                                  False                       1            Unrestricted
    PoC-MDB02\SRVXCH01      SRVXCH01                                  False                       1            Unrestricted
    PoC-PDB01\SRVXCH01      SRVXCH01                                  False                       1            Unrestricted
    PoC-MDB01\SRVXCH02      SRVXCH01                                  False                       2            Unrestricted
    PoC-MDB02\SRVXCH02      SRVXCH01                                  False                       2            Unrestricted
    PoC-PDB01\SRVXCH02      SRVXCH01                                  False                       2            Unrestricted
    PoC-MDB01\SRVXCH03      SRVXCH01                                   True                       3            Unrestricted
    PoC-MDB02\SRVXCH03      SRVXCH01                                   True                       3            Unrestricted
    PoC-PDB01\SRVXCH03      SRVXCH01                                   True                       3            Unrestricted
    
    
    [PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup -Status | fl Name,WitnessServer,PrimaryActiveManager
    
    
    Name                 : DAGXCH01
    WitnessServer        : srvdom01.poc.experience4you.net
    PrimaryActiveManager : SRVXCH01
    
    
    
    [PS] C:\Windows\system32>Test-Connection srvdom01
    
    Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms)
    ------        -----------     -----------      -----------                              -----    --------
    SRVXCH03      srvdom01        10.0.31.100                                               32       0
    SRVXCH03      srvdom01        10.0.31.100                                               32       0
    SRVXCH03      srvdom01        10.0.31.100                                               32       0
    SRVXCH03      srvdom01        10.0.31.100                                               32       0

    Direkt nachdem ich die beiden ersten Server abgeschaltet habe, habe ich folgendes Bild

    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus *
    
    Name                                          Status          CopyQueue ReplayQueue LastInspectedLogTime   ContentIndex
                                                                  Length    Length                             State
    ----                                          ------          --------- ----------- --------------------   ------------
    PoC-MDB01\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-MDB02\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-PDB01\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-MDB01\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-MDB02\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-PDB01\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-MDB01\SRVXCH03                            Disconnected... 0         0           05.01.2016 15:38:27    Failed
    PoC-MDB02\SRVXCH03                            Disconnected... 0         0           05.01.2016 15:26:20    Failed
    PoC-PDB01\SRVXCH03                            Disconnected... 0         0           05.01.2016 15:33:15    Failed

    An diesem Zustand ändert sich auch nichts mehr. an sich ja gewollt und gut so, wir wollen ja keine manuelle Aktivierung der Datenbank.

    Aber, wenn ich nun einen Resume fahre passiert nichts:

    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus *\srvxch03 | Resume-MailboxDatabaseCopy
    
    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus * | ft Name,Activedatabasecopy,Activationsuspended,Activationpref
    erence,AutoActivationPolicy
    
    Name                    ActiveDatabaseCopy          ActivationSuspended ActivationPreference       AutoActivationPolicy
    ----                    ------------------          ------------------- --------------------       --------------------
    PoC-MDB01\SRVXCH01                                                False                                    Unrestricted
    PoC-MDB02\SRVXCH01                                                False                                    Unrestricted
    PoC-PDB01\SRVXCH01                                                False                                    Unrestricted
    PoC-MDB01\SRVXCH02                                                False                                    Unrestricted
    PoC-MDB02\SRVXCH02                                                False                                    Unrestricted
    PoC-PDB01\SRVXCH02                                                False                                    Unrestricted
    PoC-MDB01\SRVXCH03      SRVXCH01                                  False 3                                  Unrestricted
    PoC-MDB02\SRVXCH03      SRVXCH01                                  False 3                                  Unrestricted
    PoC-PDB01\SRVXCH03      SRVXCH01                                  False 3                                  Unrestricted
    
    
    [PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus *
    
    Name                                          Status          CopyQueue ReplayQueue LastInspectedLogTime   ContentIndex
                                                                  Length    Length                             State
    ----                                          ------          --------- ----------- --------------------   ------------
    PoC-MDB01\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-MDB02\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-PDB01\SRVXCH01                            ServiceDown     0         0                                  Unknown
    PoC-MDB01\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-MDB02\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-PDB01\SRVXCH02                            ServiceDown     0         0                                  Unknown
    PoC-MDB01\SRVXCH03                            Disconnected... 922337... 2           05.01.2016 15:38:27    Failed
    PoC-MDB02\SRVXCH03                            Disconnected... 922337... 302         05.01.2016 15:26:20    Failed
    PoC-PDB01\SRVXCH03                            Disconnected... 922337... 480         05.01.2016 15:33:15    Failed

    Das kann ich nun Stunden und Tage so stehen lassen, die Datenbank wird nicht gemountet.

    Beim manuellen Versuch die Datenbank zu Mounten erhalte ich folgenden Fehler, auch, wenn ich "-force" verwende:

    [PS] C:\Windows\system32>mount-database poc-mdb01
    Failed to mount database "poc-mdb01". Error: An Active Manager operation failed. Error: The Microsoft Exchange
    Replication service may not be running on server srvxch01.. Specific RPC error message: Error
    0x6ba (The RPC server is unavailable) from cli_GetPrimaryActiveManager
        + CategoryInfo          : InvalidOperation: (PoC-MDB01:ADObjectId) [Mount-Database], InvalidOperationException
        + FullyQualifiedErrorId : [Server=SRVXCH03,RequestId=e22ed396-ae9c-4e0f-b8ec-ac516b7a4ccb,TimeStamp=05.01.2016 16:
       13:59] [FailureCategory=Cmdlet-InvalidOperationException] 6C866621,Microsoft.Exchange.Management.SystemConfigurati
      onTasks.MountDatabase
        + PSComputerName        : srvxch03.

    srvxch01 ist der Server, der abgeschaltet ist.

    Am FSW sollte es an sich nicht liegen, er ist wie zu sehen ist eingetragen und wurde von Exchange automatisch erstellt.

    Die Berechtigungen stimmen laut diverser Artikel.

    Viele Grüße und danke für eure Hilfe.



    Dienstag, 5. Januar 2016 15:16
  • Moin,

    ich kann das jetzt nicht ausprobieren, aber müsste der letzte Befehl nicht "Move-ActiveMailboxDatabase" heißen? Eventuell auch mit ein paar Schaltern.

    https://technet.microsoft.com/en-us/library/dd298068(v=exchg.150).aspx

    Die Datenbank ist ja nicht "Dismounted", sondern "Disconnected". Wobei Du leider den Text abgeschnitten hast, die Kopie sollte eigentlich "DisconnectedAndHealthy" sein:

    https://technet.microsoft.com/de-de/library/dd351258(v=exchg.150).aspx

    Disconnected ist sie wegen der fehlen automatischen Aktivierung.

    Ach ja und wichtig ist, dass DAC nicht aktiviert ist. Für DAC bräuchtest Du vier Kopie mit je zwei Kopien pro Datacenter, da sonst keine Mehrheit für die Aktivierung vorliegen kann.

    https://technet.microsoft.com/de-de/library/dd979790(v=exchg.150).aspx



    Gruesse aus Berlin schickt Robert - MVP Exchange Server

    Dienstag, 5. Januar 2016 17:49
  • Wenn du den kompletten dritten Server quasi nur als "Notfall Notefall"-Server haben willst, dann könntest du den doch ein "Mainenance" setzen. Dann bekommt er auch keine aktive Datenbanken mehr.

    Quasi was auch  StartDagServerMaintenance.ps1 macht

    Aber auch das widerspricht eigentlich dem Grundprinzip der DAG. Wenn du 3 Knoten hast, dann wissen die beiden anderen auch, dass der dritte da ist.

    Wenn nun einer der beiden "Aktiven" auch noch weg ist, dann hat der verbleibende aktive das Problem, dass er eben "allein" wäre. wenn dein dritter "gar nicht da ist" und dann ist er erst mal "runter". Schließlich kann er kan nicht sicher sein, dass er der "richtige überlebende" ist, er geht davon aus, dass die beiden anderen, die er ja vielleicht nicht mehr sieht, weiter machen.

    DA aber dein dritter Knoten als MSCluster sicht ja noch aktiv sein sollte, sollte der Cluster selbst laufen. und da Exchange auch noch da ist, .  hmm.

    Dennoch. Was hindert sich dran, die Activation reihenfolge der Datenbank so einzurichten, dass der dritte Server eben an letzter stelle steht ?

    Dann sollten die Datenbanken zuerst auf Server1 bzw. Server2 online sein und Server3 hat ne passive kopie.

    wenn Server 1 oder Server 2 ausfällt, dann schwenken dessen Datenbanken auf den verbliebenen S1 oder S2, da die Activation reihenfolge der Datenbanken das so vorgibt.

    Wenn dann aber Server 1 UND Server 2 down sind, dann wäre erst der Server 3 dran. Allerdings hast du da dann das Problem, dass der Cluster ein Quorum mehr hat und der dritte Knoten zwar online gehen könnte aber es nicht automatisch tut. Manuell könnte man das dann aber wieder erreichen ( FileShareWittness einrichten und S1 oder S2 löschen, damit der S3 + FSW wieder das Majority hat.) Aber genial ist das nicht

    Dann besser einen 4 Knoten Cluster mit Fileshare Whittness. der 4 Knoten muss ja keine Datenbanken halten. Aber wenn dann S1/S2 weg sind, dann kann S3+S4+FSW immer noch weiter arbeiten. Dann allerdings wieder automatisch.

    Frank


    MCMLync2010, www.msxfaq.net, Please help us to find unanswered Questions by tagging answers as answer

    Mittwoch, 6. Januar 2016 11:41
  • Hallo Frank,

    ich stimme dir zu, das Konstrukt an sich hebelt den Grundgedanken des DAG etwas aus ;-)

    Es ist jedoch so, dass das Gesamtkonstrukt in diesem Fall vorgegeben ist, wir haben zwei Standorte, jedoch nur ein IP Netz und eine AD Site, somit fallen die meisten Mechanismen die MS vorsieht aus.

    Vorgabe ist, dass am zweiten Standort ein DAG Mitglied ist, das (aufgrund von möglichen Verbindungsabbrüchen) im Normalbetrieb am ersten Standort, nie aktiv wird. Dies soll vor allem Split-Brain vermeiden.

    Vorgabe ist aber auch, dass, wenn Standort eins ausfällt der zweite Standort manuell in Betrieb genommen werden kann mit minimalem Datenverlust.

    Das ganze ist mit dem ISP und allem komplett entsprechend abgebildet, einzig die Datenbanken müssen noch wieder zum Laufen gebracht werden.

    Es wurde auf Anraten von MS ein Upgrade zu Exchange 2013 durchgeführt, da erst hier "Last Man Standing" eine Option ist, unter Exchange 2013 war dies auf keinen Fall zu bewerkstelligen, da ja immer mindestens die Hälfte der Knoten plus FSW ausfallen, wenn ein Standort wegbricht.

    Leider habe ich auch mit Move-ActiveMailboxDatabase und allen möglichen Switchen keinen Erfolg:

    [PS] C:\Windows\system32>Move-ActiveMailboxDatabase PoC-MDB01 -ActivateOnServer srvxch03 -SkipActiveCopyChecks -SkipClie
    ntExperienceChecks -SkipHealthChecks -SkipMaximumActiveDatabasesChecks -SkipLagChecks -MountDialOverride besteffort
    
    Confirm
    Moving mailbox database "PoC-MDB01" from server "srvxch01..net" to server
    "srvxch03..net".
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):
    Active Manager isn't reachable on server srvxch01..net. The Microsoft Exchange Replication service
    might not be running. Error Error 0x6ba (The RPC server is unavailable) from cli_GetPrimaryActiveManager.
        + CategoryInfo          : InvalidOperation: (PoC-MDB01:ADObjectId) [Move-ActiveMailboxDatabase], InvalidOperationE
       xception
        + FullyQualifiedErrorId : [Server=SRVXCH03,RequestId=d9c4bc0e-528a-4a65-a57d-270c24ef2734,TimeStamp=07.01.2016 08:
       36:09] [FailureCategory=Cmdlet-InvalidOperationException] 18473B04,Microsoft.Exchange.Management.SystemConfigurati
      onTasks.MoveActiveMailboxDatabase
        + PSComputerName        : srvxch03..net

    Der Status ist übrigens "DisconnectedandResynchronizing".

    Falls es von Interesse ist: Sofern die Aktivierung nicht Suspended ist, funktioniert es tadellos.

    Donnerstag, 7. Januar 2016 08:56
  • Na ich kann dir da nun nicht direkt weiter helfen, da ich so eine Konfig noch nie umgesetzt habe. Ich wäre immer noch für "Standards" und was hindert dich, im zweiten Standort einen zweiten Exchange hinzustellen, der mit im Cluster ist und einen FSW in der ersten Site. Wenn dann Site1 komplett weg ist, dann fehlen zwei Cluster Knoten und der FSW, d.h. die SITE2 geht nicht alleine online.

    Aber du kannst im DR Fall ja in der Site 2 den Cluster umstellen, dass er einen Server in der Site2 als FSW-Share nutzt und schon hat er die majority und los geht es. auch mit nur einer Datenbank.

    Der zweite Exchange in der Site2 kann ja CAS/HUB etc machen und muss auch nicht groß sein, wenn er keine Datenbanken halten muss. Da aber Storage (DAS, nicht SAN)  billig ist, könnte er auch 50% der Datenbanken von Server3 in Site2 mit übernehmen. 

    Letztlich kostet es dann nur eine Windows/Exchange Lizenz und etwas VM Ressourcen.

    Wenn du "HochVerügbar" und "DR" haben willst, dann kneift sich das mit "Sparsamkeit".

    Frank


    MCMLync2010, www.msxfaq.net, Please help us to find unanswered Questions by tagging answers as answer

    Donnerstag, 7. Januar 2016 16:07
  • Das Problem ist ja nicht, dass die Konfig prinzipiell nicht funktioniert.

    Dank Server 2012 R2 kann ja der letzte verbleibende Clusterknoten weiterhin funktionieren, das funktioniert aber nur, solange die Aktivierung nicht blockiert ist.

    Da wir das Gesamtkonstrukt beim Kunden nicht verändern können, wird die automatische Aktivierung im Failover Fall mit niedrigster Präferenz bleiben, über den LB kann ich ja verhindern, dass sich Clients direkt auf den dritten Server verbinden und somit sollte es keine Split-Brain Situationen geben.

    Am Disaster Standort arbeitet normalerweise keiner.

    Viele Dank trotzdem für eure Hilfe :-)
    Ärgerlich ist hier eigentlich nur, dass wir extra das MS Pre-Sales Advisory hinzugezogen haben und diese uns genau diesen Vorschlag unterbreitet haben.

    Viele Grüße

    Freitag, 8. Januar 2016 10:31