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 prepara para la recuperación de archivos depende de dónde se almacenan los datos:

  • Un sistema de almacenamiento de terceros compatible: Si utiliza un sistema de almacenamiento de terceros con controlador de zonas de almacenamiento, su 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 elimina un archivo tiene la capacidad de recuperar el archivo 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. Después del 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 adecuado, considere una de estas soluciones:
    • Aumente la cantidad de tiempo que un archivo permanece en la papelera de reciclaje de ShareFile. Para ello, cambie el valor de la configuración Period en C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config. Para obtener más información, consulte Personalizar operaciones de caché de almacenamiento. Tenga en cuenta que aumentar el tiempo de retención también aumenta la cantidad de almacenamiento de información de terceros necesario.
    • Cree un backup local de sus archivos StorageZone cada siete días y determine la directiva de retención adecuada para los backups.
  • Almacenamiento local: Si utiliza un recurso compartido de mantenimiento local para el almacenamiento de datos privado, es responsable de realizar 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 de archivo correspondientes 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 y realice copia de seguridad de su configuraciónuna copia de seguridad del almacenamiento de archivos local.

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

  • Busque en las zonas de almacenamiento los registros de datos de ShareFile para una fecha y hora concretas y, a continuación, etiqueta los archivos y carpetas que desee restaurar. ShareFile agrega los elementos etiquetados a una cola de recuperación. A continuación, ejecute 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 su copia de seguridad de ShareFile Data.

  • Reconcilie los metadatos almacenados en la nube de ShareFile con el almacenamiento local cuando no pueda recuperar datos del almacenamiento local. La función de conciliació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

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 manejar el proceso de recuperación. Este archivo almacena las ubicaciones de almacenamiento y copia de seguridad de archivos.
Recovery.psm1 Módulo PowerShell que gestiona las operaciones de cola de recuperación.
recovery.log Archivo de registro que almacena la salida de un proceso de recuperación.
recoveryerror.log Archivo de registro que almacena los errores en el proceso de recuperación.
LitJson.dll Una biblioteca de.NET para manejar conversiones desde y hacia cadenas JSON (notación de objetos JavaScript).

Para configurar la carpeta de copia de seguridad

En el servidor de copia de seguridad, cree la carpeta donde hará una copia de seguridad de la carpeta persistentstorage.

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

Si la ubicación de copia de seguridad 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 archivos de la ubicación de copia de seguridad a la ubicación especificada en el script de recuperación de 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

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 de una sola vez es necesaria. Los siguientes ejemplos de comandos utilizan la carpeta de instalación predeterminada del controlador de zonas de almacenamiento.

  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 es posible que deba cambiar la directiva de ejecución de PowerShell.

    1. Determine si la 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 CLRVersion correcta, escriba:

    $psversiontable

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

    1. Ejecute el Bloc de notas como administrador.

    2. Cree 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>
      
    3. Elija Archivo > Guardar como, nombre al archivo 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 CLRVersion es correcta.

  4. Cierre la ventana de PowerShell e inicie PowerShell mediante 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 PsExec.exe.

  5. Vaya a la carpeta 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 Recuperación’

  6. Importe el módulo Recovery.psm1:

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

  7. Para crear la cola de recuperación, escriba: New-Scqueue -name recovery -operation recovery

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

    Para ver la nueva carpeta, abra un explorador de archivos y vaya a:

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

  8. Personalice el script de recuperación de PowerShell para su ubicación, 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 PowerShell para manejar el proceso de recuperación. Este archivo incluye las ubicaciones de almacenamiento y copia de seguridad de archivos que debe especificar para su sitio.

  1. En el controlador de zonas de almacenamiento, vaya al script de recuperación de PowerShell:

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

  2. Modifique el script de la siguiente manera:

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

    b. Establezca 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. Cree un archivo de prueba y cárguelo a ShareFile.

  2. Después de una hora más o menos, verifique que el archivo aparezca en almacenamiento persistente (en la ruta especificada para $backupRoot).

  3. Eliminar el archivo de ShareFile: En la herramienta de administrador de ShareFile, haga clic en 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 que se eliminara el archivo.

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

  6. Haga clic en el cuadro de texto Fecha de recuperación y seleccione una fecha y hora antes de que se elimine el archivo y después de que se cargue.

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

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

  8. Seleccione la carpeta que desea contener 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 ser restaurado. 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. Vaya a 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
    ```
    

    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 desde el sitio web de ShareFile.

Comandos relacionados de PowerShell

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

  • Get-RecoveryPendingFileIDs

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

    Get-Help Get-RecoveryPendingFileIds -full

  • Set-RecoveryQueueItemsStatus

    Establece un estado para todos o los elementos especificados de la cola de recuperación. 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 para la recuperación

En caso de que se necesite 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 grupo y especifique el usuario para ejecutar la tarea, ya sea Servicio de red o un usuario con nombre que tenga permisos de escritura en la ubicación de almacenamiento.

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

  3. Para crear un desencadenador, en la ficha Desencadenadores, haga clic en Nuevo.
  4. En Iniciar la tarea, elija En una programación y, a continuación, especifique una programación.
  5. Para crear una acción, en la ficha Acciones, haga clic en Nuevo.

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

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

    c. En Inicio en, especifique la carpeta Recuperación ante desastres 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 Delete Service se establecerá 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 de eliminación del servicio tras la actualización

En algunos casos de actualización, el valor DeletePeriod se establecerá en null en “FileDeleteService.exe.config”. Cuando se establece en nulo, el Período de eliminación será predeterminado 45 días, el número predeterminado de días antes de que un archivo que se ha eliminado de ShareFile se elimine del almacenamiento físico.

Para modificar 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 archivos y carpetas temporales. Para modificar el temporizador, modifique el archivo FileDeleteService.exe.config en la ubicación siguiente: C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config