Простая процедура отработки отказа для интерфейсного пула в Lync Server 2013

Тема последнего изменения: 2014-05-22

Чтобы выполнить процедуру ABC failover, выполните указанные ниже действия. Эта процедура включает подробное описание каждого шага, а затем команды и командлеты, которые необходимо выполнить для каждого шага.

Чтобы запустить командлеты, откройте консоль управления Lync Server с помощью команды Запуск от имени администратора.

Выполнение ABC отработки отказа

  1. Убедитесь, что пул A является узлом центрального сервера управления (CMS).

    • Выполнить следующий командлет:

      Get-CsService -CentralManagement
      

      Если поле Identity активного CMS указывает на полное доменное имя (FQDN) для пула A, вы можете сначала выполнить действия 2 и 3 для этой процедуры для основного сервера управления. В противном случае перейдите к шагу 4.

  2. Для переключения CMS на пул B в режиме аварийного восстановления запустите следующий командлет:

    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
    

    После этого мы рекомендуем вам переместить CMS из пула B в другой существующий Объединенный пул для дополнительной устойчивости. Подробности можно найти в разделе Move-CsManagementServer..

  3. Если в пуле A содержится CMS, импортируйте конфигурацию LIS из группы A в базу данных LIS (LIS. mdf) пула. Это действие будет работать только в том случае, если вы регулярно заархивированные данные LIS. Чтобы импортировать конфигурацию LIS, выполните следующие командлеты:

    Import-CsLisConfiguration -FileName <String> 
    Publish-CsLisConfiguration
    
  4. Импортируйте резервные копии рабочих процессов службы группы ответа сервера Lync из пула A в пул B.

    Примечание

    В настоящее время командлет Import-CsRgsConfiguration требует, чтобы имена очереди и рабочего процесса в пуле A отличаются от имен очереди и рабочего процесса в пуле B. Если имена не являются уникальными, при запуске командлета Import-CsRgsConfiguration возникает ошибка, а перед выполнением командлета Import-CsRgsConfiguration вы должны будете переименовать очереди и рабочие процессы в пуле B.

    У вас есть два варианта импорта конфигурации группы ответа из пула A в пул B. Выбор используемого параметра зависит от того, хотите ли вы заменить параметры уровня приложения для пула B с параметрами уровня приложения в пуле A.

    • Если вы хотите перезаписать параметры пула (B), выполните командлет Import-CsRgsConfiguration с параметром ReplaceExistingSettings :

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Если вы не хотите перезаписывать параметры пула (B), используйте командлет Import-CsRgsConfiguration без параметра ReplaceExistingSettings .

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

    Предупреждение

    Имейте в виду, что если вы не хотите перезаписывать параметры уровня приложения для пула резервных копий (пул B) с параметрами основного пула (пул A), параметры уровня приложения для пула A будут потеряны, так как в приложении группы ответа может храниться только один набор параметров уровня приложения для каждого пула. Если группа C развернута для замены пула A, параметры на уровне приложения должны быть перенастроены, в том числе с аудиофайлом по умолчанию для хранения музыкальных файлов.

  5. Убедитесь, что импорт конфигурации группы ответа выполнен успешно, выполнив следующие командлеты, чтобы отобразить импортированные группы ответа. Обратите внимание на то, что импортированные группы ответов по-прежнему принадлежат группе A.

    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. Для неназначенных номеров переместите неназначенные диапазоны номеров, которые используют "извещение", в качестве выбранной службы объявлений из пула A в пул B. Для этого выполните указанные ниже действия.

    • Повторное создание всех объявлений, развернутых в пуле A, в пуле B. Если при развертывании объявлений в пуле A использовались какие-либо звуковые файлы, эти файлы понадобятся вам для повторного создания объявлений в пуле B. Для повторного создания объявлений в пуле B используйте командлеты New-CsAnnouncement с пулом b в качестве родительской службы.

    • Переназначьте все диапазоны неназначенных номеров, предназначенные для объявления в пуле A, в новые развернутые объявления в пуле B. выполните следующий командлет для каждого неназначенного диапазона номеров, предназначенного для объявления пула а.

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

    Примечание

    Этот шаг не требуется для неназначенных диапазонов номеров, в которых в качестве выбранной службы объявлений используется "Exchange UM".

  7. Переключиться из пула A в пул B в режиме аварийного восстановления (DR), выполнив следующий командлет:

    Invoke-CsPoolFailover -PoolFqdn <Pool A FQDN> -DisasterMode
    
  8. Создание пула в пуле C, но не запуск служб в пуле C.

    Обратите внимание на то, что это действие можно выполнить одновременно с действиями 5 и 6.

  9. Принудительное перемещение пользователей из пула а в группу C, выполнив следующий командлет:

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

    На этом этапе пользователи, работающие в пуле "A", начнут испытывать сбой в работе службы. Этот сбой будет продолжен до этапа 16, после чего службы будут запущены в пуле C.

  10. Сделайте Каталог конференций пула а для перемещения на группу C, выполнив следующий командлет:

    Move-CsConferenceDirectory -Identity <Conference Directory ID of Pool A> -TargetPool <Pool C FQDN> -Force
    
  11. Запросите объект контакта автосекретаря конференции (CAA) для перемещения из пула A в пул C, выполнив следующий командлет:

    Move-csApplicationEndpoint -Identity "<Pool A CAA Uri>" -targetApplicationPool <Pool C FQDN> -force
    
  12. Копирование содержимого конференции из пула B в пул C.

  13. Экспортируйте пользовательские данные из пула B и импортируйте данные пользователя в пул C, выполнив следующие командлеты:

    Export-CsUserData -PoolFqdn <Pool B Fqdn> -FileName <String>
    Import-CsUserData -PoolFqdn <Pool C Fqdn> -FileName <String>
    
  14. Восстановление резервных копий данных приложения из пула A в пул C и назначение диапазонов на орбиту на вкладке "а" в пул C.

    • Вы можете переназначить диапазон орбиты для группы A в пул C на панели управления Lync Server или в командной консоли Lync Server Management. Для командной консоли Lync Server выполните следующий командлет для каждого диапазона орбит на приостановку звонков, назначенного пулу A (Обратите внимание, что параметр Identity указывает на диапазоны орбиты на приостановку звонков, которые входят в пул A).

      Set-CsCallParkOrbit -Identity "<Call Park Orbit Identity>" -CallParkService "service:ApplicationServer:<Pool C FQDN>"
      
    • Если настроенная музыка заблокирована для приостановки звонков в пуле A, восстановите в группе C файл, настроенный для парковки звонков.

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

      Например:

      Xcopy "Source Path" "<Pool C File Store Path>\OcsFileStore\coX-ApplicationServer-X\AppServerFiles\CPS\"
      
    • Наконец, настройте параметры парковки для пула C с помощью командлета Set-CsCpsConfiguration . Приложение для парковки звонков может хранить только один набор параметров и один настроенный звуковой файл на хранение музыки для каждого пула, и эти параметры не будут заархивированы или сохранены в случае аварии.

  15. Если в качестве следующего пула переходов для сохраняемого чата указана группа A, настройте и опубликуйте изменения топологии, чтобы сервер следующего прыжка указывал на пул C.

    • В построителе топологии измените пул сохраняемого чата таким образом, чтобы он указывал на пул C в качестве следующего прыжка. Для этого щелкните правой кнопкой мыши группу постоянного чата, а затем откройте вкладку Общие и введите имя пула C в следующей версии пула прыжков.

    • Запустите службу на пуле C, выполнив следующий командлет:

      Start-csWindowsService
      

    На этом этапе служба завершает работу для пользователей, первоначально размещенных в пуле A.

  16. Экспортируйте рабочие процессы службы ответов сервера Lync Server из пула B, владельца которого является группа A, для импорта в пул C, выполнив следующий командлет:

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" 
    
  17. Импорт рабочих процессов службы групп ответов Lync Server в пул C из пула B.

    Существует два варианта импорта конфигурации группы ответа из группы B в группу C. Выбор используемого параметра зависит от того, хотите ли вы заменить параметры уровня приложения для пула C с параметрами уровня приложения в пуле B.

    • Если вы хотите перезаписать параметры пула C, выполните командлет Import-CsRgsConfiguration с параметром ReplaceExistingSettings :

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool C FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Если вы не хотите перезаписывать параметры пула в, используйте командлет Import-CsRgsConfiguration без параметра ReplaceExistingSettings .

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

    Предупреждение

    Имейте в виду, что если вы не хотите перезаписывать параметры уровня приложения для пула C с параметрами пула резервного копирования (пула B), параметры уровня приложения пула B будут потеряны, так как приложение группы ответа может хранить только один набор параметров уровня приложения для каждого пула.

  18. Убедитесь, что импорт конфигурации группы ответа прошел успешно, выполнив следующие командлеты для отображения групп ответов, которые были импортированы в пул C.

    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. После проверки импортированной конфигурации в пуле C удалите группы ответа, принадлежащие основным пулам из пула B. Это сократит время простоя групп ответов.

    На этом этапе создается новый файл с экспортированной конфигурацией, а затем этот файл удаляется из пула B.

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" -RemoveExportedConfiguration
    
  20. Переместить в пул C: неназначенные диапазоны номеров, перенесенных из пула A в пул B.

    • Повторное создание в пуле из всех объявлений, которые были повторно созданы из пула A в пуле B. Если при развертывании извещений использовались какие-либо звуковые файлы, для повторного создания объявлений в пуле C необходимо использовать эти файлы. Для повторного создания объявлений в пуле C используйте командлеты New-CsAnnouncement с пулом C в качестве родительской службы.

    • Переназначение в пул C все неназначенные диапазоны номеров, перенацеленные из пула A в пул B. выполните следующий командлет для всех неназначенных диапазонов номеров, которые необходимо переадресовать:

      Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool C FQDN>" -AnnouncementName "<New Announcement in pool C>"
      
    • Необязательно Удалите из пула B объявления, которые были повторно созданы в пуле C, если они больше не используются в пуле B. Для удаления объявлений используйте командлет Remove-CsAnnouncement .

      Примечание

      Этот шаг не требуется для неназначенных диапазонов номеров, в которых служба извещения использует сообщение "Exchange UM".

  21. Очистите данные пользователя пула A в пуле B, выполнив следующий командлет:

    Remove-CsUserStoreBackupData -PoolFqdn <Pool B FQDN> -Verbose
    
  22. В построителе топологии выполните указанные ниже действия.

    • Отмена связывания пула A и пула B. Свяжите пул B и пул C. Затем удалите пул A из топологии и опубликуйте его. Для этого:

      • В построителе топологии щелкните пул B правой кнопкой мыши и выберите команду изменить свойства.

      • На левой панели выберите пункт устойчивость .

      • В поле под сопоставленным пулом резервных копий выберите Pool C. Обратите внимание на то, что в поле выбора связанного пула резервных копий первоначально отображается пул A, так как пул B уже был связан с этим пулом.

      • Выберите Автоматическая обработка отказов и восстановление после отказа для голосовой связи и нажмите кнопку ОК.

        Теперь при просмотре сведений о данном пуле связанный с ним пул отображается на правой панели в области Устойчивость.

      • В дереве консоли щелкните правой кнопкой мыши группу и выберите команду Удалить.

      • Опубликуйте топологию.

  23. Запустите приложение начальной загрузки в пуле C, чтобы установить приложение службы резервного копирования, а затем запустите приложение службы резервного копирования, выполнив следующие действия из папки развертывание на локальном компьютере в пуле C:

    Run "%SYSTEMROOT%\Program Files\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe"
    Start-CsWindowsService -name LyncBackup
    
  24. Перезапустите приложение службы резервного копирования в пуле B, выполнив следующие командлеты:

    Stop-CsWindowsService -name LyncBackup
    Start-CsWindowsService -name LyncBackup
    
  25. Если в качестве пула пулов C используется стандартный выпуск (SE) и в пуле B есть сервер CMS, установите базу данных CMS вручную для пула C, выполнив следующий командлет:

    Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <Pool C FQDN> -SqlInstanceName rtc
    
  26. Вызовите службу резервного копирования для синхронизации старых данных конференций из пула B с пулом C, созданным до объединения B и C, и для синхронизации нового содержимого конференций из пула C с группой B, созданной после того, как вы собрались с помощью групп C и before. Для этого выполните следующие командлеты:

    Invoke-CsBackupServiceSync -PoolFqdn <Pool C FQDN>
    Invoke-CsBackupServiceSync -PoolFqdn <Pool B FQDN>
    
  27. Для каждого устройства с бесперебойной подразделением X, связанного с пулом A:

    • Завершите работу SBA X, выполнив следующий командлет:

      Stop-CsWindowsService
      
    • Создание файла, содержащего список пользователей, размещенных на SBA X. Этот список будет нужен, когда пользователи будут перенесены в SBA X на этапе 30. Для этого выполните следующий командлет:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Export-Csv d:\sbaxusers.txt
      
    • Принудительный переход пользователей на SBA X на пул C, выполнив следующий командлет:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force -Verbose
      
    • Обновите данные этих пользователей, предварительно выполнив следующие командлеты:

      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}
      

      А затем выполните следующий сценарий:

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

      Примечание

      Для пользователей, использующих SBAs, которые связаны с пулом A до тех пор, пока эти пользователи не будут перемещены в пул C, произойдет сбой службы.

  28. В построителе топологии для каждого SBA X, ранее связанного с пулом A, выполните указанные ниже действия.

    • Измените связь на пул C. Для этого щелкните сайт филиала, разверните узел, который можно использовать, и выберите пункт бесперебойно работающее устройство филиала. Затем выберите пул переднего плана, пул служб пользователя , который будет подключаться к этому работающему устройству филиала в качестве пула, и нажмите кнопку Далее.

    • Опубликуйте топологию. Для этого в дереве консоли щелкните правой кнопкой мыши новое работающее устройство филиала, выберите пункт топология и нажмите кнопку опубликовать.

  29. Для каждого SBA X теперь сопоставлены с пулом C:

    • Запустите SBA X, выполнив следующий командлет на устройстве для бесперебойной работы филиалов:

      Start-CsWindowsService
      
    • Перемещайте пользователей, которые изначально разработали на SBA X из пула C в SBA X, выполнив следующий командлет.

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