Bonnes pratiques pour les instantanés de disques persistants


Vous pouvez créer des instantanés de disque persistant à tout moment, mais l'opération sera plus rapide et plus fiable si vous appliquez les bonnes pratiques suivantes.

Avant de commencer

Préparer des instantanés cohérents

Si vous créez un instantané de votre disque persistant alors que votre application est en cours d'exécution, il est possible que l'instantané ne capture pas les écritures en attente qui sont en transit de la mémoire vers le disque. En raison de ces incohérences, il est possible que l'instantané ne reflète pas l'état exact de votre application au moment de sa capture. Dans ce scénario, l'instantané est considéré comme cohérent avec les plantages, car il enregistre l'état de l'application comme si la machine avait planté au moment de l'instantané.

Vous pouvez également choisir de suspendre l'application avant la capture de l'instantané, afin que toutes les transactions d'application soient terminées et que le système puisse vider toutes les écritures en attente de la mémoire vers le disque. Dans ce scénario, l'instantané est considéré comme cohérent avec l'application.

Créer des instantanés cohérents avec les plantages

Lorsque vous capturez un instantané d'un disque persistant, aucune action supplémentaire n'est requise de votre part pour rendre votre instantané cohérent avec les plantages. En particulier, vous n'avez pas besoin de suspendre votre charge de travail.

Si votre charge de travail ne peut pas tolérer une mise en pause temporaire, procédez comme suit pour créer des instantanés cohérents avec les plantages :

  1. Capturez un instantané tandis que les applications sont en cours d'exécution, en partant du principe qu'il y aura certaines incohérences au niveau des données de l'application.
  2. Vérifiez que vous pouvez restaurer votre charge de travail dans un état d'application acceptable à partir de l'instantané.
  3. Selon le résultat de l'étape précédente, conservez ou supprimez l'instantané.

Les instantanés cohérents avec les plantages nécessiteront probablement une relecture des journaux du système de fichiers et des journaux au niveau de l'application avant toute utilisation. Ainsi, la qualité de votre instantané dépend de la capacité de l'application à se remettre rapidement en état de diffuser à partir d'un état cohérent avec les plantages.

Créer des instantanés cohérents avec les applications

Créer manuellement des instantanés cohérents avec les applications

Dans certains scénarios, vous pouvez être amené à mettre en pause manuellement vos applications pour obtenir des instantanés cohérents avec les applications.

Par exemple, utilisez cette option si vos applications doivent rester cohérentes entre plusieurs disques persistants. Dans ce cas, vous devez geler tous les systèmes de fichiers sur chaque disque et effectuer tous les instantanés pour ces disques avant de pouvoir réactiver vos applications.

Vous n'avez pas besoin d'arrêter vos instances de VM. La mise en pause de l'application peut, par exemple, geler et désinstaller votre système de fichiers. Une fois que vous avez mis en pause vos applications, attendez que la ressource d'instantané passe à l'état UPLOADING pour réactiver vos charges de travail.

Lorsque vous demandez un instantané, vous pouvez vérifier l'état de l'opération en appelant la méthode globalOperations.get. Le tableau suivant montre la relation entre l'état de l'opération de capture d'instantané et l'état de la ressource d'instantané.

État de l'opération État de la ressource d'instantané
PENDING Il n'existe pas encore de ressource d'instantané.
RUNNING CREATING ou UPLOADING

CREATING : la création de l'instantané n'est pas encore terminée.
UPLOADING : l'instantané a bien été créé, mais il n'est pas encore enregistré dans Cloud Storage.
DONE FAILED ou READY.

Limites de fréquence des instantanés

Créer des instantanés à partir de disques persistants

Vous pouvez créer un instantané de vos disques au maximum toutes les 10 minutes. Ainsi, si vous souhaitez émettre une salve de requêtes pour créer des instantanés de vos disques, vous ne pourrez pas émettre plus de six requêtes en 60 minutes.

Si la limite est dépassée, l'opération échoue et renvoie l'erreur suivante :

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

Cette limite s'applique aux opérations suivantes :

Cette limite ne s'applique pas aux opérations suivantes :

Il est recommandé de créer un instantané du disque une fois par heure. Évitez de créer des instantanés plus souvent. Pour ce faire, la méthode la plus simple consiste à configurer une programmation d'instantanés.

Créer des disques persistants zonaux à partir d'instantanés

Vous pouvez créer un disque persistant zonal à partir d'un instantané par zone cible, au maximum une fois toutes les dix minutes. La zone cible fait référence à l'emplacement de stockage du disque persistant créé à partir de l'instantané. Vous pourrez peut-être créer des disques à partir d'un instantané à une cadence plus élevée, si vous n'en avez pas créé à partir de l'instantané au cours de la dernière heure. Google n'apporte cependant aucune garantie sur ce point.

Notez que plusieurs instantanés des mêmes disques persistants sont considérés comme des instantanés distincts, dans le contexte de cette limite de fréquence.

Si cette limite est dépassée, l'opération échoue et renvoie l'erreur suivante :

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

Cette limite s'applique aux opérations suivantes :

