Prácticas recomendadas para las instantáneas de discos persistentes


Las instantáneas de discos persistentes se pueden crear en cualquier momento, pero las crearás con mayor rapidez y confiabilidad si usas las siguientes prácticas recomendadas.

Antes de comenzar

Prepara el disco persistente para obtener una mayor coherencia en las instantáneas

Si creas una instantánea de tu disco persistente mientras se ejecuta la aplicación, puede que la instantánea no capture las operaciones de escritura pendientes que están en tránsito desde la memoria hasta el disco. Debido a estas incoherencias, es posible que la instantánea no refleje el estado exacto de tu aplicación en el momento en que capturaste la instantánea. En esta situación, la instantánea se considera coherente frente a fallas porque captura el estado de la aplicación como si la máquina fallara en el momento en que se tomó la instantánea.

De manera opcional, puedes pausar la aplicación para que todas sus transacciones se completen y el sistema pueda limpiar todas las operaciones de escritura pendientes de la memoria en el disco antes de que se capture la instantánea. En esta situación, la instantánea se considera coherente en la aplicación.

Crea instantáneas coherentes frente a fallas

Cuando tomas una instantánea de un disco persistente, no necesitas realizar ningún paso adicional para que esta sea coherente frente a fallas. En particular, no necesitas pausar tu carga de trabajo.

Si tu carga de trabajo no puede tolerar una pausa temporal, considera el siguiente proceso para crear instantáneas coherentes frente a fallas:

  1. Captura una instantánea mientras se ejecutan las aplicaciones y supón que habrá algunas incoherencias de datos de aplicación.
  2. Verifica que puedes restablecer tu carga de trabajo a un estado de aplicación aceptable desde la instantánea.
  3. Según los resultados del paso anterior, conserva o borra la instantánea.

Es probable que las instantáneas coherentes frente a fallas requieran volver a reproducir el sistema de archivos y las revistas de nivel de aplicación antes de su uso. Por lo tanto, la calidad de la instantánea depende de la capacidad de tu aplicación para recuperarse rápidamente de un estado coherente frente a fallas.

Crea instantáneas coherentes con la aplicación

  • Usuarios de Windows Server: Para los discos persistentes que están conectados a instancias de Windows Server, usa instantáneas de VSS.
  • Usuarios de Linux: A fin de lograr la coherencia de la aplicación para las instantáneas de los discos conectados a instancias de Linux, crea secuencias de comandos de shell anteriores y posteriores a la instantánea a fin de preparar el sistema para la coherencia de la aplicación. Luego, crea una instantánea con la opción guest-flush habilitada. Esto ejecuta las secuencias de comandos previas y posteriores antes de capturar la instantánea. Para obtener instrucciones, consulta Crea instantáneas coherentes con las aplicaciones de Linux.

Crea manualmente instantáneas coherentes con la aplicación

En algunas situaciones, es posible que debas pausar de forma manual tus aplicaciones para obtener instantáneas coherentes con la aplicación.

Por ejemplo, usa esta opción si necesitas coherencia con la aplicación entre varios discos persistentes. En este caso, debes inmovilizar todos los sistemas de archivos en cada disco y completar todas las instantáneas de esos discos antes de reanudar las apps.

No necesitas detener las instancias de VM. La pausa de la aplicación puede involucrar, por ejemplo, inmovilizar y desactivar el sistema de archivos. Después de pausar tus aplicaciones, reanuda las cargas de trabajo solo después de que el recurso de la instantánea alcance el estado UPLOADING.

Cuando solicites una instantánea, verifica el estado de la operación mediante una llamada al método globalOperations.get. En la siguiente tabla, se muestra la relación entre el estado de la operación de la instantánea y el estado del recurso de la instantánea.

Estado de la operación Estado de los recursos de las instantáneas
PENDING Aún no existe un recurso de instantánea.
RUNNING CREATING o UPLOADING

CREATING: Aún no se han terminado de crear las instantáneas.
UPLOADING: Se creó la instantánea, pero aún no se ha guardado en Cloud Storage.
DONE FAILED o READY.

Límites de frecuencia de las instantáneas

Crea instantáneas a partir de discos persistentes

Puedes generar instantáneas de tus discos una vez cada 10 minutos, como máximo. Si deseas generar una ráfaga de solicitudes para crear una instantánea del disco, puedes emitir como máximo 6 solicitudes en 60 minutos.

Si se excede el límite, la operación falla y se muestra el siguiente error:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/zones/zone-id/disks/disk-name'. Too frequent operations from the source resource."

Este límite se aplica a las siguientes operaciones:

Este límite no se aplica a las siguientes operaciones:

Como práctica recomendada, toma una instantánea del disco una vez por hora. Evita tomar instantáneas con mayor frecuencia. La forma más fácil de lograrlo es configurar una programación de instantáneas.

Crea discos persistentes zonales nuevos a partir de instantáneas

Puedes crear un disco persistente zonal nuevo a partir de una instantánea determinada una vez cada diez minutos. La zona de destino hace referencia a la ubicación de almacenamiento del disco persistente nuevo creado a partir de la instantánea. Google no garantiza que puedas crear discos a partir de una instantánea a una velocidad mayor, aunque es posible que puedas crear discos con mayor frecuencia si no creaste discos a partir de la instantánea en la última hora.

Ten en cuenta que varias instantáneas de los mismos discos persistentes se consideran instantáneas distintas con respecto a este límite de frecuencia.

