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

 

Последнее изменение раздела: 2014-05-22

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

Чтобы выполнить командлеты, откройте командную консоль 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 пула B (Lis.mdf). Это будет работать только в том случае, если вы регулярно создаете резервные копии данных LIS. Чтобы импортировать конфигурацию LIS, выполните следующие командлеты:

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

    Примечание.

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

    У вас есть два варианта импорта конфигурации группы ответа из пула 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"
      

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

    Имейте в виду, что если вы не хотите перезаписывать параметры пула резервного копирования (пул Б) на уровне приложения с параметрами основного пула (пул A), параметры уровня приложения 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, на новые развернутые объявления в пуле Б. Выполните следующий командлет для каждого диапазона неназначенных номеров, предназначенный для объявления пула A:

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

    Примечание.

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

  7. Выполните отработку отказа пула A в пул B в режиме аварийного восстановления, выполнив следующий командлет:

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

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

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

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

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

  10. Принудительно переместите каталог конференции пула A в пул 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 и назначьте диапазоны орбиты парковки вызовов пула A пулу C.

    • Вы можете переназначить диапазон орбиты парковки вызовов пула A в пул C с помощью Lync Server панель управления или командной консоли Lync Server. Для командной консоли 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
      

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

  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
      
    • Если вы не хотите перезаписывать параметры пула C, используйте командлет Import-CsRgsConfiguration без параметра ReplaceExistingSettings .

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

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

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

  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.

    • Повторно создайте в пуле C все объявления, которые были повторно созданы из пула 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 и выберите команду "Изменить свойства".

      • Щелкните "Устойчивость" в левой области.

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

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

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

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

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

  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 является пулом Standard Edition (SE), а пул B имеет CMS, установите базу данных CMS вручную в пуле C, выполнив следующий командлет:

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

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