ABC-Failover-Verfahren im Front-End-Pool in Lync Server 2013

 

Thema Letzte Änderung: 22.05.2014

Führen Sie die folgenden Schritte aus, um die ABC-Failoverprozedur auszuführen. Dieses Verfahren enthält eine allgemeine Beschreibung der einzelnen Schritte, gefolgt von Befehlen und Cmdlets, die für jeden Schritt ausgeführt werden sollen.

Um die Cmdlets auszuführen, öffnen Sie eine Lync Server-Verwaltungsshell mit "Als Administrator ausführen".

So führen Sie ein ABC-Failover aus

  1. Überprüfen Sie, ob der Pool A der Host für den zentralen Verwaltungsserver (CMS) ist.

    • Führen Sie das folgende Cmdlet aus:

      Get-CsService -CentralManagement
      

      Wenn das Feld "Identity" des aktiven CMS auf den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) von Pool A verweist, führen Sie die Schritte 2 und 3 dieses Verfahrens aus, um zuerst einen Fehler über den zentralen Verwaltungsserver auszuführen. Fahren Sie andernfalls mit Schritt 4 fort.

  2. Führen Sie das folgende Cmdlet aus, um das CMS auf Pool B im Notfallwiederherstellungsmodus zu übertragen:

    Invoke-CsManagementServerFailover -BackupSqlServerFqdn <Pool B BE FQDN> -BackupSqlInstanceName <Pool B BE instance name> [-BackupMirrorSqlServerFqdn <Pool B Mirror BE FQDN> -BackupMirrorSqlInstanceName <Pool B Mirror BE Instance name>] -Force -Verbose
    

    Anschließend wird empfohlen, das CMS aus Pool B in einen anderen vorhandenen gekoppelten Pool zu verschieben, um zusätzliche Resilienz zu erhalten. Ausführliche Informationen finden Sie unter Move-CsManagementServer..

  3. Wenn Pool A CMS enthält, importieren Sie die LIS-Konfiguration aus Pool A in die LIS-Datenbank (Lis.mdf) von Pool B. Dies funktioniert nur, wenn Sie LIS-Daten regelmäßig gesichert haben. Führen Sie zum Importieren der LIS-Konfiguration die folgenden Cmdlets aus:

    Import-CsLisConfiguration -FileName <String> 
    Publish-CsLisConfiguration
    
  4. Importieren Sie gesicherte Lync Server Response Group-Dienstworkflows aus Pool A in Pool B.

    Hinweis

    Derzeit erfordert das Cmdlet Import-CsRgsConfiguration , dass sich die Warteschlangen- und Workflownamen in Pool A von den Warteschlangen- und Workflownamen in Pool B unterscheiden. Wenn die Namen nicht eindeutig sind, wird beim Ausführen des Cmdlets "Import-CsRgsConfiguration " ein Fehler angezeigt, und die Warteschlangen und Workflows müssen in Pool B umbenannt werden, bevor Sie mit dem Cmdlet "Import-CsRgsConfiguration " fortfahren.

    Sie haben zwei Optionen zum Importieren der Reaktionsgruppenkonfiguration aus Pool A in Pool B. Welche Option Sie verwenden, hängt davon ab, ob Sie die Einstellungen auf Anwendungsebene von Pool B mit den Einstellungen auf Anwendungsebene in Pool A überschreiben möchten.

    • Wenn Sie die Pool B-Einstellungen überschreiben möchten, führen Sie das Cmdlet "Import-CsRgsConfiguration " mit der Option "ReplaceExistingSettings" aus :

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Wenn Sie die Pool B-Einstellungen nicht überschreiben möchten, verwenden Sie das Cmdlet "Import-CsRgsConfiguration " ohne die Option "ReplaceExistingSettings ".

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"
      

    Warnung

    Wenn Sie die Einstellungen auf Anwendungsebene des Sicherungspools (Pool B) nicht mit den Einstellungen des primären Pools (Pool A) überschreiben möchten, gehen die Einstellungen auf Anwendungsebene von Pool A verloren, wenn Pool A verloren geht, da die Reaktionsgruppenanwendung nur eine Gruppe von Einstellungen auf Anwendungsebene pro Pool speichern kann. Wenn Pool C bereitgestellt wird, um Pool A zu ersetzen, müssen die Einstellungen auf Anwendungsebene neu konfiguriert werden, einschließlich der standardmäßigen Audiodatei für die Wartemusik.

  5. Stellen Sie sicher, dass der Konfigurationsimport für Reaktionsgruppen erfolgreich war, indem Sie die folgenden Cmdlets ausführen, um die importierten Reaktionsgruppen anzuzeigen. Beachten Sie, dass die importierten Reaktionsgruppen weiterhin im Besitz von Pool A sind.

    Get-CsRgsWorkflow -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>"
    
    Get-CsRgsQueue -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>"
    
    Get-CsRgsAgentGroup -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>"
    
  6. Verschieben Sie bei nicht zugewiesenen Nummern die Bereiche nicht zugewiesener Nummern, die "Ankündigung" als ausgewählten Ankündigungsdienst verwenden, von Pool A in Pool B. Gehen Sie dazu wie folgt vor:

    • Erstellen Sie alle Ankündigungen, die in Pool A auf Pool B bereitgestellt wurden, erneut. Wenn beim Bereitstellen der Ankündigungen in Pool A Audiodateien verwendet wurden, werden diese Dateien zum erneuten Erstellen der Ankündigungen in Pool B benötigt. Um die Ankündigungen in Pool B neu zu erstellen, verwenden Sie die New-CsAnnouncement-Cmdlets , wobei Pool B der übergeordnete Dienst ist.

    • Richten Sie alle Bereiche nicht zugewiesener Nummern, die auf eine Ankündigung in Pool A abzielen, auf die neu bereitgestellten Ankündigungen in Pool B um. Führen Sie das folgende Cmdlet für jeden Bereich nicht zugewiesener Nummern aus, der auf eine Ankündigung von Pool A ausgerichtet ist:

      Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool B FQDN>" -AnnouncementName "<New Announcement in pool B>"
      

    Hinweis

    Dieser Schritt ist für Bereiche nicht zugewiesener Nummern, die "Exchange UM" als ausgewählten Ankündigungsdienst verwenden, nicht erforderlich.

  7. Fail over Pool A to Pool B in Disaster Recovery (DR) mode, by running the following cmdlet:

    Invoke-CsPoolFailover -PoolFqdn <Pool A FQDN> -DisasterMode
    
  8. Erstellen Sie Pool C, starten Sie jedoch keine Dienste in Pool C.

    Beachten Sie, dass dieser Schritt gleichzeitig mit den Schritten 5 und 6 ausgeführt werden kann.

  9. Erzwingen Sie, dass Benutzer, die in Pool A verwaltet werden, zu Pool C wechseln, indem Sie das folgende Cmdlet ausführen:

    Get-csuser -Filter {RegistrarPool -eq "<Pool A FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force
    

    An diesem Punkt treten bei Benutzern, die in Pool A verwaltet werden, Dienstausfälle auf. Dieser Ausfall wird bis Schritt 16 fortgesetzt, an dem dienste im Pool C gestartet werden.

  10. Erzwingen Sie, dass das Konferenzverzeichnis von Pool A in Pool C verschoben wird, indem Sie das folgende Cmdlet ausführen:

    Move-CsConferenceDirectory -Identity <Conference Directory ID of Pool A> -TargetPool <Pool C FQDN> -Force
    
  11. Erzwingen Sie, dass das Kontaktobjekt der automatischen Konferenzzentrale (CAA) von Pool A zu Pool C wechselt, indem Sie das folgende Cmdlet ausführen:

    Move-csApplicationEndpoint -Identity "<Pool A CAA Uri>" -targetApplicationPool <Pool C FQDN> -force
    
  12. Kopieren Sie Konferenzinhalte aus Pool B in Pool C.

  13. Exportieren Sie Benutzerdaten aus Pool B, und importieren Sie die Benutzerdaten in Pool C, indem Sie die folgenden Cmdlets ausführen:

    Export-CsUserData -PoolFqdn <Pool B Fqdn> -FileName <String>
    Import-CsUserData -PoolFqdn <Pool C Fqdn> -FileName <String>
    
  14. Stellen Sie gesicherte Anwendungsdaten für das Parken von Anrufen aus Pool A in Pool C wieder her, und weisen Sie die Orbitbereiche des Pools A zu Pool C zu.

    • Sie können einen Orbitbereich für das Parken von Anrufen von Pool A zu Pool C entweder über die Lync Server-Systemsteuerung oder die Lync Server-Verwaltungsshell neu zuweisen. Führen Sie für die Lync Server-Verwaltungsshell das folgende Cmdlet für jeden Orbitbereich zum Parken von Anrufen aus, der Pool A zugewiesen ist (beachten Sie, dass sich der Parameter "Identity" auf die Orbitbereiche für das Parken von Anrufen bezieht, die zu Pool A gehören):

      Set-CsCallParkOrbit -Identity "<Call Park Orbit Identity>" -CallParkService "service:ApplicationServer:<Pool C FQDN>"
      
    • Wenn eine angepasste Wartemusik für das Parken von Anrufen im Pool A konfiguriert wurde, stellen Sie die angepasste Wartemusikdatei für das Parken von Anrufen im Pool C wieder her.

      Xcopy <Source> <Destination: Pool C CPS File Store Path>
      

      Zum Beispiel:

      Xcopy "Source Path" "<Pool C File Store Path>\OcsFileStore\coX-ApplicationServer-X\AppServerFiles\CPS\"
      
    • Konfigurieren Sie schließlich die Einstellungen für das Parken von Anrufen in Pool C mithilfe des Cmdlets "Set-CsCpsConfiguration ". Die Anwendung zum Parken von Anrufen kann nur einen Satz von Einstellungen und eine angepasste Audiodatei für die Wartemusik pro Pool speichern, und diese Einstellungen werden im Notfall nicht gesichert oder beibehalten.

  15. Wenn der nächste Hoppool für beständigen Chat auf Pool A verweist, nehmen Sie Topologieänderungen vor und veröffentlichen Sie sie, damit der nächste Hopserver auf Pool C verweist.

    • Ändern Sie im Topologie-Generator den Pool für beständigen Chat so, dass er auf Pool C als nächsten Hop verweist. Klicken Sie dazu mit der rechten Maustaste auf den Pool für beständigen Chat, klicken Sie dann auf die Registerkarte " Allgemein ", und geben Sie dann den Namen von Pool C im nächsten Hoppool ein.

    • Starten Sie Dienste in Pool C, indem Sie das folgende Cmdlet ausführen:

      Start-csWindowsService
      

    An diesem Punkt endet der Dienstausfall für Benutzer, die ursprünglich in Pool A verwaltet wurden.

  16. Exportieren Sie Lync Server Response Group-Dienstworkflows aus Pool B im Besitz von Pool A für den Import in Pool C, indem Sie das folgende Cmdlet ausführen:

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" 
    
  17. Importieren Sie Lync Server Response Group-Dienstworkflows aus Pool B in Pool C.

    Sie haben zwei Optionen zum Importieren der Reaktionsgruppenkonfiguration aus Pool B in Pool C. Welche Option Sie verwenden, hängt davon ab, ob Sie die Einstellungen auf Anwendungsebene von Pool C mit den Einstellungen auf Anwendungsebene in Pool B überschreiben möchten.

    • Wenn Sie die Pool C-Einstellungen überschreiben möchten, führen Sie das Cmdlet Import-CsRgsConfiguration mit der Option ReplaceExistingSettings aus:

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool C FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Wenn Sie die Pool C-Einstellungen nicht überschreiben möchten, verwenden Sie das Cmdlet "Import-CsRgsConfiguration " ohne die Option "ReplaceExistingSettings ".

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"
      

    Warnung

    Wenn Sie die Einstellungen auf Anwendungsebene von Pool C nicht mit den Einstellungen des Sicherungspools (Pool B) überschreiben möchten, gehen die Einstellungen auf Anwendungsebene von Pool B verloren, da die Reaktionsgruppenanwendung nur einen Satz von Einstellungen auf Anwendungsebene pro Pool speichern kann.

  18. Stellen Sie sicher, dass der Konfigurationsimport für Reaktionsgruppen erfolgreich war, indem Sie die folgenden Cmdlets ausführen, um die Reaktionsgruppen anzuzeigen, die in Pool C importiert wurden.

    Get-CsRgsWorkflow -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll
     Get-CsRgsQueue -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll
    Get-CsRgsAgentGroup -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll
    
  19. Wenn die importierte Konfiguration in Pool C überprüft wurde, entfernen Sie die Reaktionsgruppen im Besitz des primären Pools aus Pool B. Dadurch werden die Ausfallzeiten der Reaktionsgruppen minimiert.

    In diesem Schritt wird eine neue Datei mit der exportierten Konfiguration erstellt und dann aus Pool B entfernt.

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" -RemoveExportedConfiguration
    
  20. Verschieben der Bereiche "Nicht zugewiesene Zahl", die von Pool A in Pool B verschoben wurden, in Pool C.

    • Erstellen Sie in Pool C alle Ankündigungen erneut, die aus Pool A in Pool B neu erstellt wurden. Wenn beim Bereitstellen der zu verschiebenden Ankündigungen Audiodateien verwendet wurden, müssen Sie diese Dateien verwenden, um die Ankündigungen im Pool C neu zu erstellen. Verwenden Sie zum erneuten Erstellen der Ankündigungen im Pool C die New-CsAnnouncement-Cmdlets , wobei Pool C der übergeordnete Dienst ist.

    • Retarget to pool C all the unassigned number ranges that were retargeted from pool A to pool B. Run the following cmdlet for every Unassigned Number range that needs to be retargeted:

      Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool C FQDN>" -AnnouncementName "<New Announcement in pool C>"
      
    • (Optional) Entfernen Sie aus Pool B die Ankündigungen, die in Pool C neu erstellt wurden, wenn sie nicht mehr in Pool B verwendet werden. Verwenden Sie zum Entfernen von Ankündigungen das Cmdlet Remove-CsAnnouncement .

      Hinweis

      Dieser Schritt ist für Bereiche nicht zugewiesener Nummern, die "Exchange UM" als Ankündigungsdienst verwenden, nicht erforderlich.

  21. Bereinigen Sie Benutzerdaten von Pool A in Pool B, indem Sie das folgende Cmdlet ausführen:

    Remove-CsUserStoreBackupData -PoolFqdn <Pool B FQDN> -Verbose
    
  22. Führen Sie im Topologie-Generator die folgenden Schritte aus:

    • Entkoppelungspool A und Pool B. Paarpool B und Pool C. Entfernen Sie dann Pool A aus der Topologie, und veröffentlichen Sie ihn. Gehen Sie hierzu folgendermaßen vor:

      • Klicken Sie im Topologie-Generator mit der rechten Maustaste auf Pool B, und klicken Sie dann auf "Eigenschaften bearbeiten".

      • Klicken Sie im linken Bereich auf "Resilienz ".

      • Wählen Sie im Feld unter " Zugeordneter Sicherungspool" die Option "Pool C" aus. Beachten Sie, dass im Auswahlfeld "Zugeordneter Sicherungspool" zunächst Pool A angezeigt wird, da Pool B diesem Pool zuvor zugeordnet war.

      • Wählen Sie Automatisches Failover und Failback für Sprachdienste aus, und klicken Sie dann auf OK.

        Wenn Sie die Details zu diesem Pool anzeigen, erscheint der zugeordnete Pool jetzt im rechten Bereich unter Flexibilität.

      • Klicken Sie in der Konsolenstruktur mit der rechten Maustaste auf Pool A, und klicken Sie dann auf "Löschen".

      • Veröffentlichen Sie die Topologie.

  23. Führen Sie die Bootstrapping-Anwendung in Pool C aus, um die Sicherungsdienstanwendung zu installieren, und starten Sie dann die Sicherungsdienstanwendung, indem Sie Folgendes aus dem Bereitstellungsordner auf einem lokalen Computer in Pool C ausführen:

    Run "%SYSTEMROOT%\Program Files\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe"
    Start-CsWindowsService -name LyncBackup
    
  24. Starten Sie die Sicherungsdienstanwendung in Pool B neu, indem Sie die folgenden Cmdlets ausführen:

    Stop-CsWindowsService -name LyncBackup
    Start-CsWindowsService -name LyncBackup
    
  25. Wenn Pool C ein Se-Pool (Standard Edition) ist und Pool B über CMS verfügt, installieren Sie die CMS-Datenbank manuell auf Pool C, indem Sie das folgende Cmdlet ausführen:

    Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <Pool C FQDN> -SqlInstanceName rtc
    
  26. Rufen Sie den Sicherungsdienst auf, um alte Konferenzinhalte aus Pool B mit Pool C zu synchronisieren, die vor der Kopplung von B und C generiert wurden, und um neue Konferenzinhalte aus Pool C mit Pool B zu synchronisieren, die nach dem Starten von Pool C und vor der Kopplung von B und C generiert wurden. Führen Sie dazu die folgenden Cmdlets aus:

    Invoke-CsBackupServiceSync -PoolFqdn <Pool C FQDN>
    Invoke-CsBackupServiceSync -PoolFqdn <Pool B FQDN>
    
  27. Für jede Survivable Branch Appliance X, die Pool A zugeordnet ist:

    • Fahren Sie SBA X herunter, indem Sie das folgende Cmdlet ausführen:

      Stop-CsWindowsService
      
    • Erstellen Sie eine Datei, die eine Liste der Benutzer enthält, die auf SBA X verwaltet werden. Die Liste wird benötigt, wenn die Benutzer in Schritt 30 zurück zu SBA X verschoben werden. Führen Sie dazu das folgende Cmdlet aus:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Export-Csv d:\sbaxusers.txt
      
    • Erzwingen Sie, dass Benutzer, die auf SBA X verwaltet werden, zu Pool C wechseln, indem Sie das folgende Cmdlet ausführen:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force -Verbose
      
    • Aktualisieren Sie die Daten dieser Benutzer, indem Sie zuerst die folgenden Cmdlets ausführen:

      Convert-csUserData -InputFile <Data file exported from PoolB> -OutputFile c:\Logs\ExportedUserData.xml -TargetVersionLync2010 
      $a=get-csuser -Filter {RegistrarPool -eq "FQDN of SBA X"} | select SipAddress
      foreach($x in $a) {$x.SipAddress.Substring(4) >> users.txt}
      

      Und führen Sie dann dieses Skript aus:

      $users=gc c:\logs\users.txt
      foreach ($user in $users)
      {
      Update-CsUserData -FileName c:\logs\exportedUserDAta.xml -UserFilter $user - 
      }
      

      Hinweis

      Ein Dienstausfall tritt für Benutzer auf, die auf SBAs verwaltet werden, die Pool A zugeordnet sind, bis diese Benutzer in Pool C verschoben werden.

  28. Führen Sie im Topologie-Generator für jedes SBA X, das zuvor Pool A zugeordnet war, die folgenden Schritte aus:

    • Ändern Sie die Zuordnung in Pool C. Klicken Sie dazu auf den Zweigstellenstandort, erweitern Sie den Knoten Survivable Branch Appliances oder Servers, und klicken Sie auf Survivable Branch Appliance. Wählen Sie dann den Front-End-Pool, den Benutzerdienstepool aus, mit dem diese Survivable Branch Appliance als Pool C verbunden wird, und klicken Sie dann auf "Weiter".

    • Veröffentlichen Sie die Topologie. Klicken Sie dazu in der Konsolenstruktur mit der rechten Maustaste auf die neue Survivable Branch Appliance, klicken Sie auf "Topologie", und klicken Sie dann auf "Veröffentlichen".

  29. Für jedes SBA X, das jetzt Pool C zugeordnet ist:

    • Starten Sie SBA X, indem Sie das folgende Cmdlet auf der Survivable Branch Appliance ausführen:

      Start-CsWindowsService
      
    • Verschieben Sie Benutzer, die ursprünglich auf SBA X verwaltet wurden, aus Pool C in SBA X, indem Sie das folgende Cmdlet ausführen.

      Import-Csv d:\sbaxusers.txt | Move-CsUser -Target <SBA X FQDN> -Force