Descripción general de las instantáneas

En esta página, se describe qué es una instantánea, cómo funciona y se analizan las limitaciones y las prácticas recomendadas.

Para ver cómo usar las instantáneas, consulta las siguientes guías:

¿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.

Si bien las instantáneas ofrecen eficiencia en cuanto a costos en comparación con otras operaciones de recuperación de datos de Filestore, la capacidad disponible de la instancia disminuye de forma continua a medida que se realizan modificaciones en los archivos.

Niveles admitidos

En la siguiente tabla, se muestran los niveles de servicio de Filestore que admiten instantáneas y la operación revert instance:

Nivel Crear instantánea Cómo revertir una instancia
HDD básico No No
SSD básico No No
Zonal
Regional
Enterprise

Las instantáneas y las operaciones relacionadas con revert también se admiten en el nivel de servicio de SSD de alta escala disponible anteriormente.

Si bien las instantáneas son compatibles con el nivel de servicio empresarial, no se pueden combinar con la función de recursos compartidos de Filestore.

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 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, borrarlo no aumenta el espacio libre en disco de la instancia.

Cómo volver a un estado de instantánea

La reversión de una instancia a un estado de instantánea tiene disponibilidad general solo para instancias zonales, regionales y empresariales.

Cuando se revierte una instancia 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 creadas después de la instantánea de destino.

Limitaciones de las funciones

  • La función para revertir instantáneas es una operación irreversible que borra datos del sistema de archivos activo y borra cada instantánea posterior y más reciente de la cadena. Por lo tanto, tiene un mayor riesgo de pérdida accidental de datos. Este comportamiento es significativamente 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 permitirá intentar restablecer desde varias copias de seguridad para encontrar la mejor. Usa la función para revertir con cuidado.

  • 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. Si reviertes la instancia al estado capturado en snapshot2, se borrarán 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 período.

  • Cuando se revierte una instancia a un estado de instantánea, se actualiza el ID del sistema de archivos NFS (fsid). Los intentos de acceder a los clientes con puntos de montaje existentes mostrarán errores de identificador de archivo desactualizado. Como práctica recomendada, desmonta todos los clientes de la instancia antes de la operación de reversión y vuelve a montarlos después de que se complete.

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

    • Cualquier limpieza relacionada con la operación de reversión, como borrar instantáneas posteriores en 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 comenzar 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 de SSD básico y HDD básico.

  • Solo las instancias con un solo recurso compartido pueden volver a un estado de instantánea.

  • Si bien las instantáneas son compatibles con el nivel de servicio empresarial, no se pueden combinar con la función de recursos compartidos de Filestore.

¿Qué sigue?