Descripción general de las instantáneas

En esta página, se describe qué es una instantánea, cómo funciona, algunos casos de uso comunes y prácticas recomendadas cuando se crean y usan instantáneas. Para aprender a crear y administrar instantáneas, y restablecer datos de Filestore a partir de una instantánea, consulta Conserva el estado de los datos con instantáneas.

¿Qué es una instantánea?

Una instantánea de Filestore es el estado preservado de los datos de tus archivos compartidos en el momento en que se crea la instantánea. La instancia mantiene el estado de los archivos que se modifican después de crear la instantánea. Si deseas restablecer un archivo en el estado preservado de la instantánea, puedes reemplazar el archivo actual por el archivo del directorio de instantáneas relevante.

Las instantáneas se almacenan dentro de la instancia de Filestore y son recursos secundarios de la instancia. No replican ningún dato ni consumen capacidad hasta que se modifican los datos en la instancia. Todas las instantáneas de una instancia comparten datos en común, lo que significa que la instancia conserva solo las diferencias entre las instantáneas.

Creación de instantáneas

Cada directorio de un recurso compartido de archivos contiene un directorio .snapshot oculto. Cada directorio .snapshot contiene las instantáneas de su directorio superior que creas, por ejemplo:

volume1/
│   genomics-file.txt
│
└───.snapshot
    │
    ├───snap1/
    │        genomics-file.txt
    │
    ├───snap2/
    │        genomics-file.txt
    │
    └───snap3/
             genomics-file.txt

Las instantáneas contienen una vista de solo lectura de todos los archivos y subdirectorios que existen dentro del directorio superior en el momento de la creación de la instantánea. Se conservan todos los atributos del archivo, como atime, ownership y los permisos de lectura y escritura.

La creación de instantáneas no suele tardar más de dos minutos en completarse, ya que no implica la copia de datos ni afecta el rendimiento de la instancia.

Puedes tener hasta 240 instantáneas por instancia a la vez. El nombre del archivo compartido y el de la instantánea pueden tener una longitud combinada de hasta 78 caracteres.

Coherencia de las instantáneas

Las instantáneas de Filestore tienen semánticas de coherencia de NFSv3. Antes de iniciar una instantánea, se incluye en la instantánea cualquier operación de escritura que la instancia de Filestore reconozca como escrita en el almacenamiento estable o que incluya un COMMIT confirmado en la copia de seguridad. Para obtener más información, consulta NFSv3 RFC-1813 sección 3.3.7.

Prepara tus archivos compartidos para obtener la mejor coherencia en instantáneas

La calidad de una instantánea depende de la capacidad de la aplicación para recuperarse de las instantáneas que se crean durante las cargas de trabajo de escritura con mucho contenido. En la mayoría de las situaciones, puedes crear instantáneas que tengan una buena coherencia, incluso mientras tus aplicaciones escriben datos en el archivo compartido. Sin embargo, si tus aplicaciones requieren una coherencia estricta, te recomendamos que realices una o más de las siguientes acciones:

  • Usa la opción de activación sync o abre archivos con el O_DIRECT|O_SYNC. Ambos métodos mejoran la coherencia, pero no lo garantizan.
  • Pausa las aplicaciones o los procesos del sistema operativo que escriben datos en archivos compartidos y hacen que limpien sus cambios en los archivos compartidos antes de iniciar la instantánea. Para obtener más información, consulta fsync(2).
  • Si tus aplicaciones requieren coherencia entre los recursos compartidos múltiples, pausa todas las aplicaciones en todas las instancias que escriben en todos los archivos compartidos y crea instantáneas de todos los archivos compartidos antes de reanudar las aplicaciones.
  • Si necesitas coherencia en la aplicación, detén tus aplicaciones y desactiva los archivos compartidos antes de crear una instantánea.

Semántica de NFS del directorio .snapshot

Los directorios .snapshot son directorios ocultos especiales que contienen las instantáneas tomadas para su directorio superior. Todos los comandos NFS y Bash funcionan para estos directorios con las siguientes excepciones:

  • No puedes crear un archivo o directorio llamado .snapshot porque está reservado para las instantáneas.
  • El directorio .snapshot no aparece en los resultados de los comandos READDIR o READDIRPLUS, ni en el comando bash ls -a.
  • Para cambiar a un directorio de .snapshot, debes escribir la string .snapshot de forma explícita. Ejemplo: cd somedir/.snapshot/
  • La función de autocompletar para los comandos de shell no mostrará .snapshot como opción.

Cómo borrar los archivos capturados en una instantánea

Cuando se captura un archivo en una instantánea, borrarlo no aumenta el espacio libre en el disco en tu instancia.

Revertir a un estado de instantánea

Revertir una instancia al estado de una instantánea tiene disponibilidad general solo para instancias zonales, de SSD de gran escala, regionales y empresariales.

Cuando una instancia se revierte al estado capturado en una instantánea, todos los datos nuevos que se escribieron desde la creación de la instantánea de destino se borran y no se pueden recuperar. El proceso de reversión también borra las instantáneas que se crean después de la instantánea de destino.

Limitaciones de las funciones

  • La función de reversión de instantáneas es una operación irreversible que borra los datos del sistema de archivos activo y borra todas las instantáneas posteriores más nuevas de la cadena. Por lo tanto, tiene un mayor riesgo de pérdida accidental de datos. Este comportamiento es muy diferente en comparación con el restablecimiento desde una copia de seguridad, en el que la copia de seguridad permanecerá en su estado actual después de su uso, lo que te permite intentar restablecer desde varias copias de seguridad para encontrar la mejor. Utiliza con cuidado la función de reversión.

  • Todos los datos escritos después de la creación de la instantánea de destino se borran al comienzo del proceso de reversión y no se pueden recuperar. También se borran todas las instantáneas más recientes que la instantánea de destino. Por ejemplo, snapshot1, snapshot2 y snapshot3 se crean de forma secuencial. Revertir la instancia al estado capturado en snapshot2 significa que, en el proceso de reversión, se borran todos los datos escritos después de snapshot2, así como todas las instantáneas tomadas después de la creación de snapshot2.

    La limpieza de estos datos borrados puede tardar entre seis horas y diez días. La capacidad y el rendimiento de la instancia pueden verse afectados durante este tiempo.

  • Cuando se revierte una instancia al estado de una instantánea, se actualiza el ID del sistema de archivos NFS (fsid). Los intentos de acceder a los clientes con activaciones existentes mostrarán errores de controlador de archivos inactivos. Como práctica recomendada, desactiva todos los clientes de la instancia antes de la operación de reversión y vuelve a activarlos una vez que se complete.

  • Una operación de reversión puede tardar hasta dos minutos en completarse.

    • Cualquier limpieza relacionada asociada con la operación de reversión, como la eliminación de instantáneas posteriores de la cadena, puede tardar entre seis horas y diez días en completarse, según la cantidad de archivos involucrados.
    • Puedes ejecutar otras operaciones mientras se ejecuta la operación de reversión y mientras se completa la limpieza.
    • Debes esperar a que se complete la operación de reversión antes de iniciar otra.
  • Las instantáneas y sus operaciones revert relacionadas están disponibles para la mayoría de los niveles de servicio. Las instantáneas no están disponibles en los niveles de servicio básico de SSD y HDD básico.

  • Solo las instancias con un solo uso compartido pueden revertir al estado de una instantánea.

  • Si bien las instantáneas son compatibles con el nivel de servicio empresarial, no se pueden combinar con la función de uso compartido múltiple de Filestore.

¿Qué sigue?