Preparar el StorageZones Controller 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 de dónde se almacenen los datos:

  • Un sistema de almacenamiento de terceros compatible : si utiliza un sistema de almacenamiento de terceros con StorageZones Controller, 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 Periodo en C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config. Para obtener más información, consulte Personalizar las 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 una copia de seguridad local de sus archivos StorageZone cada siete días y determine la política de retención adecuada para los backups.
  • Almacenamiento local : si utiliza un recurso compartido mantenido localmente para el almacenamiento privado de datos, es responsable de realizar una copia de seguridad de las zonas de almacenamiento locales del Controller de almacenamiento local de archivos y entradas del Registro. 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 StorageZones Controller y realice copia de seguridad de su configuraciónuna copia de seguridad del almacenamiento de archivos local.

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

  • Examine las zonas de almacenamiento en busca de registros de datos de ShareFile para una fecha y hora concretas 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, 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 Recupere archivos y carpetas de su copia de seguridad de ShareFile Data.

  • Reconcilie los metadatos almacenados en la nube 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, consulteReconciliar la nube de ShareFile con una zona de almacenamiento

Requisitos previos

  • Windows Server 2012 R2 o Windows Server 2008 R2
  • 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 “scripts y comandos de PowerShell” enrequisitos del sistema del StorageZones Controller.

  • Psexec.exe - PSExec le permite iniciar PowerShell utilizando la cuenta de servicio de red. También puede utilizar PSExec para programar tareas de recuperación. Descargue Psexec.exe desde http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx y siga las instrucciones de instalación en 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 controlar el proceso de recuperación. Este archivo almacena las ubicaciones de copia de seguridad y almacenamiento de archivos.
recuperación.psm1 Módulo PowerShell que controla 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.Net para manejar conversiones desde y hacia cadenas JSON (JavaScript Object Notation).

Para configurar la carpeta de copia de seguridad

En el servidor de copia de seguridad, cree la carpeta donde realizará una copia de seguridad de la carpeta de almacenamiento persistente.

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 StorageZones Controller.

Si la ubicación de copia de seguridad no sigue el mismo diseño que el almacenamiento persistente del StorageZones Controller, 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 copia de seguridad

\\\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 StorageZones Controller.

  1. En el StorageZones Controller, 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, Unrestricted o Bypass le 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 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 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. Seleccione Archivo > Guardar como, asigne un 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 verificar que CLRVersion sea 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 acuerdo de licencia Psexec.exe.

  5. Vaya a la carpeta Herramientas de recuperación ante desastres en la carpeta de instalación del StorageZones Controller:

    cd ‘C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recuperación’

  6. Importe el módulo Recovery.psm1:

    Módulo de importación. \ recuperación.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 navegue hasta:

    \\ server\ (Su ubicación de almacenamiento principal)\ Queue. 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 controlar 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, vaya al script de recuperación de PowerShell:

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

  2. Edite 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 StorageZones Controller. 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 en 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 eliminar el archivo.

  5. En la herramienta de administrador de ShareFile, vaya a Admin > 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 eliminar el archivo y después de cargarlo.

    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 contendrá los archivos restaurados y, a continuación, haga clic en Restaurar.

    El archivo se agrega a la cola de copia de seguridad 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 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 de PowerShell relacionados

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 los elementos o 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 grupoy especifique el usuario que desea 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óny, 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 Agregar argumentos, 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 StorageZones Controller. Por ejemplo: c:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery

Eliminar 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, edite 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 de servicio después de la actualización

En algunos escenarios de actualización, el valor DeletePeriod se establecerá en null en “FileDeleteService.exe.config”. Cuando se establece en null, el período de eliminación será de forma predeterminada 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 StorageZones Controller, edite 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 StorageZones Controller, el servicio de eliminación se ejecutará cada 8 horas para limpiar archivos y carpetas temporales. Para modificar el temporizador, edite el archivo FileDeleteService.exe.config en la siguiente ubicación:C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config