Procedimiento de conmutación por error de ABC del grupo de servidores front-end en Lync Server 2013

 

Última modificación del tema: 2014-05-22

Siga estos pasos para realizar el procedimiento de conmutación por error abc. Este procedimiento contiene una descripción general de cada paso, seguida de los comandos y cmdlets que se ejecutarán para cada paso.

Para ejecutar los cmdlets, abra un Shell de administración de Lync Server con Ejecutar como administrador.

Para realizar una conmutación por error de ABC

  1. Compruebe si el grupo A es el host para el Servidor de administración central (CMS).

    • Ejecute el siguiente cmdlet:

      Get-CsService -CentralManagement
      

      Si el campo Identidad del CMS activo apunta al nombre de dominio completo (FQDN) del grupo A, después usted utiliza los pasos 2 y 3 de este procedimiento para conmutar por error sobre el servidor de administración central primero. En caso contrario, vaya al paso 4.

  2. Ejecute el siguiente cmdlet para conmutar por error del CMS al grupo B en el modo de recuperación ante desastres:

    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
    

    Después de hacer esto, le recomendamos que mueva el CMS del grupo B a otro grupo emparejado existente para una resistencia adicional. Para obtener más información, consulte Move-CsManagementServer..

  3. Si el grupo A contiene CMS, importe la configuración de LIS del grupo A a la base de datos LIS del grupo B (Lis.mdf). Esto solo funcionará si ha estado realizando copias de seguridad de los datos de LIS de forma regular. Para importar la configuración de LIS, ejecute los cmdlets siguientes:

    Import-CsLisConfiguration -FileName <String> 
    Publish-CsLisConfiguration
    
  4. Importe flujos de trabajo de servicio de grupo de respuesta de Lync Server con copia de seguridad del grupo A al grupo B.

    Nota

    Actualmente, el cmdlet Import-CsRgsConfiguration requiere que los nombres de cola y flujo de trabajo del grupo A sean distintos de los nombres de cola y flujo de trabajo del grupo B. Si los nombres no son distintos, recibirá un error al ejecutar el cmdlet Import-CsRgsConfiguration y las colas y flujos de trabajo tendrán que cambiarse de nombre en el grupo B antes de continuar con el cmdlet Import-CsRgsConfiguration .

    Tiene dos opciones para importar la configuración del grupo de respuesta del grupo A al grupo B. La opción que use dependerá de si desea sobrescribir la configuración de nivel de aplicación del grupo B con la configuración de nivel de aplicación del grupo A.

    • Si desea sobrescribir la configuración del grupo B, ejecute el cmdlet Import-CsRgsConfiguration con la opción ReplaceExistingSettings :

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Si no desea sobrescribir la configuración del grupo B, use el cmdlet Import-CsRgsConfiguration sin la opción ReplaceExistingSettings .

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

    Advertencia

    Tenga en cuenta que si no desea sobrescribir la configuración de nivel de aplicación del grupo de copia de seguridad (grupo B) con la configuración del grupo de servidores principal (grupo A), la configuración de nivel de aplicación del grupo A se perderá si se pierde el grupo de servidores A, ya que la aplicación Grupo de respuesta solo puede almacenar un conjunto de opciones de configuración de nivel de aplicación por grupo. Cuando se implementa el grupo C para reemplazar el grupo A, es necesario volver a configurar la configuración de nivel de aplicación, incluido el archivo de audio de música en espera predeterminado.

  5. Compruebe que la importación de configuración del grupo de respuesta se haya realizado correctamente ejecutando los siguientes cmdlets para mostrar los grupos de respuesta importados. Tenga en cuenta que los grupos de respuesta importados siguen siendo propiedad del grupo 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. Para números no asignados, mueva los intervalos de números no asignados que usan "Anuncio" como servicio de anuncios seleccionado del grupo A al grupo B. Para ello:

    • Vuelva a crear todos los anuncios que se implementaron en el grupo A en el grupo B. Si se usaron archivos de audio al implementar los anuncios en el grupo A, estos archivos serán necesarios para volver a crear los anuncios en el grupo B. Para volver a crear los anuncios en el grupo B, use los cmdlets de New-CsAnnouncement , con el grupo B como servicio primario.

    • Retarget all the Unssigned Number ranges that are targeting an announcement in pool A to the newly deployed announcements in pool B. Run the following cmdlet for every Unssigned Number range targeting an announcement of pool A:

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

    Nota

    Este paso no es necesario para los intervalos de números sin asignar que usen "MU de Exchange" como servicio de anuncios seleccionado.

  7. Conmutación por error del grupo A al grupo B en el modo de recuperación ante desastres (DR), ejecutando el siguiente cmdlet:

    Invoke-CsPoolFailover -PoolFqdn <Pool A FQDN> -DisasterMode
    
  8. Construye el grupo C, pero no inicies ningún servicio en el grupo C.

    Tenga en cuenta que este paso se puede realizar simultáneamente con los pasos 5 y 6.

  9. Fuerza que los usuarios alojados en el grupo A se muevan al grupo C ejecutando el siguiente cmdlet:

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

    En este punto, los usuarios alojados en el grupo A empezarán a experimentar una interrupción del servicio. Esta interrupción continuará hasta el paso 16, momento en el que los servicios se inician en el grupo C.

  10. Forzar el directorio de conferencia del grupo A para pasar al grupo C mediante la ejecución del siguiente cmdlet:

    Move-CsConferenceDirectory -Identity <Conference Directory ID of Pool A> -TargetPool <Pool C FQDN> -Force
    
  11. Fuerza el objeto de contacto del operador automático de conferencia (CAA) para que pase del grupo A al grupo C ejecutando el siguiente cmdlet:

    Move-csApplicationEndpoint -Identity "<Pool A CAA Uri>" -targetApplicationPool <Pool C FQDN> -force
    
  12. Copiar el contenido de la conferencia del grupo B al grupo C.

  13. Exporte datos de usuario del grupo B e importe los datos de usuario al grupo C ejecutando los cmdlets siguientes:

    Export-CsUserData -PoolFqdn <Pool B Fqdn> -FileName <String>
    Import-CsUserData -PoolFqdn <Pool C Fqdn> -FileName <String>
    
  14. Restaure los datos de la aplicación de estacionamiento de llamadas de la agrupación A al grupo C y asigne los rangos de órbita del parque de llamadas de la A al grupo C.

    • Puede reasignar un rango de órbita de estacionamiento de llamadas del grupo A al grupo C a través del Panel de control de Lync Server o del Shell de administración de Lync Server. Para el Shell de administración de Lync Server, ejecute el siguiente cmdlet para cada rango de órbita del parque de llamadas asignado al grupo A (tenga en cuenta que el parámetro Identity hace referencia a los rangos de la órbita del parque de llamadas que pertenecen al grupo A):

      Set-CsCallParkOrbit -Identity "<Call Park Orbit Identity>" -CallParkService "service:ApplicationServer:<Pool C FQDN>"
      
    • Si se ha configurado una música en espera personalizada para el parque de llamadas en el grupo A, restaure el archivo de música en espera personalizado del parque de llamadas en el grupo C.

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

      Por ejemplo:

      Xcopy "Source Path" "<Pool C File Store Path>\OcsFileStore\coX-ApplicationServer-X\AppServerFiles\CPS\"
      
    • Por último, vuelva a configurar la configuración del parque de llamadas en el grupo C mediante el cmdlet Set-CsCpsConfiguration . La aplicación Desaparque de llamadas solo puede almacenar un conjunto de opciones de configuración y un archivo de audio de música en espera personalizado por grupo, y no se realiza una copia de seguridad de estas configuraciones ni se conservan en caso de desastre.

  15. Si el grupo de saltos siguiente para el chat persistente apunta al grupo A, realice y publique los cambios de topología para que el servidor del próximo salto apunte al grupo C.

    • En el generador de topología, cambie el grupo de chat persistente para que apunte al grupo C como su salto siguiente. Para ello, haga clic con el botón derecho en el grupo de chat persistente, después haga clic en la pestaña General y, a continuación, escriba el nombre del grupo C en grupo de saltos próximos.

    • Para iniciar los servicios en el grupo C, ejecute el siguiente cmdlet:

      Start-csWindowsService
      

    En este punto, la interrupción del servicio para los usuarios que originalmente se alojaban en el grupo A finaliza.

  16. Exporte flujos de trabajo de servicio del grupo de respuesta de Lync Server desde el grupo B propiedad del grupo A para importarlos al grupo C ejecutando el siguiente cmdlet:

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" 
    
  17. Importe flujos de trabajo de servicio del grupo de respuesta de Lync Server al grupo C desde el grupo B.

    Tiene dos opciones para importar la configuración del grupo de respuesta del grupo B al grupo C. La opción que use depende de si desea sobrescribir la configuración de nivel de aplicación del grupo C con la configuración de nivel de aplicación en el grupo B.

    • Si desea sobrescribir la configuración del grupo C, ejecute el cmdlet Import-CsRgsConfiguration con la opción ReplaceExistingSettings :

      Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool C FQDN>" -FileName "C:\RgsExportPrimary.zip"  -ReplaceExistingRgsSettings
      
    • Si no desea sobrescribir la configuración del grupo C, use el cmdlet Import-CsRgsConfiguration sin la opción ReplaceExistingSettings .

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

    Advertencia

    Tenga en cuenta que si no desea sobrescribir la configuración de nivel de aplicación del grupo C con la configuración del grupo de copias de seguridad (grupo B), la configuración de nivel de aplicación del grupo B se perderá porque la aplicación grupo de respuesta solo puede almacenar un conjunto de opciones de configuración de nivel de aplicación por grupo.

  18. Compruebe que la importación de configuración del grupo de respuesta se haya realizado correctamente ejecutando los siguientes cmdlets para mostrar los grupos de respuesta que se han importado al grupo 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. Cuando se haya comprobado la configuración importada en el grupo C, quite los grupos de respuesta propiedad del grupo principal del grupo B. Esto minimizará el tiempo de inactividad de los grupos de respuesta.

    En este paso se crea un nuevo archivo con la configuración exportada y, a continuación, se quita el archivo del grupo B.

    Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" -RemoveExportedConfiguration
    
  20. Muévase al grupo C los rangos de número no asignados que se han movido del grupo A al grupo B.

    • Vuelva a crear en el grupo C todos los anuncios que se han recreado a partir del grupo A en el grupo B. Si se usaron archivos de audio al implementar los anuncios que se van a mover, deberá usar estos archivos para volver a crear los anuncios en el grupo C. Para volver a crear los anuncios en el grupo C, use los cmdlets de New-CsAnnouncement , con el grupo C como servicio primario.

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

      Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool C FQDN>" -AnnouncementName "<New Announcement in pool C>"
      
    • (Opcional) Quite del grupo B los anuncios que se han vuelto a crear en el grupo C si ya no están en uso en el grupo B. Para quitar anuncios, use el cmdlet Remove-CsAnnouncement .

      Nota

      Este paso no es necesario para los intervalos de números sin asignar que usen "MU de Exchange" como servicio de anuncios.

  21. Para limpiar los datos de usuario del grupo A en el grupo B, ejecute el siguiente cmdlet:

    Remove-CsUserStoreBackupData -PoolFqdn <Pool B FQDN> -Verbose
    
  22. Haga lo siguiente en el Generador de topologías:

    • Desemparejar piscina A y piscina B. Emparejar piscina B y piscina C. A continuación, quite el grupo A de la topología y publíquelo. Para hacerlo:

      • En el Generador de topologías, haga clic con el botón secundario en el grupo B y, a continuación, haga clic en Editar propiedades.

      • Haga clic en Resistencia en el panel izquierdo.

      • En el cuadro debajo de Grupo de copia de seguridad asociado, seleccione Grupo C. Tenga en cuenta que el cuadro de selección Grupo de copia de seguridad asociado mostrará inicialmente el grupo A, porque el grupo B se asoció anteriormente con este grupo.

      • Seleccione Conmutación por error y conmutación por recuperación automática para voz y después haga clic en Aceptar.

        Cuando vea los detalles de este grupo, el grupo asociado aparecerá en el panel derecho debajo de Resistencia.

      • En el árbol de consola, haga clic con el botón derecho en el grupo A y, a continuación, haga clic en Eliminar.

      • Publique la topología.

  23. Ejecute la aplicación de arranque en el grupo C para instalar la aplicación de servicio de copia de seguridad y, a continuación, inicie la aplicación de servicio de copia de seguridad ejecutando lo siguiente desde la carpeta de implementación en una máquina local del grupo C:

    Run "%SYSTEMROOT%\Program Files\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe"
    Start-CsWindowsService -name LyncBackup
    
  24. Reinicie la aplicación de servicio de copia de seguridad en el grupo B ejecutando los siguientes cmdlets:

    Stop-CsWindowsService -name LyncBackup
    Start-CsWindowsService -name LyncBackup
    
  25. Si el grupo C es un grupo de servidores Standard Edition (SE) y el grupo B tiene CMS, instale manualmente la base de datos CMS en el grupo C ejecutando el siguiente cmdlet:

    Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <Pool C FQDN> -SqlInstanceName rtc
    
  26. Invocar el servicio de copia de seguridad para sincronizar el contenido de conferencia antiguo del grupo B al grupo C que se generó antes de emparejar B y C juntos, y para sincronizar nuevo contenido de conferencia de C al grupo B que se generó después de iniciar el grupo C y antes de que B y C se emparejasen. Para ello, ejecute los cmdlets siguientes:

    Invoke-CsBackupServiceSync -PoolFqdn <Pool C FQDN>
    Invoke-CsBackupServiceSync -PoolFqdn <Pool B FQDN>
    
  27. Para cada aplicación de rama con funciones de supervivencia X asociada al grupo A:

    • Para cerrar SBA X, ejecute el siguiente cmdlet:

      Stop-CsWindowsService
      
    • Cree un archivo que contenga una lista de usuarios alojados en SBA X. La lista será necesaria cuando los usuarios se muevan de nuevo a SBA X en el paso 30. Para ello, ejecute el siguiente cmdlet:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Export-Csv d:\sbaxusers.txt
      
    • Fuerza que los usuarios alojados en SBA X se muevan al grupo C ejecutando el siguiente cmdlet:

      Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force -Verbose
      
    • Actualice los datos de estos usuarios ejecutando primero los cmdlets siguientes:

      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}
      

      A continuación, ejecute este script:

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

      Nota

      Se producirá una interrupción del servicio para los usuarios que se alojan en SBAs asociados con el grupo A hasta que estos usuarios se muevan al grupo C.

  28. En el Generador de topologías, para cada SBA X asociado previamente con el grupo A, haga lo siguiente:

    • Cambie la asociación al grupo C. Para ello, haga clic en el sitio de la rama, expanda el nodo Dispositivos de rama con funciones de supervivencia o Servidores y haga clic en Dispositivo de rama con funciones de supervivencia. A continuación, seleccione el grupo de servidores front-end, grupo de servicios de usuario al que se conectará este dispositivo de rama con funciones de supervivencia como grupo C y, a continuación, haga clic en Siguiente.

    • Publique la topología. Para ello, en el árbol de consola, haga clic con el botón secundario en el nuevo dispositivo de rama con funciones de supervivencia, haga clic en Topología y, a continuación, haga clic en Publicar.

  29. Para cada SBA X asociado ahora con el grupo C:

    • Inicie SBA X ejecutando el siguiente cmdlet en el dispositivo de rama con capacidad de supervivencia:

      Start-CsWindowsService
      
    • Mueva los usuarios que originalmente estaban alojados en SBA X del grupo C a SBA X ejecutando el siguiente cmdlet.

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