StoreFront

Exportar e importar la configuración de StoreFront

Nota:

Solo puede importar configuraciones de StoreFront que sean exactamente de la misma versión de StoreFront que la instalación de StoreFront de destino. Cada actualización acumulativa se considera una versión de producto diferente para esta limitación.

Puede exportar toda la configuración de una implementación de StoreFront. Esto incluye tanto implementaciones de servidor único como configuraciones de grupos de servidores. Si ya existe una implementación en el servidor de importación, la configuración actual se borra y se reemplaza por la configuración contenida en el archivo de copia de seguridad. Si el servidor de destino es una instalación limpia de fábrica, se crea una nueva implementación utilizando la configuración importada almacenada en la copia de seguridad. La copia de seguridad de la configuración exportada tiene la forma de un único archivo .zip si no está cifrada, o un .ctxzip si elige cifrar el archivo de copia de seguridad cuando se crea.

Casos de uso para la exportación e importación de la configuración

  • Realice copias de seguridad de las implementaciones de StoreFront solo cuando estén en un estado de funcionamiento y confianza. Cualquier cambio en la configuración requiere una nueva copia de seguridad para reemplazar la anterior. No puede modificar las copias de seguridad existentes, ya que un hash de archivo del archivo backup.zip impide la modificación.
  • Realice una copia de seguridad ANTES de actualizar StoreFront para la recuperación ante desastres.
  • Clonar implementaciones de StoreFront de prueba existentes para ponerlas en producción.
  • Crear entornos de aceptación de usuario clonando implementaciones de producción en un entorno de prueba.
  • Mover StoreFront durante las migraciones del sistema operativo, como la actualización del alojamiento de Windows Server 2019 a Windows 2022. Las actualizaciones del sistema operativo in situ no son compatibles.
  • Crear grupos de servidores adicionales en implementaciones multigeográficas, como en grandes empresas con varios centros de datos.

Aspectos a tener en cuenta al exportar e importar una configuración de StoreFront

  • ¿Utiliza actualmente algún ejemplo de SDK de autenticación publicado por Citrix®, como la autenticación Magic Word o personalizaciones de autenticación de terceros? Si es así, debe instalar estos paquetes en TODOS los servidores de importación ANTES de importar una configuración que contenga métodos de autenticación adicionales. La importación de la configuración falla si los paquetes SDK de autenticación requeridos no están instalados en ninguno de los servidores de importación. Si importa una configuración en un grupo de servidores, instale los paquetes de autenticación en todos los miembros del grupo.
  • Puede cifrar o descifrar sus copias de seguridad de configuración. Los cmdlets de PowerShell de exportación e importación admiten ambos casos de uso.
  • Puede descifrar copias de seguridad cifradas (.ctxzip) más tarde, pero StoreFront no puede volver a cifrar archivos de copia de seguridad no cifrados (.zip). Si se requiere una copia de seguridad cifrada, realice la exportación de nuevo utilizando un objeto de credencial de PowerShell que contenga una contraseña de su elección.
  • El SiteID del sitio web en IIS donde StoreFront está instalado actualmente (servidor de exportación) debe coincidir con el SiteID del sitio web de destino en IIS (servidor de importación) donde desea restaurar la configuración de StoreFront de la que se hizo una copia de seguridad.

Cmdlets de PowerShell

Export-STFConfiguration

Parámetro Descripción
-TargetFolder (String) La ruta de exportación al archivo de copia de seguridad. Ejemplo: “$env:userprofile\desktop\”
-Credential (PSCredential Object) Especifique un objeto de credencial para crear un archivo de copia de seguridad .ctxzip cifrado durante la exportación. El objeto de credencial de PowerShell debe contener la contraseña que se utilizará para el cifrado y el descifrado. No utilice -Credential al mismo tiempo que el parámetro -NoEncryption. Ejemplo: $CredObject
-NoEncryption (Switch) Especifique que el archivo de copia de seguridad debe ser un .zip sin cifrar. No utilice -NoEncryption al mismo tiempo que el parámetro -Credential.
-ZipFileName (String) El nombre del archivo de copia de seguridad de la configuración de StoreFront. No añada una extensión de archivo, como .zip o .ctxzip. La extensión de archivo se añade automáticamente en función de si se especifica el parámetro -Credential o -NoEncryption durante la exportación. Ejemplo: “backup”
-Force (Boolean) Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los archivos de copia de seguridad existentes ya presentes en la ubicación de exportación especificada.

