Storage zones controller

Preparar el controlador de zonas de almacenamiento para la recuperación de archivos

Advertencia:

La función de recuperación de ShareFile no realiza automáticamente una copia de seguridad de la ubicación de almacenamiento persistente. Usted es responsable de elegir una utilidad de copia de seguridad y ejecutarla cada 1 a 7 días.

La forma en que se prepare para la recuperación de archivos depende del lugar donde se almacenen los datos:

  • Un sistema de almacenamiento de terceros compatible: Si utilizas un sistema de almacenamiento de terceros con controlador de zonas de almacenamiento, el almacenamiento de terceros es redundante y no se requiere una copia de seguridad local. Sin embargo, tenga en cuenta que un usuario de ShareFile que elimine un archivo puede recuperarlo de la papelera de reciclaje durante un breve período. No se puede recuperar un archivo de la papelera de reciclaje de ShareFile después de 45 días. Tras el período de recuperación, el archivo se elimina de la zona y, por lo tanto, del almacenamiento redundante de terceros. Si ese tiempo de recuperación no es el adecuado, considere una de estas soluciones:
    • Para evitar que el servicio de limpieza de archivos de StorageZone Controller purgue el archivo real de su ubicación de almacenamiento local, cambie el valor de la configuración Periodo en C:\\inetpub\\wwwroot\\Citrix\\StorageCenter\\SCFileCleanSvc\\FileDeleteService.exe.config. Para obtener más información, consulte Personalizar las operaciones de memoria caché de almacenamiento. Tenga en cuenta que aumentar el tiempo de retención también aumenta la cantidad de almacenamiento de terceros necesaria.
    • Cree una copia de seguridad local de sus archivos de StorageZone cada siete días y determine la directiva de retención adecuada para las copias de seguridad.
  • Almacenamiento local: Si utiliza un recurso compartido mantenido localmente para el almacenamiento de datos privados, es responsable de hacer una copia de seguridad de las entradas de registro y almacenamiento de archivos locales del controlador de zonas de almacenamiento local. ShareFile archiva los metadatos del archivo correspondiente que residen en la nube de ShareFile durante 3 años. Importante: Para protegerse contra la pérdida de datos, es fundamental que tome una instantánea del servidor del controlador de zonas de almacenamiento, haga una copia de seguridad de su configuracióny haga una copia de seguridad del almacenamiento de archivos local.

Después de preparar el controlador de zonas de almacenamiento para la recuperación de archivos, tal como se describe en este tema, puede utilizar la consola de administración de ShareFile para:

  • Explore sus zonas de almacenamiento en busca de registros de ShareFile Data para una fecha y hora determinadas y, a continuación, etiquete los archivos y carpetas que desee restaurar. ShareFile agrega los elementos etiquetados a una cola de recuperación. A continuación, ejecuta un script de recuperación para restaurar los archivos de la copia de seguridad a la ubicación de almacenamiento persistente.

    Para obtener más información, consulte Recuperar archivos y carpetas de la copia de seguridad de ShareFile Data.

  • Reconcilie los metadatos almacenados en la nube de ShareFile con su almacenamiento local cuando no pueda recuperar datos de su almacenamiento local. La función de reconciliación de ShareFile elimina permanentemente de la nube de ShareFile los metadatos de los archivos que ya no se encuentran en una zona de almacenamiento en una fecha y hora especificadas.

    Para obtener más información, consulte Reconciliar la nube de ShareFile con una zona de almacenamiento

Requisitos previos

  • Una máquina física o virtual dedicada con 2 CPU y 4 GB de RAM
  • Windows Server 2012 R2 (centro de datos, estándar o Essentials)
  • Windows Server 2016
  • Windows Server 2019
  • Windows PowerShell (versiones de 32 y 64 bits) debe admitir ensamblados en tiempo de ejecución de .NET 4. Para obtener más información, consulte la sección “Scripts y comandos de PowerShell” en los requisitos del sistema del controlador de zonas de almacenamiento.

  • PsExec.exe: PsExec le permite iniciar PowerShell mediante la cuenta de servicio de red. También puede usar PsExec para programar tareas de recuperación. Descargue PsExec.exe en https://docs.microsoft.com/en-us/sysinternals/downloads/psexec y siga las instrucciones de instalación de esa página.