Si se excede este límite, la operación falla y se muestra el siguiente error:

"code": "RESOURCE_OPERATION_RATE_EXCEEDED",
"message": "Operation rate exceeded for resource 'projects/project-id/zones/zone-id/disks/disk-name'. Too frequent operations from the source resource."

Este límite se aplica a las siguientes operaciones:

Este límite no se aplica a las siguientes operaciones:

En lugar de restablecer varias veces una instantánea en la misma zona para crear muchos discos persistentes, ahorra tiempo y costos de red mediante la creación de una imagen a partir de la instantánea y úsala para crear tus discos:

  1. Crea una imagen a partir de la instantánea
  2. Crea discos persistentes a partir de la imagen. En Google Cloud Console, selecciona Imagen como el Tipo de fuente del disco. Con la herramienta de gcloud, usa la marca image. En la API, usa el parámetro sourceImage.

Usa las instantáneas existentes como modelo de referencia para las instantáneas posteriores

Si tienes instantáneas existentes de un disco persistente, el sistema las usará de forma automática como modelo de referencia para cualquier instantánea posterior que crees desde ese mismo disco.

  • Crea una instantánea nueva desde un disco persistente antes de borrar la instantánea anterior del mismo disco persistente. El sistema puede crear la instantánea más rápido si puede usar la instantánea anterior y leer únicamente los datos nuevos o modificados del disco persistente.
  • Espera a que finalicen las instantáneas nuevas antes de tomar más instantáneas del mismo disco persistente. Si ejecutas dos instantáneas en simultáneo en el mismo disco persistente, ambas comenzarán desde el mismo modelo de referencia y duplicarán el esfuerzo. Si esperas hasta que la instantánea nueva finalice, las instantáneas posteriores se ejecutarán más rápido, ya que solo obtienen los datos que cambiaron desde que finalizó la última instantánea.

Programa instantáneas durante las horas de menor demanda

Si programas instantáneas habituales para tus discos persistentes, puedes reducir el tiempo que se tarda en completar cada instantánea si las creas durante las horas de menor demanda, siempre que sea posible.

  • Programa instantáneas automáticas durante el día hábil en la zona en la que se encuentra tu disco persistente. Por lo general, la creación de instantáneas alcanza su punto máximo de demanda al final del día hábil.
  • Programa instantáneas automáticas a primera hora de la mañana en la zona en la que se encuentra tu disco persistente, en lugar de hacerlo de inmediato a la medianoche. Por lo general, la creación de instantáneas alcanza su punto máximo de demanda a la medianoche.

Organiza tus datos en discos persistentes distintos

Si creas una instantánea de un disco persistente, los datos que almacenes en el disco se incluirán en la instantánea. Las cantidades grandes de datos crean instantáneas más grandes, que cuestan más y toman más tiempo en crearse. Si quieres asegurarte de crear una instantánea con solo los datos que necesitas, organiza tus datos en discos persistentes distintos.

  • Almacena datos críticos en un disco persistente secundario en lugar de en tu disco de arranque. Esto te permite crear una instantánea de tus discos de arranque solo cuando sea necesario o con menos frecuencia.
  • Si creas instantáneas de tus discos de arranque, almacena las particiones de intercambio, los archivos de paginación, los archivos de caché y los registros no críticos en un disco persistente distinto. Estos archivos y particiones cambian con frecuencia y es probable que el proceso de instantánea los identifique como datos modificados que deben incluirse en una instantánea incremental.
  • Puedes reducir la cantidad de instantáneas que necesitas crear si mantienes juntos datos similares en un disco persistente. Mantén tu sistema operativo y los datos volátiles separados de los datos de aquellos datos de los que quieres obtener una instantánea, pero no es necesario que distribuyas tus datos críticos en varios discos persistentes como lo harías con una máquina física. Un disco persistente grande puede lograr el mismo rendimiento que varios discos persistentes más pequeños del mismo tamaño total.

Habilita la opción discard o ejecuta fstrim en tu disco persistente

En las instancias de Linux, si no formateaste ni activaste el disco persistente con la opción para descartar, ejecuta el comando fstrim en la instancia antes de crear una instantánea. El comando quita los bloques que el sistema de archivos ya no necesita, de modo que el sistema puede crear la instantánea con más rapidez y con un tamaño más pequeño. Si quieres aprender a configurar la opción para descartar en los discos persistentes, consulta cómo formatear y activar un disco persistente.

Crea una imagen de una instantánea de uso frecuente

Si usas una instantánea repetidas veces en la misma zona para crear un disco persistente, puedes ahorrar costos de red mediante la creación de una imagen de esa instantánea después de haberla usado. Almacena esta imagen y úsala para crear tu disco y, además, iniciar una instancia de VM. Si quieres obtener instrucciones, consulta la sección para crear una imagen personalizada.

Como práctica recomendada, toma una instantánea del disco una vez por hora. Evita tomar instantáneas con mayor frecuencia. La forma más fácil de lograrlo es configurar una programación de instantáneas.

Otras prácticas recomendadas

  • Usa los sistemas de archivos de registro diario, como ext4, para reducir el riesgo de que los datos se almacenen en caché sin escribirse en el disco persistente.
  • Crea una instantánea de tus datos de forma periódica para minimizar la pérdida de datos debido a una falla inesperada.

¿Qué sigue?