Importante:

El parámetro SiteID que se encontraba en StoreFront 3.5 quedó obsoleto en la versión 3.6. Ya no es necesario especificar el SiteID al realizar una importación, ya que siempre se utilizará el SiteID contenido en el archivo de copia de seguridad. Asegúrese de que el SiteID coincide con el sitio web de StoreFront existente ya configurado en IIS en el servidor de importación. Las importaciones de configuración de SiteID 1 a SiteID 2 NO son compatibles.

Import-STFConfiguration

Parámetro Descripción
-ConfigurationZip (String) La ruta completa al archivo de copia de seguridad que desea importar. Esto también debe incluir la extensión del archivo. Utilice .zip para archivos de copia de seguridad sin cifrar y .ctxzip para archivos cifrados. Ejemplo: $env:userprofile\desktop\backup.ctxzip
-Credential (PSCredential Object) Especifique un objeto de credencial para descifrar una copia de seguridad cifrada durante la importación. Ejemplo: $CredObject
-HostBaseURL (String) Si se incluye este parámetro, se utiliza la URL base del host que especifique en lugar de la URL base del host del servidor de exportación. Ejemplo: https://<importingserver>.example.com

Unprotect-STFConfigurationBackup

Parámetro Descripción
-TargetFolder (Cadena)
-Credential (Objeto PSCredential)
La ruta de exportación al archivo de copia de seguridad. Ejemplo: $env:userprofile\desktop
Utilice este parámetro para crear una copia sin cifrar del archivo de copia de seguridad cifrado. Especifique el objeto de credencial de PowerShell que contiene la contraseña que se utilizará para el descifrado. Ejemplo: $CredObject
-EncryptedConfigurationZip (Cadena) La ruta completa del archivo de copia de seguridad cifrado que desea descifrar. Debe especificar la extensión de archivo .ctxzip. Ejemplo: $env:userprofile\\desktop\\backup.ctxzip
-OutputFolder (Cadena)
-Force (Booleano)
La ruta para crear una copia sin cifrar (.zip) del archivo de copia de seguridad cifrado (.ctxzip). La copia cifrada original de la copia de seguridad se conserva para que pueda reutilizarse. No especifique un nombre de archivo ni una extensión de archivo para la copia sin cifrar. Ejemplo: $env:userprofile\desktop
Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los archivos de copia de seguridad existentes ya presentes en la ubicación de exportación especificada.

Ejemplos de exportación e importación de configuración

Importar los cmdlets de StoreFront a la sesión actual de PowerShell

Abra el Entorno de scripting integrado (ISE) de PowerShell en el servidor de StoreFront y ejecute:

$env:PSModulePath = [Environment]::GetEnvironmentVariable('PSModulePath','Machine')
$SDKModules = 'C:\Program Files\Citrix\Receiver StoreFront\PowerShellSDK\Modules\Citrix.StoreFront'
Import-Module "$SDKModules\Citrix.StoreFront.psd1" -verbose
Import-Module "$SDKModules.Authentication\Citrix.StoreFront.Authentication.psd1" -verbose
Import-Module "$SDKModules.Roaming\Citrix.StoreFront.Roaming.psd1" -verbose
Import-Module "$SDKModules.Stores\Citrix.StoreFront.Stores.psd1" -verbose
Import-Module "$SDKModules.WebReceiver\Citrix.StoreFront.WebReceiver.psd1" -verbose
<!--NeedCopy-->

Escenarios de servidor único

Crear una copia de seguridad sin cifrar de una configuración existente en el Servidor A y restaurarla en la misma implementación

Exporte la configuración del servidor del que desea hacer una copia de seguridad.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->

Copie el archivo backup.zip en una ubicación segura. Puede usar esta copia de seguridad para la recuperación ante desastres y restaurar el servidor a su estado anterior.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->