Resumen de los archivos utilizados para la recuperación ante desastres

Los siguientes archivos, ubicados en C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery, se utilizan para la recuperación ante desastres.

Nombre de archivo Descripción
DoRecovery.ps1 Script de PowerShell ejecutado por el programador de tareas de Windows para gestionar el proceso de recuperación. Este archivo almacena las ubicaciones de copia de seguridad y almacenamiento de archivos.
Recovery.psm1 Módulo de PowerShell que gestiona las operaciones de la cola de recuperación.
recovery.log Archivo de registro que almacena el resultado de un proceso de recuperación.
recoveryerror.log Archivo de registro que almacena los errores del proceso de recuperación.
LitJson.dll Una biblioteca.Net para gestionar las conversiones desde y hacia cadenas JSON (notación de objetos de JavaScript).

Para configurar la carpeta de respaldo

En el servidor de respaldo, cree la carpeta en la que realizará la copia de seguridad de la carpeta de almacenamiento persistente.

Las zonas de almacenamiento para la copia de seguridad de archivos de ShareFile Data deben seguir el mismo diseño que el almacenamiento persistente del controlador de zonas de almacenamiento.

Si su ubicación de respaldo no sigue el mismo diseño que el almacenamiento persistente del controlador de zonas de almacenamiento, debe realizar un paso adicional durante el proceso de recuperación para copiar los archivos de la ubicación de respaldo a la ubicación que especifique en el script de Recovery PowerShell.

Diseño de almacenamiento

Diseño de respaldo

\\\PrimaryStorageIP
  \StorageLocation
   \persistentstorage
    \sf-us-1
     \a024f83e-b147-437e-9f28-e7d03634af42
      \fi3d85dc_1d6c_49b0_8faa_1f36ef3d83b5
       \fi7d5cbb_93c8_43f0_a664_74f27e72bc83
        \fi47cd7e_64c4_47be_beb7_1207c93c1270

\\\BackupStorageIP
 \BackupLocation
  \persistentstorage
   \sf-us-1
    \a024f83e-b147-437e-9f28-e7d03634af42
     \fi3d85dc_1d6c_49b0_8faa_1f36ef3d83b5
      \fi7d5cbb_93c8_43f0_a664_74f27e72bc83
       \fi47cd7e_64c4_47be_beb7_1207c93c1270
<!--NeedCopy-->

Importante:

La función de recuperación de ShareFile no realiza automáticamente una copia de seguridad de la ubicación de almacenamiento persistente. Usted es responsable de elegir una utilidad de copia de seguridad y ejecutarla cada 1 a 7 días.

Para crear una cola de recuperación ante desastres