Cette limite ne s'applique pas aux opérations suivantes :

Plutôt que de restaurer plusieurs fois un instantané dans la même zone afin de créer de nombreux disques persistants, économisez du temps et des coûts de mise en réseau en créant une image à partir de l'instantané et utilisez-la à la place :

  1. Créez une image à partir de l'instantané.
  2. Créez des disques persistants à partir de l'image. Dans Google Cloud Console, sélectionnez Image comme Type de source du disque. Avec l'outil gcloud, utilisez l'option image. Dans l'API, utilisez le paramètre sourceImage.

Utiliser des instantanés existants comme référence pour les instantanés suivants

Le système utilise automatiquement les instantanés existant déjà sur un disque persistant comme référence pour tous les instantanés ultérieurs que vous créez à partir de ce même disque.

  • Créez un instantané à partir d'un disque persistant avant de supprimer l'instantané précédent de ce même disque persistant. Le système crée le nouvel instantané plus rapidement s'il peut utiliser l'instantané précédent et se limiter à lire les données nouvelles ou modifiées du disque persistant.
  • Attendez la fin de l'exécution des nouveaux instantanés avant de créer les instantanés suivants à partir du même disque persistant. Si vous exécutez deux instantanés simultanément sur le même disque persistant, ils démarrent tous deux à partir de la même référence, et l'effort est redondant. Si vous attendez la fin du nouvel instantané, tous les instantanés suivants s'exécutent plus rapidement, car ils ne doivent obtenir que les données modifiées depuis la fin du dernier instantané.

Programmer des instantanés pendant les heures creuses

Si vous planifiez des instantanés réguliers pour vos disques persistants, vous pouvez réduire le temps nécessaire pour finaliser chaque instantané en les créant pendant les heures creuses, si possible.

  • Planifiez des instantanés automatisés pendant les jours ouvrables dans la zone où se trouve votre disque persistant. La création d'instantanés atteint généralement un pic en fin de journée.
  • Programmez des instantanés automatisés tôt le matin plutôt qu'à minuit dans la zone où se trouve votre disque persistant. La création d'instantanés atteint généralement un pic à minuit.

Organiser vos données sur des disques persistants distincts

Si vous créez un instantané à partir d'un disque persistant, toutes les données stockées sur le disque seront incluses dans l'instantané. De plus grandes quantités de données créent de plus grands instantanés, qui coûtent plus cher et sont plus longs à créer. Pour créer un instantané contenant exclusivement les données dont vous avez besoin, organisez vos données sur des disques persistants distincts.

  • Stockez les données critiques sur un disque persistant secondaire plutôt que sur votre disque de démarrage. Cela vous permet de créer un instantané de vos disques de démarrage seulement en cas de nécessité ou selon une programmation moins fréquente.
  • Si vous créez des instantanés de vos disques de démarrage, stockez les partitions d'échange, les fichiers de page, les fichiers de cache et les journaux non critiques sur un disque persistant distinct. Ces fichiers et partitions changent fréquemment, et le processus de création d'instantanés est susceptible de les identifier en tant que données modifiées à inclure dans un instantané incrémentiel.
  • Réduisez le nombre d'instantanés à créer en conservant les données similaires sur un même disque persistant. Veillez à garder votre système d'exploitation et vos données volatiles séparés des données que vous souhaitez capturer dans vos instantanés. En revanche, il n'est pas nécessaire de répartir vos données critiques sur plusieurs disques persistants, comme vous le feriez dans le cas d'une machine physique. Un disque persistant volumineux peut atteindre les mêmes performances que plusieurs petits disques persistants totalisant la même capacité.

Activer l'option discard ou exécuter fstrim sur votre disque persistant

Sur les instances Linux, si vous n'avez pas formaté et installé votre disque persistant avec l'option "discard", exécutez la commande fstrim sur l'instance avant de créer un instantané. La commande supprime les blocs dont le système de fichiers n'a plus besoin pour que le système puisse créer l'instantané plus rapidement et en réduire la taille. Pour savoir comment configurer l'option "discard" sur vos disques persistants, consultez la section Formater et installer un disque persistant.

Créer une image d'un instantané fréquemment utilisé

Si vous utilisez régulièrement un instantané dans la même zone pour créer un disque persistant, économisez les coûts de réseau en utilisant l'instantané une fois et en créant une image de cet instantané. Stockez cette image et utilisez-la pour créer votre disque et démarrer une instance de VM. Pour obtenir des instructions, consultez la section Créer une image personnalisée.

Il est recommandé de créer un instantané du disque une fois par heure. Évitez de créer des instantanés plus souvent. Pour ce faire, la méthode la plus simple consiste à configurer une programmation d'instantanés.

Bonnes pratiques complémentaires

  • Utilisez des systèmes de fichiers journalisés comme ext4 pour réduire le risque de mise en cache des données sans qu'elles soient réellement écrites sur le disque persistant.
  • Créez un instantané de vos données en utilisant une programmation régulière afin de minimiser la perte de données due à une défaillance inattendue.

Étape suivante