Haga una copia de seguridad de una configuración existente en el Servidor A y restáurela en el Servidor B para crear un clon de un servidor existente

Exporte la configuración del servidor del que desea hacer una copia de seguridad.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->

Copie el archivo backup.zip en el escritorio del servidor B.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://serverB.example.com"
<!--NeedCopy-->

StoreFront ya está implementado en un sitio web personalizado en IIS. Restaure la configuración en otra implementación de sitio web personalizado

El Servidor A tiene StoreFront implementado en una ubicación de sitio web personalizada en lugar del sitio web predeterminado habitual dentro de IIS. El SiteID de IIS para el segundo sitio web creado en IIS es 2. La ruta física del sitio web de StoreFront puede estar en otra unidad que no sea del sistema, como d:\, o en la unidad del sistema predeterminada c:\, pero debe usar un SiteID de IIS mayor que 1.

Se ha configurado un nuevo sitio web llamado StoreFront dentro de IIS, que utiliza SiteID = 2. StoreFront ya está implementado en el sitio web personalizado en IIS con su ruta física en la unidad d:\inetpub\wwwrooot.

Captura de pantalla de la ventana Agregar sitio web de IIS

  1. Exporte una copia de la configuración del Servidor A.
  2. En el Servidor B, configure IIS con un nuevo sitio web llamado StoreFront, que también utiliza SiteID 2.
  3. Importe la configuración del Servidor A en el Servidor B. Se utiliza el ID del sitio contenido en la copia de seguridad y debe coincidir con el sitio web de destino donde desea importar la configuración de StoreFront.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://serverB.example.com"
    <!--NeedCopy-->
    

Escenarios de grupo de servidores

Escenario 1: Realizar una copia de seguridad de una configuración de grupo de servidores existente y restaurarla más tarde en la misma implementación de grupo de servidores

Se realizó una copia de seguridad de la configuración anterior cuando solo dos servidores StoreFront, 2012R2-A y 2012R2-B, eran miembros del grupo de servidores. Dentro del archivo de respaldo hay un registro de la CitrixClusterMembership en el momento en que se realizó la copia de seguridad, que contiene solo los dos servidores originales 2012R2-A y 2012R2-B. La implementación del grupo de servidores StoreFront ha aumentado de tamaño desde que se realizó la copia de seguridad original debido a la demanda empresarial, por lo que se ha añadido un nodo adicional, 2012R2-C, al grupo. La configuración subyacente de StoreFront del grupo de servidores contenida en el respaldo no ha cambiado. La CitrixClusterMembership actual de tres servidores debe mantenerse incluso si se importa un respaldo antiguo que contiene solo los dos nodos originales del grupo de servidores. Durante la importación, la pertenencia actual al clúster se conserva y luego se vuelve a escribir una vez que la configuración se ha importado correctamente en el servidor principal. La importación también conserva la CitrixClusterMembership actual si se eliminaron nodos del grupo de servidores desde que se realizó la copia de seguridad original.

  1. Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.

    Captura de pantalla de CitrixClusterMembersProperties en el grupo 1

  2. Más tarde, agregue un servidor adicional, 2012R2-C, al grupo de servidores existente.

    Captura de pantalla de CitrixClusterMembersProperties en el grupo 2

  3. La configuración del grupo de servidores debe restaurarse a un estado de funcionamiento anterior conocido. StoreFront realiza una copia de seguridad de la CitrixClusterMembership actual de tres servidores durante el proceso de importación y luego la restaura una vez que la importación se ha realizado correctamente.

  4. Importe la configuración del Grupo de servidores 1 de nuevo en el nodo 2012R2-A.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup1.example.com"
    <!--NeedCopy-->
    
  5. Propague la configuración recién importada a todo el grupo de servidores, para que todos los servidores tengan una configuración coherente después de la importación.

Escenario 2: Realizar una copia de seguridad de una configuración existente del Grupo de servidores 1 y usarla para crear un nuevo Grupo de servidores en una instalación predeterminada de fábrica diferente. Luego, puede agregar otros miembros nuevos del grupo de servidores al nuevo servidor principal