Esta configuración única es obligatoria. Los siguientes ejemplos de comandos utilizan la carpeta de instalación del controlador de zonas de almacenamiento predeterminada.

  1. En el controlador de zonas de almacenamiento, ejecute PowerShell como administrador.

  2. El script de PowerShell utilizado en este procedimiento no está firmado, por lo que puede que tenga que cambiar la directiva de ejecución de PowerShell.

    1. Determine si su directiva de ejecución de PowerShell le permite ejecutar scripts locales sin firmar: PS C:\ >Get-ExecutionPolicy

      Por ejemplo, una directiva de RemoteSigned, Sin restricciones o Bypass permite ejecutar scripts sin firmar.

    2. Para cambiar la directiva de ejecución de PowerShell: PS C:\ >Set-ExecutionPolicy RemoteSigned

  3. Para comprobar que PowerShell tiene la versión CLR correcta, escriba:

    Tabla de versiones $ps

    El valor de CLRVersion debe ser 4.0 o superior para que PowerShell pueda cargar ensamblados de .NET en scripts. Si no es así, cámbielo para las versiones de 32 y 64 bits de Windows PowerShell de la siguiente manera:

    1. Ejecute NotePad como administrador.

    2. Crea un archivo con el siguiente contenido.

          <?xml version="1.0"?>
          <configuration>
              <startup useLegacyV2RuntimeActivationPolicy="true">
                  <supportedRuntime version="v4.0.30319"/>
                  <supportedRuntime version="v2.0.50727"/>
              </startup>
          </configuration>
      <!--NeedCopy-->
      
    3. Seleccione Archivo > Guardar como, asigne al archivo el nombre powershell.exe.config y guárdelo en las siguientes ubicaciones:

      C:\Windows\System32\WindowsPowerShell\v1.0

      C:\Windows\SysWOW64\WindowsPowerShell\v1.0

    4. Cierre la ventana de PowerShell, abra una nueva como administrador y escriba $psversiontable para comprobar que la versión CLR es correcta.

  4. Cierre la ventana de PowerShell e inicie PowerShell con PsExec.exe de la siguiente manera:

    1. Abra una ventana del símbolo del sistema como administrador.

    2. Vaya a la ubicación de PsExec.exe e introduzca:

      PsExec.exe -i -u “NT AUTHORITY\ NetworkService” C:\Windows\SysWOW64\WindowsPowerShell\v1.0\ powershell

    3. Haga clic en Aceptar para aceptar el contrato de licencia de PsExec.exe.

  5. Navegue hasta la carpeta de herramientas de recuperación ante desastres en la carpeta de instalación del controlador de zonas de almacenamiento:

    cd ‘C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery’

  6. Importe el módulo Recovery.psm1:

    Módulo de importación. \ Recovery.psm1

  7. Para crear la cola de recuperación, introduzca: new-SCQueue -name recovery -operation recovery

    El resultado de ese comando incluye el nombre de la cola creada. Por ejemplo: Se creó la cola 92736b5d-1cff-4760-92c8-d8b04dc92cb2

    Para ver la nueva carpeta, abre un explorador de archivos y navega hasta:

    \\ server\ (Su ubicación de almacenamiento principal)\ Queue. Verás la carpeta Queue, como 92736b5d-1cff-4760-92c8-d8b04dc92cb2.

  8. Personalice el script de recuperación de PowerShell para su ubicación, tal como se describe en la siguiente sección.

Para personalizar el script de recuperación de PowerShell para su ubicación

El programador de tareas ejecuta el script DoRecovery.ps1 de PowerShell para gestionar el proceso de recuperación. Este archivo incluye las ubicaciones de copia de seguridad y almacenamiento de archivos que debe especificar para su sitio.

  1. En el controlador de zonas de almacenamiento, navegue hasta el script de recuperación de PowerShell:

    C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery\ DoRecovery.ps1

  2. Modifique el guion de la siguiente manera:

    a. Configure el parámetro $backupRoot para que apunte a la ruta UNC de la ubicación de la copia de seguridad. Por ejemplo: $backupRoot = “\\10.10.10.11\(YourBackupLocation)\persistentstorage”

    b. Configure el parámetro $storageRoot para que apunte a la ruta UNC del almacenamiento persistente del controlador de zonas de almacenamiento. Por ejemplo: $storageRoot = “\\10.10.10.10\StorageLocation\persistentstorage”

Para probar el proceso de recuperación

  1. Crea un archivo de prueba y súbelo a ShareFile.

  2. Transcurrida aproximadamente una hora, compruebe que el archivo aparezca en el almacenamiento persistente (en la ruta especificada para $backupRoot).

  3. Eliminar el archivo de ShareFile: en la herramienta de administración de ShareFile, haga clic en la papelera de reciclaje, seleccione el archivo y, a continuación, haga clic en Eliminar permanentemente.

  4. Elimine el archivo del almacenamiento persistente.

    Este paso vuelve a crear la acción que ShareFile realizaría 45 días después de eliminar el archivo.

  5. En la herramienta de administración de ShareFile, vaya a Administración > Zonas de almacenamiento, haga clic en la zona y, a continuación, en Recuperar archivos.

  6. Haga clic en el cuadro de texto Fecha de recuperación y seleccione la fecha y la hora antes de eliminar el archivo y después de subirlo.

    Aparecerá la lista de archivos de la zona de almacenamiento en la fecha y hora especificadas.

  7. Seleccione la casilla de verificación del archivo.

  8. Seleccione la carpeta que contenga los archivos restaurados y, a continuación, haga clic en Restaurar.

    El archivo se agrega a la cola de recuperación y está listo para restaurarse. Cuando el archivo se recupera correctamente, la pantalla cambia para mostrar la carpeta que ahora contiene el archivo recuperado.

  9. Para recuperar el archivo:

    a. Abra una ventana del símbolo del sistema como administrador.

    b. Navegue hasta la ubicación de PsExec.exe y, a continuación, escriba:

    ```
    PsExec.exe -i -u "NT AUTHORITY\NetworkService" C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell
    <!--NeedCopy--> ```
    

    c. En la ventana de PowerShell, vaya a:

    cd C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery

    d. Ejecute el script de recuperación:

    .\DoRecovery.ps1

    La ventana de PowerShell incluirá el mensaje “Elemento recuperado”. El archivo se agrega a la ubicación de almacenamiento persistente.

  10. Descargue el archivo restaurado del sitio web de ShareFile.

