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:

foo/
│   bar.txt
│
└───.snapshot
    │
    ├───snap1/
    │        bar.txt
    │
    ├───snap2/
    │        bar.txt
    │
    └───snap3/
             bar.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 nombre 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 tu archivo compartido para obtener la mejor coherencia de 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 de sync o abre archivos con 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/
  • Autocompletar los comandos de shell no mostrará .snapshot como opción.

Cómo borrar archivos que se capturan en una instantánea

Cuando se captura un archivo en una instantánea, su eliminación no aumenta el espacio libre en el disco de tu instancia.

Cómo volver a un estado de instantánea

Cuando una instancia se revierte al estado capturado en una instantánea, se borran todos los datos nuevos escritos desde la creación de la instantánea de destino 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.

¿Qué sigue?