Se crea el Grupo de servidores 2, que contiene dos servidores nuevos, 2012R2-C y 2012R2-D. La configuración de este grupo se basará en la de una implementación existente, el Grupo de servidores 1, que también contiene dos servidores 2012R2-A y 2012R2-B. La CitrixClusterMembership contenida en el archivo de respaldo no se utiliza al crear un nuevo grupo de servidores. La CitrixClusterMembership actual siempre se respalda y luego se restaura después de que la importación se realiza correctamente. Al crear una nueva implementación utilizando una configuración importada, el grupo de seguridad de CitrixClusterMembership contiene solo el servidor importador hasta que se unen servidores adicionales al nuevo grupo. El Grupo de servidores 2 es una nueva implementación y está destinado a coexistir junto con el Grupo de servidores 1. Especifique el parámetro -HostBaseURL. Este grupo se creará utilizando una nueva instalación predeterminada de fábrica de StoreFront.

  1. Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.

  2. Importe la configuración del Grupo de servidores 1 en el nodo 2012R2-C, que será el servidor principal utilizado para administrar el Grupo de servidores 2 recién creado.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup2.example.com"
    <!--NeedCopy-->
    
  3. Una los servidores adicionales que formarán parte de la nueva implementación del Grupo de servidores 2. La propagación de la configuración recién importada del Grupo de servidores 1 a todos los nuevos miembros del Grupo de servidores 2 es automática, ya que esto forma parte del proceso de unión normal cuando se agrega un nuevo servidor.

Escenario 3: Hacer una copia de seguridad de una configuración existente del Grupo de servidores A y usarla para sobrescribir la configuración existente del Grupo de servidores B

El Grupo de servidores 1 y el Grupo de servidores 2 ya existen en dos centros de datos separados. Se realizan muchos cambios de configuración de StoreFront en el Grupo de servidores 1, los cuales debe aplicar al segundo grupo en el otro centro de datos. Puede transferir los cambios del primero al segundo. No utilice CitrixClusterMembership dentro del archivo de copia de seguridad en el Grupo de servidores 2. Especifique el parámetro -HostBaseURL durante la importación, ya que la URL base del host de dicho grupo no debe cambiarse al mismo FQDN que utiliza actualmente el Grupo de servidores 1. El Grupo de servidores 2 es una implementación existente.

  1. Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.

  2. Importe la configuración del Grupo de servidores 1 en la instalación predeterminada de fábrica en el nodo 2012R2-C, que será el servidor principal del nuevo Grupo de servidores 2.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -NoEncryption -HostBaseURL "https://servergroup2.example.com"
    <!--NeedCopy-->
    

Cree una copia de seguridad cifrada de la configuración de su servidor

Un objeto de credencial de PowerShell comprende tanto un nombre de usuario de cuenta de Windows como una contraseña. Los objetos de credencial de PowerShell garantizan que su contraseña permanezca protegida en la memoria.

Nota:

Para cifrar un archivo de copia de seguridad de configuración, solo necesita la contraseña para realizar el cifrado y el descifrado. El nombre de usuario almacenado dentro del objeto de credencial no se utiliza. Debe crear un objeto de credencial que contenga la misma contraseña dentro de la sesión de PowerShell que se utiliza tanto en los servidores de exportación como de importación. Dentro del objeto de credencial puede especificar cualquier usuario.

PowerShell requiere que especifique un usuario al crear un nuevo objeto de credencial. Este código de ejemplo obtiene el usuario de Windows actualmente conectado para mayor comodidad.

Cree un objeto de credencial de PowerShell dentro de su sesión de PowerShell en el servidor de exportación.

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
<!--NeedCopy-->

Exporte la configuración a backup.ctxzip, que es un archivo zip cifrado.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
<!--NeedCopy-->

Cree un objeto de credencial de PowerShell idéntico dentro de su sesión de PowerShell en el servidor de importación.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->

Desproteger un archivo de copia de seguridad cifrado existente

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)

Unprotect-STFConfigurationExport -encryptedConfigurationZip "$env:userprofile\desktop\backup.ctxzip" -credential $CredObject -outputFolder "c:\StoreFrontBackups" -Force
<!--NeedCopy-->
Exportar e importar la configuración de StoreFront