Comandos de PowerShell relacionados

Los siguientes comandos de PowerShell admiten la recuperación ante desastres.

  • Get-RecoveryPendingFileIDs

    Obtiene la lista de identificadores de archivos necesarios para la recuperación. Para la sintaxis y los parámetros, utilice este comando:

    Get-Help Get-RecoveryPendingFileIDs -full

  • Set-RecoveryQueueItemsStatus

    Establece el estado de todos los elementos de la cola de recuperación o de los especificados. Esto sobrescribe el estado de recuperación existente en la cola. Para la sintaxis y los parámetros, utilice este comando:

    Get-Help Set-RecoveryQueueItemsStatus -full

Para crear y programar una tarea de recuperación

En caso de que sea necesaria una tarea de recuperación programada, siga los pasos que se indican a continuación.

  1. Inicie el Programador de tareas de Windows y, en el panel Acciones, haga clic en Crear tarea.
  2. En la ficha General:

    a. Escriba un nombre significativo para la tarea.

    b. En Opciones de seguridad, haga clic en Cambiar usuario o grupoy especifique el usuario que ejecutará la tarea, ya sea el servicio de red o un usuario nominal que tenga permisos de escritura en la ubicación de almacenamiento.

    c. En el menú Configurar para, seleccione el sistema operativo del servidor en el que se ejecutará la tarea.

  3. Para crear un disparador, en la ficha Desencadenadores, haga clic en Nuevo.
  4. En Comenzar la tarea, elija Según un cronograma y, a continuación, especifique una programación.
  5. Para crear una acción, en la ficha Acciones, haga clic en Nueva.

    a. En Acción, elija Iniciar un programa y especifique la ruta completa al programa. Por ejemplo: C:\Windows\System32\cmd.exe.

    b. Para Agregar argumentos, escriba: /c “c:\windows\syswow64\WindowsPowerShell\v1.0\PowerShell.exe -File .\DoRecovery.ps1” >> .\recovery.log 2>>.\recoveryerror.log

    c. En Empezar en, especifique la carpeta Disaster Recovery en la ubicación de instalación del controlador de zonas de almacenamiento. Por ejemplo: c:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery

Eliminar el período predeterminado del servicio

A partir de StorageZone Controller 4.0, el temporizador de eliminación del servicio se configurará en 45 días. El período predeterminado de 45 días sobrescribirá cualquier configuración anterior. Para modificar el período predeterminado, modifique FileDeleteService.exe.config en C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc

<!--No. of days to keep data blob in active storage after deletion-->

<add key="Period" value="45"/>

Modificar el período predeterminado del servicio de eliminación después de la actualización

En algunos escenarios de actualización, el valor DeletePeriod se establecerá en nulo en “FileDeleteService.exe.config”. Si se establece en nulo, el período de eliminación se establece de forma predeterminada en 45 días, el número predeterminado de días antes de que un archivo que se haya eliminado de ShareFile se elimine del almacenamiento físico.

Para modificar el DeletePeriod en el controlador de zonas de almacenamiento, modifique el archivo FileDeleteService.exe.config en la siguiente ubicación: C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config

Tras una instalación limpia del controlador de zonas de almacenamiento, el servicio de eliminación se ejecutará cada 8 horas para limpiar los archivos y carpetas temporales. Para modificar el temporizador, modifique el archivo FileDeleteService.exe.config en la siguiente ubicación: C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config

Preparar el controlador de zonas de almacenamiento para la recuperación de archivos